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

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

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

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

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.

10   голосов, оценка 3.900 из 5


СОХРАНИТЬ ССЫЛКУ