/* Распаковка времени - перевод части суток */
/* в часы (Н), минуты (М) и секунды (S) */
{
double tl;
t1=t*86400;
*H=t1/3600.0;
t1=t1-3600.0*(*H);
*M=t1/60.0;
*S=t1-60.0*(*M);
}
Программа 9_09.pas
program pack_unpack;
uses Crt;
var
H,M,S:integer;
Т:double;
function pack_time(H,M,S:integer):double;
{ Упаковка времени - перевод часов (Н)минут (М) и секунд (S) в часть суток } begin
pack_time:=(H*3600.0+M*60+S)/86400.0;
end;
procedure unpack_time(t:double;var H,M,S:integer);
{ Распаковка времени - перевод части суток
в часы (Н), минуты (М) и секунды (S) }
var
t1:double; begin
t1:=t*86400;
H:=trunc(t1/3600.0) ;
t1:=t1-3600.0*H;
M:=trunc(t1/60.0);
S:=trunc(t1-60.0*M);
end;
begin {main}
clrscr;
H:=18; M:=0; S:=0;
T:=pack_tiine(H,M,S) ;
writeln(H:2,': ',M:2, ': ',S:2, ' =',T:6:2);
T:=0.5;
unpack_time(T,H,M,S);
writeln(H:2, ': ',M:2, ': ',S:2, ' =',T:6:2);
readln;
end.