Différents types de boucles
1, 2, 3, codez ! - Activités cycle 2 - Séance 2b.6: Différents types de boucles
Résumé |
Les élèves racontent la suite de l’aventure du héros : la pieuvre descend chercher le trésor au fond de la mer et remonte avec. Ils renforcent les notions introduites aux séances précédentes, notamment celle de boucle prédéfinie, et découvrent la notion de boucle infinie. |
Notions |
« Algorithmes » :
|
Matériel |
Pour la classe
Pour chaque binôme
Pour chaque élève
|
Lexique |
Boucle infinie |
Durée : |
1 heure + 30 min pour assurer la connexion entre les épisodes 2 et 3. |
Situation déclenchante
L’enseignant rappelle aux élèves que le héros, incapable d’atteindre lui-même le trésor qu’il voit au fond de la mer, guide un sous-marin, représenté ici par une pieuvre. Celui-ci remonte avec le trésor. Aujourd’hui, les élèves vont programmer cet épisode de l’histoire du héros.
Recherche (idéalement en binômes)
L’enseignant donne aux élèves leur mission de programmation : dans le même programme que la dernière fois, ils doivent ajouter une troisième scène, qui apparait une fois que l’hippocampe est visible dans l’océan. Sur cette scène, ils doivent placer un animal « décoratif » de leur choix, qui ne participe pas directement à l’histoire, et dont les mouvements se répètent pendant toute la scène. Il leur montre le résultat attendu (fichier « II-2bis_mer.sb2 »), en signalant qu’il a utilisé de nouveaux types d’instructions de la catégorie « Contrôle » :
Il discute avec la classe de la nature de ces instructions : ce sont des boucles, mais on ne décide pas à l’avance combien de fois elles vont s’exécuter. Certaines de ces boucles ont un espace en forme d’hexagone qu’il faut remplir avec une instruction de cette même forme. Il y en a dans la catégorie « Capteurs » (et dans la catégorie « Opérateurs », mais ce n’est pas utile ici), par exemple :
On obtient des combinaisons comme celle ci-dessous, que l’enseignant peut interpréter avec la classe et tester sur le lutin chat :
Le lutin chat avance de 10, attend 1 seconde, et recommence jusqu’à ce qu’il touche le bord. S’il touche le bord dès le départ, il ne fait donc rien. S’il démarre près du bord, il fera peut-être un ou deux déplacements, s’il démarre loin du bord, il fera davantage de déplacements.
Ceci étant compris, l’enseignant conseille de commencer par inactiver les sous-programmes des deux premiers épisodes du récit (pour cela, il suffit de les déconnecter de l’événement déclencheur), pour se concentrer sur l’épisode en cours … il faut essayer d’obtenir un résultat semblable, mais pas nécessairement identique, à ce qui a été montré par l’enseignant.
Mise en commun
Lors de la mise en commun, l’enseignant
revient sur les points qui ont pu poser problème. Il oriente la
discussion sur les nouveaux types de boucles : la boucle « répéter
indéfiniment » et la boucle « répéter jusqu’à … ». Si le temps le
permet, il laisse aux élèves la possibilité d’améliorer leur première
proposition à l’issue de la mise en commun. Sinon, les élèves pourront
faire ces améliorations pendant la séance annexe de 30 minutes qui leur
permettra aussi d’assurer la connexion entre les épisodes 2 et 3.
Le fichier « II_2bis_mer_correction_seance_6.sb2 » donne un exemple de
ce que l’on peut obtenir, une fois les sous-programmes des deux premiers
épisodes réactivés, et une fois la liaison entre épisodes du ponton et
de la mer programmée.
Note pédagogique
Certains élèves vont utiliser des instructions que la classe n’a pas
encore rencontrées. À ce stade où ils commencent à bien maîtriser le
logiciel, il est important de laisser leur créativité s’exprimer. Mais
pour faciliter leur découverte, l’enseignant doit leur conseiller de
tester régulièrement leurs programmes : il est en effet beaucoup plus
difficile de détecter un bug dans un programme que l’on a écrit d’un
bloc sans tests, que dans un programme qui a été testé au fur et à
mesure de son écriture.
Conclusion et trace écrite
La classe synthétise collectivement ce qui a été appris lors de cette séance :
- Certaines boucles sont répétées indéfiniment.
- Certaines boucles sont répétées jusqu’à ce qu’une condition soit vérifiée (par exemple, contact d’un lutin avec un autre lutin, contact d’un lutin avec une certaine couleur).
Les élèves notent cette conclusion dans leur cahier de sciences et complètent la fiche d’utilisation de Scratch en coloriant les instructions nouvellement rencontrées et en notant quelques mots-clés : boucle infinie, condition, contact avec un lutin, contact avec une couleur.
Extrait de "1, 2, 3... codez !", Editions Le Pommier, 2016-2017. Publié sous licence CC by-nc-nd 3.0.