C3.1 Résoudre des problèmes et créer des représentations de situations mathématiques de façons computationnelles en écrivant et en exécutant des codes, y compris des codes comprenant des événements séquentiels et des événements simultanés.
Habileté : résoudre des problèmes de façon computationnelle
Le codage peut être utilisé pour automatiser des tâches et visualiser les mathématiques afin de faciliter la résolution de problèmes. Par sa nature même, le codage se prête bien à l’apprentissage par essais et erreurs, ce qui donne à l’élève l’occasion de résoudre des problèmes en apprenant de ses erreurs. L’élève peut donc utiliser le questionnement « Qu’arrivera-t-il si…? »
L’élève, par exemple, pourrait se poser la question « Qu’arrivera-t-il si deux sprites contiennent le même code? » ou « Qu’arrivera-t-il si deux sprites contiennent le même nombre de déplacements, mais que le code n’est pas identique? » À l’aide de cet exemple, il est possible d’explorer le concept d’équivalence et d’animer une conversation mathématique à cet effet. Poser d’abord aux élèves la question suivante :
- Est-ce que les déplacements des deux sprites sont équivalents?
- Oui, les deux sprites sont arrivés au même endroit.
- Oui, les deux sprites se sont déplacés pendant la même durée de temps.
- Non, les deux sprites ont effectué différents déplacements.
- Non, les deux sprites ne sont pas arrêtés au même endroit.
Note : Il est important de permettre aux élèves d’expérimenter à l’aide du code et non de faire une démonstration à cette étape-ci. Cela aura une incidence sur les réponses.
Habileté : représenter des situations mathématiques de façons computationnelles
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.
L’élève, par exemple, peut coder un « défilé de sprites » afin de représenter deux suites à motifs répétés en même temps en utilisant du code. Le code à l’intérieur du sprite pourrait avoir un motif répétitif de déplacements qui est accompagné d’un motif répétitif de paroles d’une chanson. Voici un exemple de code possible :
Ligne de codage. Sprite de poule. Bloc de départ drapeau vert. Bouges vers la droite. Sautes une fois. Sautes une fois. Bouges vers la droite. Bouges vers la droite. Sautes unes fois, sautes une fois. Bouges vers la droite.Sprite poule. Bloc de départ drapeau vert. Les 7 blocs suivant sont des blocs de discussion, il y a un mot par blocs, cela forme la phrase : JE suis une poule. Je suis une poule.Ici, on voit deux différentes suites à motif répété en même temps, soit une suite ABBA et une suite ABCD.
Habileté : écrire du code
L’écriture ou la rédaction d’un code consiste à mettre des instructions dans un ordre précis, en respectant la syntaxe d’un langage de programmation. La rédaction de code peut ressembler à la rédaction d’un texte. Le pseudocode consiste à rédiger les directives 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.
La situation qui suit, par exemple, présente deux papillons qui doivent faire une course d’obstacles :
Les élèves pourraient rédiger du code afin que les deux papillons commencent la course en même temps, mais qu’un
des papillons atteigne la cible avant l’autre. Le code résultant pourrait ressembler à ceci :
Code possible du papillon jaune :
Ligne de codage. Sprite papillon. Bouges vers le haut, 2 fois. Bouges vers la droite, 4 fois. Bouges vers le bas, 3 fois. Bouges vers la droite, 11 fois. Bouges vers le bas. Bouges vers la droite, 2 fois. Bouges vers le haut. Bouges vers la droite, 2 fois. Bouges vers le bas, 3 fois. Bouges vers la gauche, 2 fois. Bouges vers le haut, 2 fois. Bouges vers la droite. Bloc de discussion, J’ai. Fin.Code possible du papillon violet :
Ligne de codage. Sprite papillon. Bouges vers le haut, 2 fois. Bouges vers la droite, 4 fois. Bouges vers le bas, 3 fois. Bouges vers la droite, 6 fois. Bouges vers le haut, 2 fois. Bouges vers la droite, 3 fois. Bouges vers le haut 3 fois. Bouges vers la droite. Bouges vers le haut. Bouges vers la droite, 2 fois. Bouges vers le bas 2 fois. Bouges vers la droite, 2 fois. Bouges vers le haut, 3 fois. Bouges vers la gauche. Bouges vers le bas, 2 fois. Bouges vers la droite. Bloc de discussion, J’ai. Fin.Habileté : exécuter du 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é (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 par l’entremise 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.
Quelques exemples de boutons d’exécution d’un logiciel de codage par blocs :
Source : Microbit.
Source : Scratch.
Connaissance : événements simultanés
Des événements simultanés sont simplement des événements qui se produisent en même temps. Il est à noter, cependant, que les événements n’ont pas besoin d’être identiques pour être considérés simultanés.
Un exemple courant de l’utilisation d’événements simultanés est les déplacements en diagonale. La plupart des logiciels de codage en blocs et de robotique permettront des déplacements dans quatre directions (par exemple, haut, bas, gauche, droite), mais un déplacement diagonal nécessite un déplacement horizontal et un déplacement vertical en même temps.
Prenons, par exemple, la ville imaginaire suivante :
Afin qu’un sprite puisse se rendre du poste de police à l’école, il devra effectuer un déplacement horizontal vers la droite, un petit déplacement vertical vers le haut et un déplacement diagonal vers le coin supérieur droit. Le code correspondant pourrait ressembler à ceci :
Ce code contient deux situations de départ simultanées, soit la réception du message qui est symbolisée par
l’enveloppe orangée.
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