SE CONNECTER
1,2,3... codez ! | Le site de la Fondation La main à la pâte
Module 123 Codez | Programmer | Informatics and Digital Creation

Boucle prédéfinies et boucles infinies

1, 2, 3, codez ! - Activités cycle 2 - Séance 2.5: Boucles prédéfinies et boucles infinies

Résumé

Les élèves racontent un nouvel épisode de l’aventure du héros. 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  » :

  • Certaines boucles sont répétées indéfiniment.

Matériel

Pour la classe

  • Un système de vidéo-projection permettant de projeter l’écran d’une tablette à la classe entière.

Pour chaque binôme ou petit groupe

  • Une tablette utilisant un système d’exploitation Android ou iOS, et sur laquelle l’application Scratch Junior a été installée .

Pour chaque élève

Lexique

Boucle infinie

Durée :

1 heure

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 un hippocampe. 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. Pour qu’un sous-programme se répète indéfiniment, il faut placer l’instruction rouge suivante à la fin de celui-ci :

Puis les élèves doivent faire apparaître l’hippocampe, qui descend chercher le trésor en faisant des allers-retours de gauche à droite et en descendant progressivement. Le trésor est un coffre situé tout au fond de l’eau. Lorsque l’hippocampe le touche, tous deux remontent à la surface en même temps. Pour déclencher un sous-programme lorsque deux personnages se touchent, il faut utiliser l’instruction jaune suivante :

Comme à la séance précédente, l’enseignant laisse les élèves tâtonner en les guidant le moins possible pour que des problèmes émergent. Si nécessaire, il montre certaines commandes collectivement à l’aide de la tablette de présentation, mais les élèves doivent pouvoir être de plus en plus autonomes. Il est néanmoins nécessaire de leur rappeler de sauvegarder leur programme sous le nom AH3 ou BH3 selon leur demi-classe.

Note pédagogique
Il est possible de pré-programmer sur chaque tablette une partie du travail de la séance et de proposer aux élèves de compléter / modifier le programme.

Mise en commun

Lors de la mise en commun, l’enseignant revient sur les points qui ont pu poser problème.
Par exemple, si la remontée de l’hippocampe est déclenchée par son contact avec un autre personnage, il ne faut surtout pas que l’animal « décoratif » rencontre l’hippocampe pendant sa descente. Les élèves doivent choisir des positions et des mouvements de l’hippocampe et de l’autre animal de façon à éviter toute collision entre eux.
Voici des exemples de programmes respectant les consignes, pour chacun des personnages (hippocampe, coffre au trésor et poisson décoratif), mais il y aura autant de propositions que de tablettes !



Des positions initiales compatibles avec ces programmes sont :

  • Hippocampe : (ligne 14, colonne 4)
  • Coffre au trésor : (ligne 2, colonne 3)
  • Poisson « décoratif » : (ligne 12, colonne 18)

Un état intermédiaire de la scène ressemble à ceci :

Note pédagogique
Certains élèves vont utiliser des instructions que la classe n’a pas encore rencontrées (notamment en se basant sur la fiche d’utilisation de Scratch Junior qui donne un aperçu de l’ensemble des commandes). À 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 :

  • Une boucle permet de répéter plusieurs fois la même instruction.
  • Certaines boucles sont répétées indéfiniment.

Les élèves notent cette conclusion dans leur cahier de sciences et complètent la fiche d’utilisation de Scratch Junior  en coloriant les instructions nouvellement rencontrées et en notant quelques mots-clés : événement « contact avec un autre personnage », boucle infinie.