A1A Semestr IIMnformatyka ll\Wykład\,
treningowe II (J. K ?>k i <-• k i i
\2).cpp 1
//Deklaracje preprocesora Hinclude <stdio.h> ftinclude <matłi.h>
double Pl-4*atan<l.);
double alfa-45'PI/l80;
double m=10;
double d-0.01;
double v0-100;
double g 9.81;
double ro-1.2S5;
double Cd-0.4;
double B“ro*PI*d*d*Cd/8;
//Deklaracje tunkcji
voad wektor?(double t,double y[],doub1e f[ll«
void vrk4I double xG, double yó;;, double h, lnt n, void '*fun; (double, double*, douhb ‘ ✓
double yi[I );
//funkcja niain void mainlH
double y(4),yl(4],t,L; double h-0.01;
//Warunki początkowe t-0;
y(01=0;
y{l|-vO*eoałalfa)f
y(2}-0;
yi3]=v0*sinłalfa);
//CałkowanLe while(y[2]>=01l
vrV.4 (t, y,h, 4, wektorF, yl i ;
ylOJ-yltOJ;
ylU-yl(l]7
y[21=yll2Jj
y[3]-yl(3J;
t°t+h;
l,alfa*180/PI,yl0| 1 ;
■,alfa*160/Pl);
>
printt("Zasięg dla vO-v.!łf wynosi L.i *.1lfI-i.21fSn' L-ylO]; y[0]=0; alfn-0,-
while(y(0j<L/2)( alta-alfa+h;
y(0|-0;
y{lj‘v0*cos(alfa);
V12 J - 0 ;
y[JJ'vO*sinłalIa);
while(y[2]>=0)I
vrk4<t,y,h,4,wektorF,yll yl01-yll0|; ylll-yllU; y[2]-yl|2]; yt3J-yll3J;
dla ktorego zasięg wynosi L/2 wynosi
void we kt.orF( double t, double yl i,double fUH f 101-ylU;
f[ll—B/^n*ym'3qrt<y;1]*ytl}*y[3j*y^3)>;
r(31—g-B/m*y{3]*sqrt(yll]*yll]+y|3i*yC3]);