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 efficaces, y compris des codes comprenant des instructions conditionnelles et d’autres structures de contrôle.
Habileté : résoudre des problèmes de façons computationnelles
Le codage peut être utilisé afin d’automatiser des tâches et de visualiser les mathématiques pour faciliter 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. L’élève peut donc utiliser le questionnement « qu’arrivera-t-il si…? ».
De plus, la question « qu’arrivera-t-il si…? » permet d’entamer une conversation sur les conditions et les instructions conditionnelles. Par exemple, dans un problème de probabilité, on pourrait se demander « qu’arrivera-t-il si je lance un dé 1 000 fois? » ou même « combien de fois est-ce que j’obtiendrai 2 en lançant un dé 1 000 fois? ». Étant donné le temps requis pour effectuer cette expérience manuellement, le code devient une façon efficiente de résoudre un tel problème.
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.
Par exemple, la représentation du problème portant sur le dé peut se faire avec une séquence de code qui ressemble à ceci :
Dans ce code, un nombre aléatoire de 1 à 6 est utilisé pour représenter l’action de lancer un dé, et l’instruction conditionnelle « si résultat = 2, alors ajouter 1 à la variable (nombre de “2”) » permet essentiellement de compter le nombre de fois qu’est obtenu le nombre 2.
L’élève pourrait aussi associer une instruction conditionnelle à un sprite afin de représenter visuellement les faces du dé selon le résultat.
Habileté : écrire un code
L’écriture ou la rédaction d’un code consiste à placer 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. La rédaction du pseudocode, quant à elle, consiste à rédiger les directives du 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érentes.
Avec l’ajout d’instructions conditionnelles par exemple, l’élève a plusieurs commandes à sa disposition, ce qui permet de faire des codes plus complexes. Par contre, cela nécessite l’utilisation d’une certaine syntaxe au moment de rédiger le pseudocode. L’élève devra d’abord utiliser des espaces et des retraits de manière stratégique afin de représenter l’intention du pseudocode et de faciliter le transfert vers du code.
Voici un exemple de pseudocode dans lequel des costumes sont associés au résultat obtenu après avoir lancé un dé. Ici, on utilise la commande « si, alors, sinon » afin de permettre plusieurs possibilités.
Sprite – DÉ Costumes : Variables : RÉSULTAT |
METTRE « RÉSULTAT » À (NOMBRE ALÉATOIRE 1-6) |
SI « RÉSULTAT » = 1 ALORS METTRE COSTUME : SINON |
SI « RÉSULTAT » = 2 ALORS METTRE COSTUME : SINON |
SI « RÉSULTAT » = 3 ALORS METTRE COSTUME : SINON |
SI « RÉSULTAT » = 4 ALORS METTRE COSTUME : SINON |
SI « RÉSULTAT » = 5 ALORS METTRE COSTUME : SINON METTRE COSTUME : |
En disposant les instructions (si, alors, sinon) sur une nouvelle ligne et en retrait, il sera plus facile de transformer ce pseudocode en code à l’ordinateur. Il est à noter que le pseudocode a pour but de faciliter la compréhension du code à l’élève, donc la structure exacte pourrait différer d’élève en élève. L’important, c’est que l’élève puisse comprendre ce qui se passe dans le pseudocode.
Habileté : exécuter un code
L’exécution d’un code est l’étape pendant 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 sortie différente 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 les langages de programmation textuels nécessitent des logiciels de compilation précis qui font essentiellement la traduction du code, du langage de programmation vers le langage machine (par exemple, le code binaire) afin que celui-ci puisse exécuter le code. Cela s’applique aussi aux périphériques de robotique.
Voici quelques exemples de boutons d’exécution pour un logiciel de codage par blocs :
Boutons d'exécution dans la plateforme Makecode.
Boutons d'exécution dans la plateforme Scratch.
Boutons de compilation du logiciel de compilation Python Programiz
Connaissance : instructions conditionnelles
Une instruction conditionnelle est un type d’instructions en codage qui ordonne à l’ordinateur de comparer des valeurs et des expressions, et de prendre des décisions. Une instruction conditionnelle indique à un programme d’exécuter une action selon que la condition est soit vraie, soit fausse.
Les instructions conditionnelles sont d’abord présentes lorsque l’exécution d’un événement ou d’une séquence de code dépend de l’atteinte d’une condition précise. Des valeurs booléennes (vrai ou faux) sont souvent utilisées et associées à des termes tels que si, sinon, jusqu’à et lorsque.
Le code permet la représentation de multiplications à l’aide de la disposition rectangulaire et pourrait être transformé afin de déterminer si la disposition représente un carré ou non. Il s’agirait alors du pseudocode suivant :
Si « valeur_1 » = « valeur_2 »
Alors
Dire « Oui, c’est un carré! »
Sinon
Dire « Non, ce n’est pas un carré! »
Puisqu’il est question d’une forme géométrique, les noms donnés à « valeur_1 » et « valeur_2 » pourraient être plus précis, comme « base » et « hauteur ». Voici un exemple de code représentatif de ce pseudocode :
Dans cette vidéo, l’élève crée et modifie des codes comprenant des instructions conditionnelles et d’autres structures de contrôle.
Source : Basé sur En avant, les maths!, 5e année, ML, Algèbre, p. 14-16
Description de la vidéo
Description à venir
Connaissance : événements et structures (connaissances antérieures)
Événements séquentiels
Ensemble d’instructions exécutées les unes après les autres, généralement de haut en bas ou de gauche à droite sur un écran.
Exemple
Événements simultanés
Plusieurs événements qui se produisent en même temps.
Exemple
Événements répétitifs
Événements qui se répètent. Dans le cadre d’activités de codage, les boucles sont utilisées dans le code pour répéter les instructions.
Exemple
Événements imbriqués
Structures de contrôle placées à l’intérieur d’autres structures de contrôle. Par exemple, des boucles survenant à l’intérieur de boucles ou une instruction conditionnelle en cours d’évaluation dans une boucle.
Exemple