Какое время будут показывать часы через р ч 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
, и цикл продолжается. - Выводится сообщение с конечным временем в формате
часы:минуты:секунды
.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д