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

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 »

  • 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.

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 « 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 :