Question: I've got an assignment to make some kind of alarm. When user presses the push button, 1kHz sound should be generated and outputted on some kind of speaker (I'll use buzzer). 

That part I know how to make. I can use NE 555 to make astable to generate 1kHz output. But other part of the assignment is the problem. Is says that duty cycle should change from 50% to 0% while user is holding the push button ... I don't even have an idea what to try ...

EDIT: Duty cycle should decay from 50% to 0%.

Answer: 
Is the duty cycle supposed to switch from 50% to 0%, or decay from 50% to 0%? Is there any particular precision required on the 50%? Is there any requirement regarding quiescent current?

I would suggest that you start by using a 555 or similar chip to generate a symmetrical sawtooth-ish (doesn't have to have straight sides) wave, and then feed that into one side of a comparator. The other side of the comparator should be connected to a circuit which will generate a voltage that will start at half-rail when the button is first pushed, but will either rise toward VDD or fall toward ground after that. If you can use a SPDT pushbutton, a simple realization of such a circuit would be to connect the center pole of the button to a cap whose other leg is ground. Connect the normally-closed contact to VDD, and the normally-open contact to the comparator input. Connect a resistor from that comparator input to ground.

Conceptually, it would be nice if a single active device could be used to provide the output, without needing the separate comparator. It's possible for the 555 to provide an output whose duty cycle will be affected by an input voltage. Unfortunately, the frequency will also be affected by the input voltage; I'm not sure of any easy way to make a compensated circuit such that the decrease in high time will be balanced by an increase in the low time so as to yield a reasonably-constant frequency (as opposed to having a device generate a 1Khz reference signal which is then shaped by a second active device). A two-chip circuit doesn't seem unreasonable, though.

[Here](http://falstad.com/circuit/#%24+1+1.0E-6+10.20027730826997+50+5.0+50%0AR+352+224+304+224+0+3+1000.0+1.5+2.5+0.0+0.5%0Aa+352+208+448+208+1+15.0+-15.0+1000000.0%0Aw+352+192+240+192+0%0A172+240+192+192+192+0+6+2.45+5.0+0.0+0.0+0.5+Voltage%0Aw+352+224+352+256+0%0Aw+352+256+464+256+0%0Aw+448+208+464+208+0%0Ao+5+32+0+35+5.0+9.765625E-5+0+-1%0Ao+6+32+0+35+20.0+9.765625E-5+0+-1%0A)'s a simple circuit which will illustrate the concept. For simulation purposes, it uses an op amp, but a comparator would work just as well. One slight note: many comparators ground the output when the + input is higher than the - input, so the polarity would be opposite that of an op amp.
Have you considered multiple 555 timers? The first setting the variable duty cycle as an input to the 1khz generator?