|
Posté le 02-04-2014 à 18:43 | #
|
Simple question, si je veux créer une boucle qui tourne tant que la variable n'a pas été initialisée, serait-il préférable d'écrire :
While A=0
--code--
WhileEnd
ou
While Not A
--code--
WhileEnd
Apparemment ces deux manières occupent le même nombre d'octets mais je ne sais pas s'il y a une influence sur la vitesse que pourrait avoir la vérification de l'existence de la variable. Quelqu'un saurait me renseigner ou peut-être plus simplement me donner une autre manière de voir la boucle ? Merci d'avance. |
|
|
Posté le 02-04-2014 à 18:51 | #
|
C'est simple.
Lorsque la calculatrice veut savoir si A=0, elle calcule A-0, puis elle regarde si le résultat est nul.
Pour "Not A", elle regarde simplement si A est nul.
À mon avis, il n'y a aucune chance pour que la première soit plus rapide. |
|
|
Posté le 02-04-2014 à 19:14 | #
|
Merci beaucoup ! De ce fait, est-ce que 0 sera inséré dans la variable Ans même si la calculatrice vérifie juste si la variable est nulle ? |
|
|
Posté le 02-04-2014 à 19:15 | #
|
Non, la variable Ans n'est pas modifiée par les conditions. |
|
|
Posté le 02-04-2014 à 19:16 | #
|
Encore merci, ça va beaucoup m'aider ! |
|
|
Posté le 03-04-2014 à 14:26 | #
|
Il y a déjà eu débat au sujet de la différence "A=0" et "Not A".
Disons que chacun y va de son petit avis...
Ce qui est sûr, c'est qu'il faut choisir ce qui se comprend le mieux à la relecture du programme.
Sinon il suffit de faire un boucle For assez longue, d'y insérer l'une des deux syntaxes, de chronométrer le temps d’exécution du programme puis de répéter l'opération avec la seconde. En comparant les temps nous aurons notre réponse.
Idem, concernant la taille, en copiant un millier de fois la première syntaxe et un millier de fois la seconde dans un autre programme, il y a de fortes chances pour que les deux programmes ne fassent pas la même taille, ce qui permettra de savoir celle qui "pèse le moins". |
|
|
Posté le 03-04-2014 à 18:01 | #
|
Ne0' a écrit : Idem, concernant la taille, en copiant un millier de fois la première syntaxe et un millier de fois la seconde dans un autre programme, il y a de fortes chances pour que les deux programmes ne fassent pas la même taille, ce qui permettra de savoir celle qui "pèse le moins".
Pour ce point, je ne suis pas d'accord. Toutes les fonctions sont codées sur 1 à 4 octets, or Not prend 2 octets, et =0 aussi.
Les deux pèsent exactement le même poids |
|
|
Posté le 03-04-2014 à 18:06 | #
|
Au passage, Lephenixnoir, tu affirmes que la calculette fais A-0 et regarde si le résultat est nul, mais comment le sais-tu? Il y a une documentation officielle de Casio expliquant tous ses algorithmes?
A mon avis il y a pas mal de trucs optimisés dessous... |
|
|
Posté le 03-04-2014 à 18:07 | #
|
C'est le principe du test comparatif sur les machines type Turing : on fait A-B et on regarde si c'est nul
|
|
|
Posté le 03-04-2014 à 18:09 | #
|
D'accord, je ne savais pas. merci. |
|