1) On considère que le départ et l’arrivée ont lieu même jour
Action : DuréeVol1
Var : h1, h2, m1, m2, hr, mr : entiers
Début : Ecrire (« entrer horaire de départ et d’arrivée »)
Lire (h1, m1, h2, m2)
mr <= [h2*60+m2] – [h1*60+m1]
hr <= mr/60
mr <= mr%60
Ecrire (« durée de vol : » , hr, mr)
Fin
Remarque : l’opération % (modulo) permet de calculer le reste de la division entière.
2) Même question qu’avant mais sans faire les conversions en minutes
Action : DuréeVol2
Var : h1, h2, hr, m1, m2, mr : entiers
Début : Ecrire (« entrer horaire de départ et d’arrivée »)
Lire (h1, m1, h2, m2)
Si m2>m1 alors
hr <= h2-h1 et mr <= m2-m1
Ecrire (hr, mr)
Sinon
hr <= h2-h1-1 et mr <= m2+60-m1
Ecrire (hr, mr)
Fin
3) On suppose que la durée de vol est inférieure à 24 heures mais que l’arrivée peut avoir lieu le lendemain.
Action : DuréeVol3
Var : h1, h2, m1, m2, hr, mr : entiers
Début : Ecrire (« entrer horaire de départ et d’arrivée »)
Lire (h1, m1, h2, m2)
Si h2>h1 alors
Si m2>m1 alors
hr <= h2-h1 et mr <= m2-m1
Ecrire (hr, mr)
Sinon
hr <= h2-h1-1 et mr <= m2+60-m1
Ecrire (hr, mr)
Sinon
Si m2>m1 alors
hr <= h2-h1+24 et mr <= m2-m1
Ecrire (hr, mr)
Sinon
hr <= h2-h1+24-1 et mr <= m2+60-m1
Ecrire (hr, mr)
Fin