Задача. Стрелки часов - Pascal ABC

Узнай цену своей работы

Формулировка задачи:

Стрелки часов движутся с постоянными угловыми скоростями и показывают b часов и m минут. Найти число полных минут до ближайшего момента, в который стрелки совпадут.

Решение задачи: «Задача. Стрелки часов»

textual
Листинг программы
var h,m,um:integer;
    uh,du,r,k:real;
begin
repeat
write('Час от 0 до 11 h=');
readln(h);
until h in [0..23];
repeat
write('Минута от 0 до 59 m=');
readln(m);
until m in [0..59];
um:=6*m; //угол минутной стрелки
uh:=0.5*(h*60+m); //угол часовой стрелки
du:=5.5;//уменьшение угла в 1 минуту
if um<uh then r:=uh-um//если минутная стрелка сзади
else r:=360-um+uh;  //если впереди
k:=r/du;
writeln('k=',k:0:2);
end.

Объяснение кода листинга программы

  1. В начале объявляются переменные: h, m, um, uh, du, r, k типа integer и real.
  2. В первой повторяющейся операции используется цикл while для получения значения переменной h от 0 до 11.
  3. Во второй повторяющейся операции используется цикл while для получения значения переменной m от 0 до 59.
  4. Переменная um вычисляется как произведение 6 на значение переменной m.
  5. Переменная uh вычисляется как половина суммы произведения 6 на значение переменной h и на значение переменной m.
  6. Переменная du вычисляется как 5.5.
  7. Переменная r вычисляется как разница между переменной uh и переменной um, если минутная стрелка находится сзади, и как разница между 360 и переменной um, и вычитается из переменной uh, если минутная стрелка находится впереди.
  8. Переменная k вычисляется как частное от деления переменной r на переменную du.
  9. Значение переменной k выводится на экран с помощью функции writeln, при этом значение переменной k округляется до двух знаков после запятой.

Оцени полезность:

5   голосов , оценка 3.8 из 5
Похожие ответы