PASCAL ABC! Составьте программу подсчета количества часов, минут и секунд в данном...

0 голосов
160 просмотров

PASCAL ABC! Составьте программу подсчета количества часов, минут и секунд в данном количестве суток.Количество суток вводится с клавиатуры.


Информатика (40 баллов) | 160 просмотров
Дан 1 ответ
0 голосов
Правильный ответ

Если ограничиваться только целочисленным числом суток, будет всегда получаться полные часы, а минуты и секунды будут нулевыми.

// PascalABC.NET 3.1, сборка 1172 от 19.02.2016
begin
  var d:=ReadReal('Количество суток')*24;
  var h:=Trunc(d);
  d:=Frac(d)*60;
  var m:=Trunc(d);
  d:=Frac(d)*60;
  var s:=Round(d);
  // преодоление ошибок неточного представления чисел в ЭВМ
  if s=60 then begin Inc(m); s:=0 end;
  if m=60 then begin Inc(h); m:=0 end;
  WritelnFormat('{0}ч {1}м {2}с ',h,m,s)
end.

Тестовые решения:
Количество суток 0.35
8ч 24м 0с

Количество суток 4
96ч 0м 0с

Количество суток 2.532
60ч 46м 5с

(142k баллов)