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 :

Ligne de codage : Une grenouille, bloc de départ drapeau vert, bouge vers la droite, 3 fois, bouges vers le haut, 3 fois, bouge vers la droite, 3 fois, bouges vers le bas, fin

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 :

Ligne de codage :Une grenouille à la gauche de cinq objets de directions accolées. Les deux premiers objets sont marqués d’une flèche pointant vers la droite, une fois, les deux dernières sont marquées d’une flèche pointant vers le haut, une fois.

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 :

Exemple de boutons d’exécution.

Source : Microbit.

Exemple de boutons d’exécution.

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

Carte d’une ville fictive.

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 :


Ligne de codage : Le premier bloc est jaune et contient un drapeau vert. Les 8 blocs suivants sont des blocs de mouvement. De gauche à droite, les mouvements demandés sont : droite, haut, droite, haut, droite, haut, droite, haut. Chaque mouvement se fit une fois.

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.

Ouvrir description de la video Description de la vidéo

Description à venir