Zadanie - Rzut ukośny
Napisz funkcję o nazwie rzut(), która wyznacza położenie $(x(t), y(t))$ oraz prędkość $v_y(t)$ w chwili $t$ obiektu rzuconego z prędkością początkową $v_0$ pod kątem $\alpha$.
Funkcja powinna spełniać poniższą specyfikację.
Argumenty funkcji: funkcja posiada 5 argumentów:
- wartość $v_0$ określająca prędkość obiektu w chwili $t=0$
- wartość $\alpha$ określająca kąt w radianach pod jakim rzucono obiekt
- wartość czasu $t$
- adres zmiennej
x, do której funkcja wstawi wartość położenia obiektu $x(t)$ w chwili $t$ - adres zmiennej
y, do której funkcja wstawi wartość wysokości obiektu $y(t)$ w chwili $t$
Wartość zwracana: funkcja zwraca wartość prędkości chwilowej w kierunku pionowym $v_y(t)$ w chwili $t$.
Położenie $(x(t), y(t))$ obiektu po czasie $t$ dane jest wzorem $$ x(t) = v_0 t \cos{\alpha} $$ $$ y(t) = v_0 t \sin{\alpha} - \frac{gt^2}{2}$$
Prędkość chwilowa w kierunku pionowym $v_y(t)$ po czasie $t$ wynosi $$ v_y(t) = v_0 \sin{\alpha} - g t$$
gdzie $g$ oznacza przyspieszenie ziemskie. Przyjmij $g=9.8 \frac{m}{s}$.
Napisz program, który wykorzysta funkcję rzut() do wypisania położenia oraz prędkości rzuconego obiektu w kolejnych momentach rzutu ukośnego. Po uruchomieniu program pobiera od użytkownika następujące dane: prędkość początkową $v_0$, kąt rzutu $\alpha$ oraz wielkość kroku czasowego $\Delta t$.
Następnie program wypisuje w kolejnych liniach położenie obiektu oraz prędkość w kolejnych odstępach czasu $\Delta t$, począwszy od momentu startu $t=0$ aż do momentu upadku przedmiotu, tzn. dopóki $y(t) > 0$.
Przykładowy wynik działania programu:
predkosc poczatkowa: 42 kat rzutu: 0.8 krok czasu: 0.5 t x y v 0.00 0.00 0.00 30.13 0.50 14.63 13.84 25.23 1.00 29.26 25.23 20.33 1.50 43.89 34.17 15.43 2.00 58.52 40.66 10.53 2.50 73.15 44.70 5.63 3.00 87.79 46.29 0.73 3.50 102.42 45.43 -4.17 4.00 117.05 42.12 -9.07 4.50 131.68 36.36 -13.97 5.00 146.31 28.14 -18.87 5.50 160.94 17.48 -23.77 6.00 175.57 4.37 -28.67
