[nosmile]Vous pensez qu'on n'utilise pas assez la fonction EXEC "PROG" ? Je pense qu'on peut simplifier pas mal de programmes comme ça. Bien sûr, c'est plus encombrant, mais regardez par exemple :
J'ai fait 2 programmes identiques de 2 manières différentes :
PROGRAM:A
:I+1->I
rgmA
PROGRAM:B
:While 1
:I+1->I
:End
Après effacement de la variable I, quel programme affiche le I le plus grand au bout d'une même durée ?
C'est le programme A : en 10 s, on a I=1005 ; or pour le prog B, I=860
Voilà ! A oui, pendant que je suis dans mon délire de chronométrer tout et n'importe quoi, essayons de connaître le temps nécessaire à la calto pour exécuter un programme. Bien sûr, toutes les durées dépendent de ma calculatrice, donc seuls les rapports entre les durées mesurées importeront.
Comment procéder ?
On sait qu'en 10 s, le programme A s'est exécuté 1005,4 fois (pour être précis, 5 essais effectués).
On peut donc savoir combien de temps dure le prog A : 10/1005,4 = 9,9 ms
Or il faut enlever à ce temps la durée nécessaire pour stocker I+1 dans la variable I. Pour celà, on crée le programme C :
PROGRAM:C
:For (Z,1,500
:I+1->I
:End
On chronomètre, et on trouve que le temps d'une exécution du prog C est de 10,4 ms.
Mais il faut enlever à ce temps la durée d'exécution du programme D :
PROGRAM
:For (Z,1,1000
:End
Et on trouve une durée d'une exécution du prog D est de 2,4 ms.
La temps nécessaire pour lancer un programme est donc de 9,9 - (10,4 - 2,4) = 1,9 ms
Voilà voilà !