Solutions de l'exercice 6 du  TP n°2 (informatique en S1 DEUG MAIS+MASS)

PROGRAM TP2exc6 ;

VAR HeureDepart, MinuteDepart, SecondeDepart : integer ;
    HeureTrajet, MinuteTrajet, SecondeTrajet : integer ;
    HeureArrivee, MinuteArrivee, SecondeArrivee : integer ;
    JourArrivee : integer ;

BEGIN
  (* saisie heure de départ *)
  writeln('Depart :') ;
  write('heure ? ') ; readln(HeureDepart) ;
  write('minutes ? ') ; readln(MinuteDepart) ;
  write('secondes ? ') ; readln(SecondeDepart) ;
  (* saisie durée du trajet *)
  writeln('Durée du trajet :') ;
  write('heure ? ') ; readln(HeureTrajet) ;
  write('minutes ? ') ; readln(MinuteTrajet) ;
  write('secondes ? ') ; readln(SecondeTrajet) ;
  (* calcul de l'heure d'arrivée *)
  SecondeArrivee:=SecondeDepart+SecondeTrajet ;
  MinuteArrivee:=MinuteDepart+MinuteTrajet+(SecondeArrivee div 60) ;
  SecondeArrivee:=(SecondeArrivee mod 60) ;
  HeureArrivee:=HeureDepart+HeureTrajet+(MinuteArrivee div 60) ;
  MinuteArrivee:=(MinuteArrivee mod 60) ;
  JourArrivee:=HeureArrivee div 24 ;
  HeureArrivee:=HeureArrivee mod 24 ;
  (* affichage du résultat *)
  writeln('Heure d''arrivée : ') ;
  if (JourArrivee=0)
     then write('même jour : ')
     else write('jour + ',JourArrivee,' : ') ;
  writeln(HeureArrivee,'h ', MinuteArrivee, 'mn ',SecondeArrivee, 's.') ;
END.