Tech4um
1 Membres connectés - 1 Visiteurs
Mot de passe oublié?
Espace membre
Faite une inscription rapide sur tech4um.com et participez par vos sujets et commentaires sur nos forums.

Vous bénéficiez aussi de la Discussion directe afin d'avoir des solutions rapide.

Facebook
Twitter
Liens recommandés




C'est quoi votre sujet?

Passage d'enregistrements en Pascal
Tech4um Postmaster Ajouter le 2011-10-29 16:34:16

Il s'agit de refaire (rapidement) une partie du x2 en insistant sur le passage de

paramètres.



Soit le type temps_t défini au §2, soit t un temps_t, et ns un entier.

1) Ecrire une procédure ecriture(t) qui affiche à l'écran les valeurs des champs de t sous la forme h:m:s sans retour à la ligne.



2) Ecrire une procédure lecture(t) qui lit au clavier les valeurs à mémoriser dans les champs de t.



3) Ecrire une procédure calc_ns(t,ns) qui renvoie le nombre de secondes ns écoulées depuis 0 :0 :0



4) Faire un programme qui lit t1 et t2 et qui dit si t1 est < ou = ou > à t2, en passant par la conversion en secondes. Le programme utilise les procédures précédentes.

PROGRAM temps;

TYPE

heure_t = 0..23;

minute_t = 0..59;

seconde_t = 0..59;

temps_t = Record

h : heure_t;

m : minute_t;

s : seconde_t;

End;



{ 1 }



PROCEDURE ecriture (t : temps_t);

BEGIN

write (t.h, ':', t.m, ':', t.s);

END;



{ 2 }



PROCEDURE lecture (var t : temps_t);

BEGIN

write ('Temps (h m s) : ');

readln (t.h, t.m, t.s);

END;



{ 3 }



PROCEDURE calc_ns (t : temps_t; var ns : integer);

BEGIN

ns := t.h * 3600 + t.m * 60 + t.s;

END;



{ 4 }



VAR t1, t2 : temps_t;

n1, n2 : integer;

c : char;

BEGIN

lecture (t1); lecture (t2);

calc_ns (t1, n1); calc_ns (t2, n2);

if n1 < n2 then c := '<'

else if n1 = n2 then c := '='

else c := '>';

ecriture (t1) ; write (' ', c, ' '); ecriture (t2); writeln;

END
Signaler un abus

 



Répondre au sujet: