Présentation de l’activité
Le but du problème est de reproduire ce jeu de calcul mental puis de lui apporter des améliorations. On y consacrera deux heures.
Public
Cette situation s'adresse à des élèves de cycle 4 ayant déjà pris le logiciel Scratch en main, par exemple pour des constructions de figures.
Objectifs
• Ecrire, tester, corriger un programme en réponse à un problème donné.
• Découvrir les notions de déclenchement d'une action par un événement extérieur et d'instructions conditionnelles.
• Réinvestir la notion de variable.
Prérequis
Mathématiques
• Tables de multiplication
T.I.C.E.
• Scratch : notions de programmation par blocs avec Scratch et de variable.
Déroulement de l’activité
Présentation
On annonce aux élèves que leur travail va consister à programmer un jeu de calcul mental.
Au vidéoprojecteur, on pourra le présenter à l'aide du fichier Calcul mental.sb2 (mettre la scène en mode "plein écran" pour ne pas montrer l'aire des scripts) ou de cette version en ligne.
S'il est nécessaire de faire découvrir aux élèves les nouveaux blocs qui vont être mis en jeu dans sa programmation,
on pourra :
- S’appuyer sur le programme de démonstration : Prog01
- Faire réfléchir les élèves à une ébauche d’algorithme (en langage naturel) et au cours d’une mise en commun s’interroger sur les blocs dont il faudrait disposer pour le programmer. Le professeur montrera alors l’existence de ces blocs.
Temps de recherche
La programmation d'un algorithme permettant d'obtenir instantanément une évaluation de la pertinence et de la solidité de cet algorithme, on mettra des ordinateurs à disposition des élèves.
Afin que chacun puisse analyser le jeu à programmer, on pourra diffuser ce lien auprès des élèves : https://scratch.mit.edu/projects/embed/114191127/?autostart=false
Pour que les élèves s'approprient et réinvestissent plus facilement les nouveaux blocs, on pourra diffuser ou laisser visible le programme de démonstration "Prog01".
Si nécessaire, on questionnera, au cas par cas, pour permettre à chacun d'avancer dans l'élaboration de son programme :
- Quelles sont les actions à prendre en compte et à programmer ?
- Pour chacune de ces actions, quels blocs utiliser ?
Pour permettre au plus grand nombre d'achever leur programme, on prolongera le travail des élèves les plus rapides en leur demandant d'imaginer des améliorations pour ce jeu :
- En cas de mauvaise réponse, le lutin donne la solution.
- A la fin du jeu, le lutin dresse un bilan en s'appuyant sur le score du joueur.
- Au début du jeu, le lutin propose au joueur de choisir entre différents niveaux de difficulté.
- Au début du jeu, le lutin propose au joueur de choisir de jouer avec des additions ou des multiplications.
Bilan intermédiaire
En fin de première heure et en s'appuyant sur les travaux menés par la classe, on reviendra sur l'élaboration du programme :
En début de deuxième heure, on relancera le travail : on souhaiterait que le lutin propose dorénavant 10 multiplications choisies aléatoirement.
S'il est nécessaire de faire découvrir aux élèves les nouveaux blocs qui vont être mis en jeu dans sa programmation,
on pourra :
- S’appuyer sur le programme de démonstration : Prog02
- Faire réfléchir les élèves à une ébauche d’algorithme (en langage naturel) et au cours d’une mise en commun s’interroger sur les blocs dont il faudrait disposer pour le programmer. Le professeur montrera alors l’existence de ces blocs.
Temps de recherche
Au cas par cas et selon les besoins, on questionnera pour guider dans la construction des programmes.
- Quels blocs pour choisir deux nombres au hasard et les stocker ?
- Quels blocs utiliser pour concaténer les différents éléments de la question posée par le lutin ?
- Quels blocs pour définir la condition de "bonne réponse" ?
- Quels blocs utiliser pour incrémenter le score de 1 en cas de bonne réponse ?
Pour permettre au plus grand nombre d'achever leur travail, on prolongera le travail des élèves les plus rapides en leur demandant d'envisager à nouveau des améliorations :
- Comment réduire la longueur du programme ? (boucle)
- Comment faire en sorte, qu'en cas d'erreur, le lutin donne la bonne réponse ?
Bilan final
Afin que les élèves gardent une trace de leur travail, les programmes pourront être imprimés.
On reviendra sur la construction du programme (en le reconstruisant au vidéoprojecteur avec l'aide de la classe ou en projetant et en commentant ceux réalisés par les élèves). On mettra alors en avant les différentes stratégies pour répondre à un même sous-problème, les instructions nouvelles et quelques "schémas type".
Voici trois productions d'élèves obtenues après deux heures de travail : Célia ; Alexis ; Canelle et Canelle
Prolongements possibles
- On souhaite intégrer un niveau de difficulté qui influera sur la borne maximale des nombres mis en jeu.
- On souhaite que l'opération posée soit choisie aléatoirement entre une addition, une soustraction et une multiplication.
- On souhaite intégrer un chronomètre qui mesure le temps mis pour répondre aux 10 questions.
En imaginant un nouveau programme de démonstration, on pourra alors présenter les blocs :
La variable "chronomètre" stocke le temps écoulé (en seconde) depuis l'utilisation du bloc "réinitialiser le chronomètre".
Documents utiles
• Fichier Calcul mental
• Fichiers Démo 1 ; Démo 2
• Fichier Calcul mental (10 multiplications aléatoires)
• Fichier Calcul mental (avec niveaux de difficulté)
• Fichier Calcul mental (avec type d'opérations aléatoire)
• Fichier Calcul mental (avec chronomètre)
Version 1 : inclue les temps de paroles du lutin
Version 2 : exclue les temps de paroles du lutin