program oskolok2;
label m4;
var u0,a,d,q,ux,uy, aa, u, ax, ay,
x, y, x1, Ktrn, delt, Vs, a1, ksi, Ge:real;
begin
m4:
write(' nach skorost U0=');
read(u0); if u0=0 then halt;
write(' razmer oskolka (mm) d=');read(d);
write(' udelnaya plotnost oskolka q=');read(q);
write(' vysota VU (m) '); read(Vs);
a:=0; delt:=0.0001; Ktrn:=1.29; Ge:=9.8;
x1:=0; x:=0; ksi:=(d*d*d*Pi/6)*/14.8*q;
while x1<=x do
begin
x1:=x;
aa:=a/180*Pi; ux:=u0*cos(aa); uy:=u0*sin(aa);
x:=0; y:=0;
repeat
x:=x+ux*delt; y:=y+uy*delt;
u:=sqrt(ux*ux+uy*uy);
a1:=-Ktrn*u*u/ksi;
ax:=ux*a1/u;
ux:=ux+ax*delt;
ay:=uy*a1/u-Ge;
uy:=uy+ay*delt;
until not (y>(-Vs));
{writeln(a:2:3,' ', x:2:3,' ', sqrt(ux*ux+uy*uy):2:2); }
a:=a+1;
end;
write( ' rasstoyanie ',x:2:2,'metrov ');
writeln(' na skorosti ',u:2:2,'m/s');
goto m4;
end.
Программа для расчёта максимального разлёта осколков. Прога взята с экспа.
https://www.exploders.us/forum/6/23163.html
Прогу хорошо переделал а то совсем стиль быдлокодерский блин, да и не правильная совсем.