Какое время будут показывать часы через р ч 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.
Объяснение кода листинга программы
- Создается переменная
t
типаinteger
для хранения времени в часах. - Выводится сообщение с запросом ввести значение
t
. - Проверяется, что введенное значение
t
находится в диапазоне от 0 до 23. Если нет, то происходит повторный запрос и повторное чтение значенияt
. - Создается переменная
n
типаinteger
для хранения времени в минутах. - Выводится сообщение с запросом ввести значение
n
. - Проверяется, что введенное значение
n
находится в диапазоне от 0 до 59. Если нет, то происходит повторный запрос и повторное чтение значенияn
. - Создается переменная
k
типаinteger
для хранения времени в секундах. - Выводится сообщение с запросом ввести значение
k
. - Проверяется, что введенное значение
k
находится в диапазоне от 0 до 59. Если нет, то происходит повторный запрос и повторное чтение значенияk
. - Создается переменная
r
типаinteger
для хранения времени в секундах. - Выводится сообщение с запросом ввести значение
r
. - Проверяется, что введенное значение
r
находится в диапазоне от 0 до 59. Если нет, то происходит повторный запрос и повторное чтение значенияr
. - Если
r
больше или равно 60, то значениеr
уменьшается на 60, переменнаяi
устанавливается в 1, и цикл продолжается. - Если
r
меньше 60, то значениеr
увеличивается наi
, и цикл продолжается. - Если
q
больше или равно 60, то значениеq
уменьшается на 60, переменнаяi
устанавливается в 1, и цикл продолжается. - Если
q
меньше 60, то значениеq
увеличивается наi
, и цикл продолжается. - Если
p
больше или равно 24, то значениеp
уменьшается на 24, переменнаяi
устанавливается в 1, и цикл продолжается. - Если
p
меньше 24, то значениеp
увеличивается наi
, и цикл продолжается. - Если
t
больше или равно 24, то значениеt
уменьшается на 24, и цикл продолжается. - Если
t
меньше 24, то значениеt
увеличивается наi
, и цикл продолжается. - Выводится сообщение с конечным временем в формате
часы:минуты:секунды
.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д