Temp d'execution sur pascal
Fermé
nadal1991
Messages postés
268
Date d'inscription
mercredi 5 septembre 2007
Statut
Membre
Dernière intervention
2 octobre 2011
-
27 août 2008 à 13:37
KX Messages postés 16755 Date d'inscription samedi 31 mai 2008 Statut Modérateur Dernière intervention 12 février 2025 - 30 août 2008 à 12:12
KX Messages postés 16755 Date d'inscription samedi 31 mai 2008 Statut Modérateur Dernière intervention 12 février 2025 - 30 août 2008 à 12:12
A voir également:
- Temp d'execution sur pascal
- Turbo pascal download - Télécharger - Édition & Programmation
- My pascal - Télécharger - Édition & Programmation
- Core temp - Télécharger - Divers Utilitaires
- Dev-pascal - Télécharger - Édition & Programmation
- Combien de temps reste une story sur facebook - Guide
6 réponses
KX
Messages postés
16755
Date d'inscription
samedi 31 mai 2008
Statut
Modérateur
Dernière intervention
12 février 2025
3 020
27 août 2008 à 15:18
27 août 2008 à 15:18
Voici une astuce pour faire ce que tu veux :
Il s'agit en fait de lire les heures de début et de fin du programme puis de les comparer...
Il s'agit en fait de lire les heures de début et de fin du programme puis de les comparer...
program SansNom; uses Dos; var h1,m1,s1,c1,h2,m2,s2,c2:word; begin GetTime(h1,m1,s1,c1); { Contenu du programme } GetTime(h2,m2,s2,c2); writeln; write('Fin du programme. Temps d''execution : '); if h2<h1 then write(((24+h2-h1)*3600+(m2-m1)*60+(s2-s1)+real(c2-c1)/100):0:2) else write(((h2-h1)*3600+(m2-m1)*60+(s2-s1)+real(c2-c1)/100):0:2); write(' secondes'); readln; end.
nadal1991
Messages postés
268
Date d'inscription
mercredi 5 septembre 2007
Statut
Membre
Dernière intervention
2 octobre 2011
11
27 août 2008 à 14:59
27 août 2008 à 14:59
une reponse silvouplait
nadal1991
Messages postés
268
Date d'inscription
mercredi 5 septembre 2007
Statut
Membre
Dernière intervention
2 octobre 2011
11
27 août 2008 à 17:20
27 août 2008 à 17:20
oui merci pour l'astuce meme si ca serai bien qu'il est une instruction direct et rapide
KX
Messages postés
16755
Date d'inscription
samedi 31 mai 2008
Statut
Modérateur
Dernière intervention
12 février 2025
3 020
27 août 2008 à 18:14
27 août 2008 à 18:14
Sinon on peut créer une unité "Time" ton programme final ne ressemblera alors plus qu'à cela :
program SansNom; uses Time; begin { Contenu du Programme } end.Il faut pour cela compiler l'unité suivante appelée Time dans C:\Dev-Pas\Units\Time.pas ou équivalent selon l'interface Pascal que tu utilises...
unit Time; interface implementation uses dos; type ProcType = procedure; var OldProc: ProcType; r1:real; function RealOfGetTime:real; var h,m,s,c:word; begin GetTime(h,m,s,c); result:=h*3600+m*60+s+real(c)/100; end; procedure ToDoAtExit; var f: text; r,r2:real; begin Exitproc := OldProc; r2:=RealOfGetTime; r:=r2-r1; if r<0 then r:=r+24*3600; writeln; write('Fin du programme. Temps d''execution : ',r:0:2,' secondes'); assign(f, 'CON'); reset(f); readln(f); end; procedure Install_ExitProc; begin OldProc := ProcType(ExitProc); ExitProc := @ToDoAtExit; end; begin r1:=RealOfGetTime; Install_ExitProc; end.
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
nadal1991
Messages postés
268
Date d'inscription
mercredi 5 septembre 2007
Statut
Membre
Dernière intervention
2 octobre 2011
11
29 août 2008 à 12:33
29 août 2008 à 12:33
merci beaucoup evidament c beaucoup mieu , je vais essayer ca
meci
meci
KX
Messages postés
16755
Date d'inscription
samedi 31 mai 2008
Statut
Modérateur
Dernière intervention
12 février 2025
3 020
30 août 2008 à 12:12
30 août 2008 à 12:12
Tel que je l'ai écrit, si le programme plante, il affiche quand même "Fin du programme."
Voici une petite correction pour que dans ce cas il affiche "Erreur ---."
Dans ToDoAtExit, il faut remplacer :
Voici une petite correction pour que dans ce cas il affiche "Erreur ---."
Dans ToDoAtExit, il faut remplacer :
write('Fin du programme. Temps d''execution : ',r:0:2,' secondes');par
if ErrorAddr=nil then write('Fin du programme') else write('Erreur ',ExitCode); write('. Temps d''execution : ',r:0:2,' secondes');Dans tous les cas, le temps d'exécution sera affiché à la fin...