Les boucles Répéter
Programmation - 5ème
Les boucles Répéter
Objectifs
- Comprendre l'utilité et le fonctionnement d'une boucle 'Répéter' (ou 'Répéter jusqu'à')
- Savoir choisir entre une boucle avec un nombre fixe de répétitions et une boucle conditionnelle
- Créer un programme simple utilisant une boucle pour automatiser une tâche répétitive
Introduction
Imaginez que vous devez faire dire 'Bonjour !' 100 fois à votre lutin. Copier-coller le même bloc 100 fois, c'est long et ennuyeux ! Et si Scratch pouvait le faire pour vous ? Aujourd'hui, nous allons découvrir une superpuissance en programmation : la répétition automatique.
Comment faire exécuter plusieurs fois les mêmes instructions à un programme sans les écrire plusieurs fois ?
La boucle 'Répéter n fois' : La répétition contrôlée
La boucle 'Répéter n fois' est la plus simple. Elle permet d'exécuter un ensemble d'instructions (les blocs placés à l'intérieur) un nombre de fois précis que vous décidez à l'avance. C'est comme donner une conséquence à un robot : 'Répète ces actions 5 fois'. Dans Scratch, on trouve ce bloc dans la catégorie orange 'Contrôle'. Par exemple, pour faire avancer un lutin en dessinant un carré, sans boucle, il faudrait écrire : 'avancer de 50 pas', 'tourner de 90 degrés', puis répéter ces 4 fois. Avec une boucle, on place 'avancer de 50' et 'tourner de 90' à l'intérieur d'un seul bloc 'Répéter 4 fois'. Le programme est plus court, plus clair et plus facile à modifier. Si je veux un hexagone, je change juste le '4' en '6' et l'angle en '60'. Cette boucle est parfaite quand on connaît à l'avance le nombre exact de répétitions nécessaires, comme le nombre de côtés d'une forme, le nombre de fois où un personnage saute, ou le nombre de questions dans un quiz.
Points clés
- Exécute les instructions un nombre PRÉDÉFINI de fois (ex: 5, 10).
- Idéale pour les tâches où le nombre de répétitions est connu à l'avance (dessiner une forme géométrique).
- Rend le code plus court, plus lisible et plus facile à modifier.
La boucle 'Répéter jusqu'à' : La répétition intelligente
Parfois, on ne sait pas combien de fois il faudra répéter une action, mais on sait quand il faut s'arrêter. C'est le rôle de la boucle 'Répéter jusqu'à'. Cette boucle va exécuter en boucle les instructions à l'intérieur, sans s'arrêter, tant qu'une condition n'est pas vraie. Dès que la condition devient vraie, la boucle s'arrête et le programme continue. La condition est une expression logique (un 'capteur' ou une comparaison) qui peut être vraie ou fausse. Par exemple, dans un jeu, on peut vouloir déplacer un ennemi 'Répéter jusqu'à ce qu'il touche le bord de l'écran'. Le lutin avancera indéfiniment, et la boucle vérifiera à chaque tour si la condition 'toucher le bord ?' est vraie. Dès qu'il touchera le bord, il s'arrêtera. Autre exemple : faire grandir un personnage 'Répéter jusqu'à ce que sa taille = 200'. La boucle est 'intelligente' car elle s'adapte à la situation du programme. Il faut être prudent : si la condition n'est jamais vraie, la boucle ne s'arrête jamais, c'est une 'boucle infinie' qui peut bloquer le programme !
Points clés
- Exécute les instructions en boucle JUSQU'À ce qu'une CONDITION devienne vraie.
- Idéale quand le nombre de répétitions dépend d'un événement (toucher une couleur, atteindre un score).
- Attention à éviter les boucles infinies en s'assurant que la condition peut devenir vraie.
Applications pratiques
Mettons cela en pratique avec deux projets concrets sur Scratch. 1) Animation d'un compte à rebours : Utilise une variable 'compteur' initialisée à 10. Place-la dans une boucle 'Répéter 10 fois'. À l'intérieur, fais dire la valeur du compteur au lutin pendant 1 seconde, puis diminue le compteur de 1. À la fin, le lutin dira 'Décollage !'. 2) Jeu de la poursuite : Crée un lutin (une cible) qui se déplace aléatoirement. Un deuxième lutin (le chasseur) doit la suivre. Pour le chasseur, utilise une boucle 'Répéter jusqu'à' avec la condition 'toucher la cible ?'. À l'intérieur de la boucle, mets les blocs 'S'orienter vers la cible' et 'Avancer de 5 pas'. Dès que le chasseur touche la cible, la boucle s'arrête et tu peux faire dire 'Attrapé !'. Ces projets montrent la différence : le compte à rebours a un nombre fixe d'étapes (10), la poursuite a une fin conditionnelle (la collision).
Points clés
- Compte à rebours : exemple typique de 'Répéter n fois' avec une variable qui change.
- Poursuite : exemple typique de 'Répéter jusqu'à' avec une condition de collision.
- Bien analyser la situation pour choisir le type de boucle adapté.
À retenir
Les boucles 'Répéter' sont des structures de contrôle essentielles pour automatiser les tâches répétitives en programmation. La boucle 'Répéter n fois' est utilisée lorsque le nombre de répétitions est connu à l'avance, comme pour dessiner une forme géométrique. La boucle 'Répéter jusqu'à' est utilisée lorsque la répétition doit continuer jusqu'à ce qu'une condition spécifique soit remplie, comme dans un jeu où un mouvement s'arrête à la collision. Savoir choisir entre ces deux boucles permet d'écrire des programmes plus efficaces et plus intelligents.
- Une boucle évite la répétition manuelle de code et rend le programme plus clair.
- 'Répéter n fois' pour un nombre connu de répétitions. 'Répéter jusqu'à' pour une fin conditionnelle.
- Il faut toujours vérifier qu'une boucle 'Répéter jusqu'à' a une condition qui peut devenir vraie pour éviter une boucle infinie.
