// PascalABC.NET 3.3, сборка 1579 от 18.11.2017// Внимание! Если программа не работает, обновите версию!begin Writeln('Введите начальную скорость снаряда, расстояние до стены, высоту стены'); var (v,S,h):=ReadReal3; var A:=ReadReal('Введите угол наклона ствола пушки'); if v<=0 then begin Writeln('Скорость должна быть положительной'); Exit end; if v>1000 then begin Writeln('Скорость слишком велика'); Exit end; if S<=0 then begin Writeln('Расстояние должно быть положительным'); Exit end; if h<=0 then begin Writeln('Высота стены должна быть положительной'); Exit end; if A<=0 then begin Writeln('Пушка не должна стрелять в землю'); Exit end; if A>=pi/2 then begin Writeln('Пушка направлена не в сторону стены'); Exit end; var L:=S*Tan(A)-9.81*S/(2*v*v*Sqr(Cos(A))); if L>h then begin Writeln('Снаряд не попал в стену...'); Exit end; if L<0 then Writeln('Снаряд не попал в стену...') else Writeln('Попал!!!')end.
ПримерВведите начальную скорость снаряда, расстояние до стены, высоту стены300 500 8.5Введите угол наклона ствола пушки 0.2Снаряд не попал в стену...