Boucle conditionnelle « répéter jusqu'à » et arrêt d'un algorithme sous Scratch

3ème · Mathématiques 3ème

À retenir

• Le bloc répéter jusqu'à ce que <condition> s'arrête dès que la condition devient VRAIE. • La variable testée doit impérativement être modifiée dans la boucle pour éviter une boucle infinie. • Bien distinguer la condition de continuation (en algorithmique usuelle) de la condition d'arrêt de Scratch.

Le cours

1. Fonctionnement du bloc « répéter jusqu'à ce que » Contrairement à la boucle bornée répéter N fois dont le nombre d'itérations est fixé à l'avance, la boucle conditionnelle répéter jusqu'à <condition> continue de s'exécuter tant que la condition de test est fausse. Dès que la condition devient vraie, la boucle s'arrête immédiatement et le programme poursuit son exécution. Condition d'arrêt : l'exécution s'interrompt quand la condition devient VRAIE. Tant que la condition est FAUSSE, les instructions internes sont réitérées. 2. Évolution de la variable de contrôle et risque de boucle infinie Pour qu'une boucle conditionnelle se termine, au moins une variable présente dans le test doit être modifiée à l'intérieur du corps de la boucle (par exemple par un bloc ajouter 1 à x). Si la condition ne devient jamais vraie, le programme entre dans une boucle infinie et ne s'arrête jamais. Exemple : initialiser k à 1. répéter jusqu'à k > 10 [ ajouter 3 à k ]. Valeurs de k : 1 4 7 10 13. Au moment où k = 13, le test 13 > 10 est vrai : la boucle s'arrête. Nombre d'itérations : 4. 3. Erreur fréquente de condition Attention à la formulation de la condition d'arrêt dans Scratch : c'est la condition pour quitter la boucle, et non la condition pour continuer. Si l'on souhaite répéter tant que x répéter jusqu'à x >= 50.

Dans ce chapitre