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?

Intervalles de temps en Pascal
Tech4um Postmaster Ajouter le 2011-10-29 16:56:44



Il s'agit d'insister sur le passage de paramètres avec des fonctions.

Soit le type temps_t défini au x2.



1) Exemple d'un type enregistrement inter_t qui mémorise le début et la fin d'une période de temps.



2) Exemple d'une fonction calc_ns(t) qui renvoie le nombre de secondes ns écoulées depuis 0 :0 :0



3) Exemple d'une fonction convertir(ns) qui convertit ns en heure/minute/seconde et renvoie le résultat sous forme d'un temps_t.



4) Exemple une fonction intertemps(i) où i est un inter_t. La fonction renvoie dans un temps_t la durée séparant le début et la fin. La fonction se sert de calc_ns et de convertir.

{ 1 }



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;

inter_t = Record

debut, fin : temps_t;

End;



{ 2 }



FUNCTION calc_ns (t : temps_t) : integer;

BEGIN

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

END;



{ 3 }



FUNCTION convertir (ns : integer) : temps_t;

VAR res : temps_t;

BEGIN

res.h := ns div 3600;

ns := ns mod 3600;

res.m := ns div 60;

ns := ns mod 60;

res.s := ns;

convertir := res;

END;



{ 4 }



FUNCTION intertemps (i : inter_t) : temps_t;

BEGIN

intertemps := convertir(calc_ns(i.fin) - calc_ns(i.debut));

END;
Signaler un abus

 



Répondre au sujet: