Определить точку, в которой снаряд уйдет под землю - PascalABC.NET
Формулировка задачи:
Траектория снаряда, вылетающего из орудия под углом с начальной скоростью описывается уравнением . С точностью определить точку, в которой снаряд "уйдет под землю". Задачу решить при ; км/час; .
Решение задачи: «Определить точку, в которой снаряд уйдет под землю»
textual
Листинг программы
const g=9.8;//ускорение свободного падения обозначают буквй g, а не q
//и измеряют в м/сек^2, а не в i/n^2
var a,v0,dx,x,y:real;
begin
a:=pi/3;//нормальные люди не пишут 2pi/6
v0:=35*1000/3600;//переведем км/час в м/сек
dx:=2*a;
x:=0;
y:=0;
repeat
y:=x*tan(a)-g*x*x/(2*sqr(v0)*sqr(cos(a)));
x:=x+dx;
until y<0;
writeln('x=',x:0:2,' y=',y:0:2);
end.
Объяснение кода листинга программы
- Объявлены переменные: a, v0, dx, x, y (строки 5-7)
- В строке 8 устанавливается значение переменной a равное pi/3
- В строке 9 устанавливается значение переменной v0 равное 35*1000/3600
- В строке 10 вычисляется значение переменной dx равное 2*a
- В строках 11 и 12 устанавливаются начальные значения переменных x и y равные 0
- В строке 13 начинается цикл while, который выполняется до тех пор, пока значение переменной y не станет меньше нуля
- В строке 14 вычисляется значение переменной y как xtan(a)-gxx/(2sqr(v0)*sqr(cos(a)))
- В строке 15 значение переменной x увеличивается на dx
- В строке 16 выводится сообщение с текущими значениями переменных x и y
- По завершении цикла while, выводится сообщение с последними значениями переменных x и y (строка 21)