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

Choisir le héros et contrôler ses déplacements

1, 2, 3, codez ! - Activités cycle 2 - Séance 2b.3: Choisir le héros et contrôler ses déplacements

Résumé

Les élèves racontent un premier passage de l’aventure de leur héros, dans lequel, tout juste sorti de la forêt, il longe la rivière jusqu’à la mer. Ce faisant, ils réinvestissent des notions vues à la séance précédente (séquence d’instructions et événement), découvrent la notion d’initialisation et utilisent des boucles.

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 ordinateur sur lequel le logiciel Scratch a été installé et un système de vidéo-projection.

Pour chaque binôme

  • Un ordinateur sur lequel l’application Scratch a été installée. L’enseignant aura préparé les postes de travail en copiant les fichiers Scratch (extension .sb2) mis à disposition ICI.

Pour chaque élève

Lexique

Initialisation, boucle « répéter … fois »

Durée :

1 heure

Situation déclenchante

L’enseignant demande aux élèves de se remémorer collectivement les aventures de leur héros ou de leur héroïne : il s’est retrouvé mystérieusement au sommet d’une montagne et a réussi à atteindre une clairière. Là, sur un tronc d’arbre, il a trouvé un message qu’il a réussi à décoder. Ce message l’incitait à suivre la rivière jusqu’à la mer, et à rechercher un trésor au fond de l’eau. L’épisode que les enfants vont raconter aujourd’hui, avec Scratch, est celui où le héros longe la rivière.

Choix d’un héros et contrôle de ses déplacements (idéalement par binômes)

Les élèves ouvrent le fichier pré-rempli « II-2bis_riviere.sb2 » à l’aide du logiciel Scratch. La scène représente une forêt, une clairière et une rivière, afin que les élèves puissent raconter l’épisode où le héros suit la rivière. Un lutin est déjà présent : le héros de l'histoire. Il est positionné vers la gauche de l'écran juste à la sortie de la forêt.

Les élèves commencet par choisir le personnage principal de l'histoire parmi les trois héroïnes et les trois héros possibles. Pour cela, ils doivent :

  • sélectionner le lutin "héros" par un clic sur lui dans la zone "Lutins" :
  • cliquer sur son onglet "Costumes" pour visualiser les 6 personnages possibles
  • Faire glisser le costume de leur choix en première position et éventuellement supprimer les costumes inutiles en cliquant sur la petit croix grise qui apparaît lorsqu'on les sélectionne.
  • Revenir à la programmation en cliquant sur l'onglet "Scripts".

Une fois ce travail effectué, les élèves ont mour mission decontrôler ses déplacement pour qu’il aille jusqu’à la rivière puis la longe jusqu’au coin en bas à droite de l’écran avant de disparaître. Les déplacements doivent être déclenchés par un clic sur le drapeau vert.

Les élèves doivent utiliser uniquement des instructions qui sont déjà dans la zone de programmation du personnage (éventuellement en plusieurs exemplaires, auquel cas, il leur faut retourner chercher des exemplaires de ces instructions dans la liste des instructions au centre de l’écran, ou les dupliquer suite à un clic-droit). Ils ne sont pas obligés d’utiliser toutes les instructions.
Les instructions utilisables sont les suivantes, et il est possible d’en modifier les valeurs :

Mise en commun (collectivement)

Un binôme vient présenter sa proposition à l’ordinateur de démonstration. La classe s’appuie sur cette présentation pour discuter des difficultés rencontrées par les différents binômes et partager les solutions trouvées. Il peut y avoir autant de propositions que de groupes, mais une possibilité est la suivante :

Notes pédagogiques

  • Nous avons choisi de pré-sélectionner 6 personnages plutôt que de laisser les élèves choisir dans la vaste bibliothèque de lutins de Scratch, afin que les personnages aient tous une dimension semblable, qu’ils aient tous la même orientation de départ et surtout afin que le temps de la séance soit affecté à de la programmation plutôt qu’à d’interminables discussions sur le choix d’un personnage. Il est toutefois possible, sur un temps d’arts plastiques ou de TICE, de laisser les élèves créer leur personnage à l’aide des outils de dessin de Scratch, ou modifier un personnage existant.
  • Au départ, les élèves imaginent le plus souvent de contrôler le déplacement du héros en une seule instruction, par exemple : « avancer de 400 ». Mais ils s’aperçoivent que le déplacement est quasiment instantané et pas du tout réaliste. L’idée émerge alors de faire plusieurs petits déplacements, en utilisant ou pas l’instruction « répéter … fois ». Mais si les élèves n’utilisent pas l’instruction « attendre … secondes » entre deux déplacements successifs, cela ne règle pas le problème.
  • Les élèves pensent généralement à utiliser l’instruction « cacher » pour que le personnage disparaisse à la fin du programme, mais lorsqu’ils essaient de relancer le programme, leur personnage n’apparaît pas. Il conserve en effet son état « caché », car aucune instruction ne lui demande d’en changer. Ce problème se règle facilement en ajoutant une instruction « montrer » en début de programme. Cette instruction est une initialisation, qui donne la situation initiale, tout comme l’instruction « s’orienter à 90 ».
  • De la même façon, si les élèves positionnent leur personnage à la lisière de la forêt par un cliquer-glisser sur la scène, sans imposer cette position initiale par une instruction dans le programme, le personnage part de cette position lors du premier lancement, mais n’y revient pas lorsque le programme est relancé. C’est ce qui justifie l’ajout de l’instruction « aller à x : … y : … » en début de script. Cette instruction est aussi une initialisation. Remarquons que le positionnement manuel du personnage a tout de même un intérêt : l’instruction « aller à x : … y : … » prend les valeurs de x et y correspondant à cette position et il n’y a plus, alors, qu’à placer cette instruction dans la zone de programmation pour s’en servir.
  • L’enseignant oriente la discussion sur le rôle de l’instruction « répéter … fois » et fait émerger le terme « boucle », vu à la Séance 1.5 et à la Séance 1.6 de la séquence précédente. Il demande où doivent être placées les instructions à répéter : elles doivent être prises comme en étau dans l’instruction « répéter … fois ». L’enseignant précise que dans ce type de boucle, on décide à l’avance combien de fois on veut répéter les instructions : le nombre de répétitions est défini à l’avance, ou prédéfini.

Les groupes ont la possibilité de modifier leur première proposition à l’issue de la mise en commun, par exemple pour utiliser une boucle s’ils avaient fait sans. L’enseignant montre comment enregistrer le programme (Ficher, Enregistrer sous, emplacement à préciser) et impose un nom : A1 ou B1 pour ce premier épisode, selon que les élèves sont de la demi-classe A ou B.

Le fichier « II-2bis_riviere_correction_seance_3.sb2 » fournit un exemple de ce que l’on obtient à l’issue de cette séance.

Conclusion et trace écrite

La classe synthétise collectivement ce qui a été appris au cours de cette séance :

  • Certaines instructions servent à préciser un état de départ, aussi appelé état initial : ce sont des instructions d’initialisation.
  • 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 ils complètent leur fiche d’utilisation de Scratch : ils y colorient dans la couleur adéquate les instructions qu’ils ont découvertes lors de cette séance et ajoutent quelques mots : boucle prédéfinie, pause.