|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Pascal - Structures conditionnellesLes structures de boucleNotre exemple avance. Maintenant, si nous désirons construire une phrase non plus avec trois mots, mais avec cinq, nous n'allons tout de même pas répéter notre code cinq fois !!! Pour cela, il suffit d'utiliser une des structures de boucle. Il en existe trois : le For ... to ... do ... (pour <valeur initiale> jusqu'à <valeur finale> faire <ceci>), le while (tant que <condition>) et le repeat ... until (répète <ceci> jusqu'à <condition>). Le For et le while sont utilisés quand on connaît à l'avance le nombre de fois que la boucle doit être exécutée. Dans le repeat ... until la condition de fin de boucle est à la fin, et on l'utilise quand la boucle doit au moins être parcourue une fois. Notre exemple avec un For :
Tout ce qui est entre le begin et le end du For est exécuté en boucle. N'oubliez pas la déclaration de notre nouvelle variable i. Avec un while :
ATTENTION : Dans ce cas vous voyez que vous êtes vous-même obligé d'incrémenter votre compteur i. Ne pas oublier d'initialiser votre variable ni de l'incrémenter sinon votre programme tournera indéfiniment. Avec un repeat :
On voit bien que dans ce cas, le plus efficace est le For. Mais alors, pourquoi utiliser un while ? Et bien parce qu'on ne peut mettre dans une boucle For qu'un compteur. Dans un while ou un repeat, la condition pourrait être quelque chose de plus complexe, comme par exemple : while length(phrase) <= 100; { exécute la boucle tant que la longueur de la variable phrase } {ne dépasse pas 100 caractères} ou encore : until length(phrase) > 100; { termine la boucle si la longueur de la variable phrase } {dépasse 100 caractères} Si on change les règles du jeu, et que l'on veut demander à l'utilisateur quand il désire s'arrêter, on pourrait utiliser un repeat :
Structures de testAlors, reste un petit problème que vous aurez forcément remarqué : notre phrase commence toujours par une virgule ! Pour corriger ça, il suffit simplement de n'ajouter la virgule que si la chaîne n'est pas vide. C'est là toute l'utilité des tests :
Ce qui se traduit en gros par :
Remarquez qu'il n'y a pas de point-virgule après la ligne phrase:=phrase+s. En effet, l'instruction du If ne se termine qu'après le else. On peut aussi utiliser un if sans else :
Article écrit par Thierry Cornu
Trucs & astuces pertinents trouvés dans la base de connaissances
Discussions pertinentes trouvées dans le forum
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||