Ślad: • 07_zad_rzut

Zadanie - Rzut ukośny

Writing /home/grochu/public_html/wiki/data/meta/zajecia/pp1/zadania/07_zad_rzut.meta failed
Unable to save metadata file. Hint: disk full; file permissions; safe_mode setting.
Creating directory /home/grochu/public_html/wiki/data/attic/zajecia/pp1/zadania failed
Writing /home/grochu/public_html/wiki/data/attic/zajecia/pp1/zadania/07_zad_rzut.1683646019.txt.gz failed

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:

  1. wartość $v_0$ określająca prędkość obiektu w chwili $t=0$
  2. wartość $\alpha$ określająca kąt w radianach pod jakim rzucono obiekt
  3. wartość czasu $t$
  4. adres zmiennej x, do której funkcja wstawi wartość położenia obiektu $x(t)$ w chwili $t$
  5. 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