PROGRAM zeit (input,output);

VAR eingabe:integer;
    sekunden,minuten,stunden:integer;

{----------------------------------------------------------------------------}
PROCEDURE zeiteingabe(VAR eingabe:integer);

{Uebernimmt eine positive Integer-Zahl von der Tastatur, und ueberprueft}
{die Eingabe.}

VAR richtig:boolean;

BEGIN
  writeln;writeln;
  writeln('Das Programm wandelt eine in Sekunden vorliegende Zeit');
  writeln('in Sekunden, Minuten und Stunden um.');
  REPEAT
    richtig:=true;
    writeln('Geben Sie die Sekunden ein (nur ganze Zahlen) ');
    readln(eingabe);
    IF eingabe<0 THEN
                 BEGIN
                   write('Das Programm beruecksichtigt nur positive Zeiten');
                   writeln(' nocheinmal eingeben!');
                   richtig:=false
                 END
  UNTIL richtig;
END;{zeiteingabe}
{----------------------------------------------------------------------------}
PROCEDURE umrechnung(VAR eingabe:integer);

{Die in Sekunden vorliegende Zeit wird in Stunden, Minuten und Sekunden um-}
{gerechnuet.}

CONST min=60;
      std=3600  {60*60};

BEGIN{umrechnung}
  stunden:=trunc(eingabe/std);
  eingabe:=eingabe-stunden*std;
  minuten:=trunc(eingabe/min);
  eingabe:=eingabe-minuten*min;
  sekunden:=eingabe;
END;{umrechnung}
{----------------------------------------------------------------------------}
PROCEDURE ausgabe;

{Die in umrechnung erhaltene Zeit wird ausgegeben}

BEGIN{ausgabe}
  writeln;writeln;
  writeln('Die eingegebene Sekundenzahl entspricht einer Zeit von:');
  writeln;
  writeln(stunden:2,' Stunde(n)');
  writeln(minuten:2,' Minute(n)');
  writeln(sekunden:2,' Sekunde(n)');
  writeln
END;{ausgabe}
{----------------------------------------------------------------------------}

BEGIN{zeit}
 zeiteingabe(eingabe);
 umrechnung(eingabe);
 ausgabe
END.{zeit}
