Какое время будут показывать часы через р ч q мин r с? - Pascal ABC

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

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

Помогите написать программу Текущее показание электронных часов: t ч (0 ≤ т ≤ 23) n мин (0 ≤ n ≤ 59) k с (0≤ k ≤ 59). Какое время будут показывать часы через р ч q мин r с?

Решение задачи: «Какое время будут показывать часы через р ч q мин r с?»

textual
Листинг программы
var
t,n,k,p,q,r,i: integer;
begin
i:=0;
write('Введите t: ');
readln(t);
while (t<0) or (t>23) do begin
write('Ошибка! "t" Введено некорректно! Введите "t" повторно: ');
readln(t);
end;
write('Введите n: ');
readln(n);
while (n<0) or (n>59) do begin
write('Ошибка! "n" Введено некорректно! Введите "n" повторно: ');
readln(n);
end;
write('Введите k: ');
readln(k);
while (k<0) or (k>59) do begin
write('Ошибка! "k" Введено некорректно! Введите "k" повторно: ');
readln(k);
end;
write('Введите p: ');
readln(p);
while p<0 do begin
write('Ошибка! Отрицательное "p"! Введите "p" повторно: ');
readln(p);
end;
write('Введите q: ');
readln(q);
while q<0 do begin
write('Ошибка! Отрицательное "q"! Введите "q" повторно: ');
readln(q);
end;
write('Введите r: ');
readln(r);
while r<0 do begin
write('Ошибка! Отрицательное "r"! Введите "r" повторно: ');
readln(r);
end;
while r>=60 do begin
r:=r-60;
i:=i+1;
end;
if r+k>=60 then begin
k:=r+k-60;
q:=q+i+1;
i:=0;
end
else begin
k:=k+r;
q:=q+i;
i:=0;
end;
while q>=60 do begin
q:=q-60;
i:=i+1;
end;
if q+n>=60 then begin
n:=q+n-60;
p:=p+i+1;
i:=0;
end
else begin
n:=q+n;
p:=p+i;
i:=0;
end;
while p>=24 do p:=p-24;
if p+t>=24 then t:=p+t-24
else t:=p+t;
writeln('Конечное время: ',t,' ч ',n,' мин ',k,' сек');
end.

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

  1. Создается переменная t типа integer для хранения времени в часах.
  2. Выводится сообщение с запросом ввести значение t.
  3. Проверяется, что введенное значение t находится в диапазоне от 0 до 23. Если нет, то происходит повторный запрос и повторное чтение значения t.
  4. Создается переменная n типа integer для хранения времени в минутах.
  5. Выводится сообщение с запросом ввести значение n.
  6. Проверяется, что введенное значение n находится в диапазоне от 0 до 59. Если нет, то происходит повторный запрос и повторное чтение значения n.
  7. Создается переменная k типа integer для хранения времени в секундах.
  8. Выводится сообщение с запросом ввести значение k.
  9. Проверяется, что введенное значение k находится в диапазоне от 0 до 59. Если нет, то происходит повторный запрос и повторное чтение значения k.
  10. Создается переменная r типа integer для хранения времени в секундах.
  11. Выводится сообщение с запросом ввести значение r.
  12. Проверяется, что введенное значение r находится в диапазоне от 0 до 59. Если нет, то происходит повторный запрос и повторное чтение значения r.
  13. Если r больше или равно 60, то значение r уменьшается на 60, переменная i устанавливается в 1, и цикл продолжается.
  14. Если r меньше 60, то значение r увеличивается на i, и цикл продолжается.
  15. Если q больше или равно 60, то значение q уменьшается на 60, переменная i устанавливается в 1, и цикл продолжается.
  16. Если q меньше 60, то значение q увеличивается на i, и цикл продолжается.
  17. Если p больше или равно 24, то значение p уменьшается на 24, переменная i устанавливается в 1, и цикл продолжается.
  18. Если p меньше 24, то значение p увеличивается на i, и цикл продолжается.
  19. Если t больше или равно 24, то значение t уменьшается на 24, и цикл продолжается.
  20. Если t меньше 24, то значение t увеличивается на i, и цикл продолжается.
  21. Выводится сообщение с конечным временем в формате часы:минуты:секунды.

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

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

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