C3.1 Résoudre des problèmes et créer des représentations de situations mathématiques de façon computationnelle en écrivant et en exécutant des codes, y compris des codes comprenant des événements séquentiels.
Habileté : résoudre des problèmes de façon computationnelle
Le codage peut être utilisé afin d’automatiser des tâches et de visualiser les mathématiques, ce qui facilite la résolution de problèmes. Par sa nature même, le codage se prête bien à l’essai et à l’erreur, donnant à l’élève l’occasion de résoudre des problèmes en apprenant de ses erreurs. Elle ou il peut donc utiliser le questionnement « Qu’arrivera-t-il si…? ».
Par exemple, l’élève pourrait utiliser le code afin de montrer la position d’un sprite par rapport aux éléments d’un arrière-plan.
Dans cet exemple, l’élève devra créer une séquence de code afin de représenter la position de la grenouille en relation avec les petits champignons. Cela aide aussi à mettre en pratique le vocabulaire relatif (devant, derrière, en dessous, par-dessus, à gauche, à droite, etc.).
Habileté : représenter des situations mathématiques de façon computationnelle
Le codage peut servir d’outil de représentation de la même façon que le matériel de manipulation. En utilisant des blocs ou des commandes écrites, des situations mathématiques très complexes peuvent être modélisées et manipulées de manière visuelle, ce qui peut concrétiser des concepts très abstraits.
Par exemple, l’élève pourrait déterminer les déplacements requis afin de « faire 10 ». Voici une séquence de 10 mouvements :
Cette séquence représente un déplacement de trois blocs vers la droite, de trois blocs vers le haut, de trois blocs vers la droite et d’un bloc vers le bas. Cela pourrait être représenté par l’opération \(3 + 3 + 3 +1 = 10\). L’élève pourrait aussi utiliser la pensée algébrique afin de regrouper les déplacements semblables pour faire \(6 + 3 + 1 = 10\). Le déplacement par le bas pourrait aussi représenter une soustraction, d’où la représentation de \(3 + 3 + 3 − 1 = 8\). Il est donc possible d’utiliser une même séquence de code pour représenter plusieurs situations mathématiques.
Habileté : écrire le code
L’écriture ou la rédaction d’un code consiste à mettre des instructions dans un ordre précis en respectant la syntaxe d’une langue de programmation. La rédaction d’un code peut ressembler à la rédaction d’un texte, de même que le pseudocode consiste à rédiger les consignes pour un code dans la langue familière. Le codage par blocs peut faciliter le respect de la syntaxe en utilisant des formes et des couleurs de blocs différents.
Par exemple, le pseudocode ci-dessous décrit un sprite qui se déplacera à un endroit précis.
sprite – grenouille |
Condition de départ = vrai (drapeau vert) |
Déplacer 1 case vers la droite |
Déplacer 1 case vers la droite |
Déplacer 1 case vers la droite |
Déplacer 1 case vers le haut |
Déplacer 1 case vers le haut |
Fin |
Ce pseudocode peut agir comme l’étape de planification de l’écriture ou de préécriture. Le code résultant pourrait ressembler à ceci :
Habileté : exécuter le code
L’exécution d’un code est l’étape au cours de laquelle la séquence de code est lue et compilée par l’ordinateur. C’est à cette étape qu’un code fonctionnel donnera le résultat, ou la sortie désirée (et un code non fonctionnel donnera une différente sortie ou aucune sortie). Dans le codage par blocs, l’exécution d’un code est souvent faite au moyen d’un bouton dans l’interface, tandis que certains périphériques de robotique nécessitent des logiciels de compilation spécifiques qui font essentiellement la traduction du code de la langue de programmation à la langue du robot.
Voici quelques exemples de boutons d’exécution pour un logiciel de codage par blocs :
Source : Microbit.
Source : Scratch.
Connaissance : événements séquentiels
Ensemble d’instructions exécutées les unes après les autres, habituellement de haut en bas ou de gauche à droite sur un écran.
Par exemple, dans la carte d’une ville fictive comme celle présentée ci-dessous, on pourrait créer un pseudocode d’événements séquentiels afin de se rendre d’un édifice à l’autre
Position initiale = à gauche de la maison jaune |
Condition de départ = vrai |
Déplacer 5 pas Direction = bas ↓ |
Déplacer 2 pas Direction = droite → |
Position finale = devant le poste de police |
Le code correspondant à ce pseudocode, tel qu’il est programmé dans un logiciel de codage par blocs, pourrait ressembler à ceci :
La vidéo suivante montre la progression des apprentissages de la 1re à la 3e année par rapport aux divers types d’événements en codage.
Source : Adapté de En avant, les maths!, 3e année, ML, Algèbre, p. 15 à 20.
Description de la vidéo
Description à venir