Fermer2
BaruchLe 23/04/2008 à 15:12
[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
tonguergmA

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 :

PROGRAMgrin
: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à !