Overblog
Editer l'article Suivre ce blog Administration + Créer mon blog

Pour les Casio : While ou Do ?

Publié le 16 Septembre 2013 par Enguy2 in casio, tant que, répéter

Les boucles While et Do permettent toutes les deux de répéter des instructions tant qu'une certaine condition n'est pas remplie.

Cependant, la différence entre While et Do n'est pas qu'une question de syntaxe : avec While, la condition est vérifiée avant de faire les calculs alors qu'avec Do, elle n'est vérifiée qu'après les calculs ! Cette différence est subtile mais peut poser problème dans pas mal de cas. Autant voir cette différence sur des exemples !

 

La Caisse Enregistreuse

 

Exemple 1 : Pour cet exemple simple, nous voulons faire la somme des prix rentrés dans la machine. La somme s'arrête quand le prix de l'article est 0.

Voici donc ce que cela donne avec une boucle While :

0 S                            (il est judicieux de s'assurer que la somme S vaut 0 au début en l'initialisant)

"PRIX =" ?X

While X ≠ 0

S + X S

"PRIX ="X

Next

S

Et voici le programme avec une boucle Do :

S

"Prix=" ? X

S + X  X

Do                     (ne pas oublier d'aller à la ligne après le Do)

"Prix=" ?  X

S + X  X

LpWhile X ≠ 0

S

Comme la condition est vérifiée après le calcul, il faut donc commencer la somme avant la le Do, alors que pour While pas besoin. Ainsi, la boucle While commence par calculer la somme et ensuite le nouveau prix alors que la boucle Do commence par demander le nouveau prix et fait ensuite la somme.

 

Exemple 2 : Nous allons maintenant calculer le prix moyen des produits achetés.

Voici donc ce que cela donne avec une boucle While :

0 S

0 N

"PRIX =" ?X

While X ≠ 0

S + X S

N + 1 N

"PRIX ="X

Next

SN

 

Et voici le programme avec une boucle Do :

S

0 N

"Prix=" ? X

S + X  X

Do                     (ne pas oublier d'aller à la ligne après le Do)

"Prix=" ?  X

S + X  X

N + 1 N

LpWhile X ≠ 0

S(N - 1)        (comme la vérification est faite après les calculs, il faut penser à retirer 1 au nombre d'articles sinon l'article qui vaut 0 est également compté)

 

J'espère que ces deux exemples vous ont permis de mieux comprendre la différence entre "While" et "Do". En pratique, on n'utilisera uniquement "While" au lycée.

Commenter cet article