Задача про камень - Turbo Pascal
Формулировка задачи:
Если камень бросить горизонтально со 100-метровой
башни со скоростью v = 20 м/сек, то его расстояние (s) от башни по
горизонтали будет выражаться формулой s = vt, где t - время полёта
камня в секундах. Высота (h) над землёй выражается формулой
h = 100 – 9.81 t2 / 2. Вычислить и напечатать t, s и h для t = 0.02, 0.04,
0.06 и так далее до тех пор, пока камень не упадёт на землю.
(Время полёта я, конечно, изменил для компактности программы)
Во эта программа:
На выходе имеем:
Сначала сделал программу, в которой время для высоты h = 0
определялось методом подбора (при t = 4.5153 высота h = -0.00).
(почему с минусом "-0.00)
В напечатанной программе сначала определил необходимое время
для высоты h = 0, которое и задал в конце программы.
А вопрос в том, почему на выоде для "Высоты в м" получили
отрицательное выражение для h: "-0.00".
И вообще хотелось бы знать, правильно ли я сделал эту программу?
Решение задачи: «Задача про камень»
textual
Листинг программы
writeln('t=',t:5:2,' s=',s:5:2,' h=',h:5:2); while h>0 do begin k:=k+1; if k mod 20=0 then begin write('Press Enter'); readln; end; t:=t+0.02; s:=v*t; h:=100-9.81*t*t/2; writeln('t=',t:5:2,' s=',s:5:2,' h=',h:5:2); end; readln end.
Объяснение кода листинга программы
- Программа начинается с вывода на экран значения переменных t, s и h, отформатированных до двух знаков после запятой.
- Затем программа входит в цикл while, который выполняется до тех пор, пока значение переменной h больше нуля.
- Внутри цикла происходит увеличение счетчика k на единицу.
- Если значение k кратно 20 (то есть, каждые 20 итераций), то пользователю предлагается нажать Enter для подтверждения продолжения работы программы.
- Значение переменной t увеличивается на 0,02.
- Значение переменной s вычисляется как произведение v на t.
- Значение переменной h вычисляется как 100 минус 9,81 умноженное на t в квадрате, деленное на 2.
- На экран выводится текущее значение переменных t, s и h, отформатированных до двух знаков после запятой.
- После окончания цикла программа завершается, ожидая нажатия Enter.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д