1- Type TEMPS=Enregistrement H,M,S :entier ; Fin ;
2- Procedure SommeT(E/ T1,T2 :TEMPS ; S/ T :TEMPS) ;
Var X :entier ;
Debut
X←T1.S+T2.S;
T.S←X mod 60; T.M← X div 60; X←T.M+T1.M+T2.M;
T.M← X mod 60; T.H← X div 60+ T1.H+T2.H;
Fin ;
3- Fonction TRANSFORM(T :TEMPS) :entier ;
Debut
TRANSFORM←T.S+60*T.M+3600*T.H ;
Fin ;
En algorithmique, on ne peut pas avoir une fonction de type enregistrement, donc on utilise une procédure.
4- Procedure DECOMPOS(E/ S :entier ; S/ T :TEMPS) ;
Debut
T.H←S div 3600 ; S← S mod 3600 ; T.M←S div 60 ; T.S← S mod 60 ;
Fin;
5-
Algorithme CalculT;
Type TEMPS=Enregistrement H,M,S :entier ; Fin ;
Var T1,T2,T :TEMPS ;
S :entier ;
Debut
Ecrire(‘Donner un Temps T1 : H M S’) ; Lire(T1.H,T1.M,T1.S) ;
Ecrire(‘Donner un Temps T2 : H M S’) ;
/*on peut lire en utilisant l’instruction Avec
Avec T2 Faire Lire(H,M,S) ; Fait ;
/*transformer T1 et T2 en secondes, puis additionner
S← TRANSFORM(T1) + TRANSFORM(T2) ;
/*décomposer S en TEMPS T
DECOMPOS(S,T) ;
/*On peut faire aussi DECOMPOS(TRANSFORM(T1) + TRANSFORM(T2) ,T) ;
Ecrire(‘La somme est :’,T.H,’ :’,T.M,’ :’,T.S) ;
Fin.
Ajouter un commentaire
Veuillez vous connecter pour ajouter un commentaire.
Pas encore de commentaires.