Séances Cycle 3
C3-S03 — Boucles
Cycle 3 (CM1 - CM2 - 6e)C3-S03
Boucles : Répéter N fois vs Répéter indéfiniment
Niveau : CM1, CM2, 6e
Durée : 45 à 55 minutes
Outil : Scratch
Organisation : Binômes
⚡ Actions rapides :
⚡EN 2 MINUTES CHRONO (L'ESSENTIEL POUR LA CLASSE)
⏱️ 10' Comparaison boucles • 25' TP Patrouille • 10' Synthèse🎯 Objectif unique : Distinguer la boucle bornée [répéter 10 fois] et la boucle infinie [répéter indéfiniment].
📦 Matériel exact : Projet de patrouille continue de garde.
⚠️ Piège n°1 à éviter : Placer un bloc [aller au centre] à l'intérieur de la boucle infinie.
🎯 Objectifs d'apprentissage observables
- Choisir à bon escient entre une boucle bornée (`répéter N fois`) et une boucle infinie (`répéter indéfiniment`).
- Comprendre la notion de condition d'arrêt d'une répétition.
- Détecter et corriger une boucle infinie non désirée qui bloque le reste du programme.
🎒 Matériel & Préparation
- Fiche d'exercices d'analyse d'algorithmes (comparaison de boucles).
⏱️ Déroulé de la séance
1. Situation déclenchante (10 min)
- Situation A : Un joueur doit faire 3 tours de piste puis s'arrêter. (Boucle bornée :
répéter 3 fois). - Situation B : Un ennemi fait des allers-retours continus pendant toute la partie. (Boucle infinie :
répéter indéfiniment).
2. Atelier pratique (25 min)
📝 Mission : Le gardien et le visiteur
Moyen- Le Gardien : Patrouille indéfiniment de gauche à droite sur la scène. - Le Visiteur : Fait 3 sauts d'avertissement, dit « Coucou ! », puis s'arrête définitivement.
3. Le piège classique : les blocs après une boucle infinie (10 min)
Mise en garde : les blocs placés sous une boucle répéter indéfiniment ne s'exécutent jamais. Scratch ne permet d'ailleurs pas d'y emboîter de bloc en dessous.
💡 Progression mathématique
En 6e, introduisez la notion de variable de comptage (compteur d'itérations i = 1, 2, 3...) pour relier la boucle aux suites de nombres.
📊 Grille d'évaluation
| Critère observable | Avec aide | Autonome | Transfert / Dépassement |
|---|---|---|---|
| Choisit la boucle adaptée au problème | Utilise toujours `répéter indéfiniment` par réflexe | Distingue une tâche à durée finie d'une tâche permanente | Calcule le nombre exact d'itérations pour atteindre une coordonnée |
| Comprend la fin d'exécution d'un script | Ne comprend pas pourquoi un bloc sous une boucle infinie est inaccessible | Structure son code pour que les actions de fin soient exécutées | Utilise le bloc `répéter jusqu'à <condition>` (approfondissement) |
Last modified on