Simplifier un programme en utilisant des boucles
1, 2, 3, codez ! - Activités cycle 2 - Séance 2.3: Simplifier un programme en utilisant des boucles
Résumé |
Les élèves poursuivent leur prise en main de Scratch Junior en explorant l’instruction « répéter … fois », qui est une boucle. Ils s’entrainent à anticiper ce que va produire un programme qui leur est fourni, combinant boucles et instructions de déplacement. Enfin, ils reprennent leur programme initial et remplacent les instructions répétées par une boucle. |
Notions |
« Algorithmes »
|
Matériel |
Pour la classe
Pour chaque binôme ou petit groupe
Pour chaque élève
|
Lexique |
Boucle « répéter … fois » |
Durée : |
1 heure |
Situation déclenchante
L’enseignant annonce que la classe va faire une « pause » dans le
récit de l’histoire, afin d’apprendre un nouveau type d’instruction qui
sera ensuite utile pour poursuivre ce récit.
Il projette (ou écrit au tableau) le programme enregistré en fin de séance précédente :
Ce programme comporte seulement 11 instructions élémentaires, mais il prend déjà beaucoup de place dans la zone de programmation. Si on veut continuer à raconter l’histoire, le programme risque de devenir long et compliqué. L’enseignant annonce qu’aujourd’hui, les élèves vont apprendre à repérer les instructions qui se répètent pour pouvoir simplifier des programmes. Pour cela, ils vont utiliser une instruction orange qui est accessible une fois que l’on a cliqué sur l’icône :
Cette instruction peut faire comme un pont au-dessus d’une ou plusieurs
instructions. Les élèves vont devoir expérimenter pour comprendre ce
qu’elle signifie. Ils seront alors prêts à simplifier le sous-programme
qui contrôle les déplacements de leur héros.
Recherche (idéalement par binômes)
L’enseignant propose successivement deux missions aux élèves :
- Ils doivent tout d’abord utiliser l’instruction « pont orange » pour faire déplacer le chat en escalier (un pas vers la droite, un pas vers le haut, un pas vers la droite, un pas vers le haut, etc.). Le chat doit démarrer de la case (ligne 3, colonne 3) et « monter 7 marches » quand on clique sur le drapeau vert.
- Une fois cette première mission accomplie, ils doivent ensuite utiliser l’instruction « pont orange » pour faire faire tout le tour de la scène au chat, 3 fois de suite (départ depuis la case (ligne 3, colonne 3)).
Note pédagogique
- On peut proposer aux élèves de placer les deux sous-programmes précédents dans la même zone de programmation, et de les faire déclencher par des événements différents : « clic sur le drapeau » et « clic sur le chat ».
- Une alternative est de créer un nouveau personnage et d’affecter un sous-programme au chat, et l’autre à ce nouveau personnage, avec déclenchement par des événements au choix des élèves.
Mise en commun
Pour le premier défi, un programme correct et respectant la consigne est :
L’enseignant demande aux élèves s’ils ont trouvé ce que signifie
l’instruction orange qui fait un pont. La classe arrive à la conclusion
que cette instruction demande de répéter tout le bloc d’instructions
qu’elle enjambe, le nombre de fois indiqué sur l’instruction. La classe
donne un nom à cette instruction, par exemple « répéter … fois ». Si les
élèves ne parlent pas spontanément de boucle, l’enseignant rappelle ce
terme en faisant référence à la séquence précédente (Séance 2.5 et Séance 2.6). Il indique que l’on peut introduire une boucle à chaque fois que des instructions se répètent.
Pour le deuxième défi, un programme correct et respectant la consigne est :
Les élèves sauvegardent leur programme d’essai n° 2 sous le nom « AE2 » pour la demi-classe A, et « BE2 » pour la demi-classe B.
Exercice (individuellement au sein d’un petit groupe)
L’enseignant projette un programme simple utilisant des boucles et des instructions de déplacement :
Il demande aux élèves ce que va faire le personnage si on lance le
programme. Les élèves doivent tracer les déplacements du personnage sur
une grille (Fiche 22).
Lors de la mise en commun, les élèves confrontent leurs propositions
(notamment concernant la ligne et la colonne d’arrivée), et on vérifie
collectivement en lançant effectivement le programme. Le trajet suivi
par le chat est le suivant :
Simplification du programme contrôlant les déplacements du héros (idéalement par binômes)
Pour terminer la séance, les élèves appliquent ce qu’ils ont appris pour simplifier leur programme de la Séance 2.1 qui contrôle les déplacements du héros. Le programme non simplifié (rappelé plus haut) devient :
L’enseignant rappelle aux élèves d’enregistrer leur programme modifié, sans changer son nom (AH1 pour le groupe A par exemple).
Conclusion et trace écrite
La classe synthétise collectivement ce qui a été appris au cours de cette séance.
Pour le début de cycle 2 :
- Une boucle permet de répéter plusieurs fois la même instruction.
Pour la fin de cycle 2 :
- Une boucle permet de répéter plusieurs fois la même instruction.
- Certaines boucles sont répétées un nombre précis de fois.
Les élèves notent ces conclusions dans leur cahier de sciences.
Puis les élèves complètent leur fiche d’utilisation de Scratch Junior :
ils y colorient en orange l’instruction qu’ils ont découverte lors de
cette séance et ajoutent quelques mots : boucle « répéter … fois »,
nombre de répétitions.
Prolongement
L'exercice en ligne suivant permet de se réapproprier le concept de boucles :
Extrait de "1, 2, 3... codez !", Editions Le Pommier, 2016-2017. Publié sous licence CC by-nc-nd 3.0.