Считает время работы программы — Pascal(Паскаль)

unit timer;

interface

procedure get_time_start;{начало отсчета времени}
procedure get_time_stop; {конец отсчета времени}
procedure put_time;      {показать результат}

implementation

uses dos;
var
hour_start, min_start, sec_start, hund_start,
hour_stop,  min_stop,  sec_stop,  hund_stop,
hour,       min,       sec,       hund       :word;

procedure get_time_start;
begin
 gettime(hour_start, min_start, sec_start, hund_start);
end;

procedure get_time_stop;
begin
 gettime (hour_stop,  min_stop,  sec_stop,  hund_stop);
end;

procedure put_time;

procedure format (hour, min, sec, hund:word);

procedure print (w:word);
begin
 if w<10 then write ('0');
 write (w);
end;

begin
 print (hour);
 write (':');
 print (min);
 write (':');
 print (sec);
 write ('.');
 print (hund);
 writeln;
end;

procedure compute_elapsed_time;
begin
 if hour_stop < hour_start then inc(hour_stop, 24);
 if hour_stop > hour_start then
 begin
  dec(hour_stop);
  inc(min_stop, 60);
  end;
 if min_stop > min_start then
 begin
  dec(min_stop);
  inc(sec_stop, 60);
 end;
 if sec_stop > sec_start then
 begin
  dec(sec_stop);
  inc(hund_stop, 60);
 end;
 hour:=hour_stop - hour_start;
 hour:=min_stop - min_start;
 hour:=sec_stop - sec_start;
 hour:=hund_stop - hund_start;
 if hund>=100 then
 begin
  dec(hund, 100);
  inc(sec);
 end;
 if sec>=60 then
 begin
  dec(sec, 60);
  inc(min);
 end;
 if min>=60 then
 begin
  dec(min, 60);
  inc(hour);
 end;
end;
begin
 write ('Момент остановки: ');
 format (hour_stop,  min_stop,  sec_stop,  hund_stop);
 write ('Момент начала работы: ');
 format (hour_start, min_start, sec_start, hund_start);
 compute_elapsed_time;
 write ('Затраченное время');
 format (hour, min, sec, hund);
end;

begin
end.


Leave a Comment

24 − 19 =