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, simultanés et répétitifs.

Habileté : résoudre des problèmes de façons computationnelles


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’essai-erreur, donnant à l’élève l’occasion de résoudre des problèmes en apprenant de ses erreurs. L’élève peut donc faire appel au questionnement du type « qu’arrivera-t-il si...? ».

Par exemple, l’élève pourrait se demander : « Qu’arrivera-t-il si je lance un dé 1000 fois? »

Mille lancers de dé est une tâche répétitive qui exige du temps, mais avec quelques lignes de code, cette tâche ne prend que quelques secondes :

image Blocs de codage imbriqués les uns avec les autres.Bloc de contrôle « répéter 1000 fois », répéter quand toutes les étapes sont terminées.Bloc de contrôle : mettre dé à nombre aléatoire entre un et 6.Bloc de variable ajoutée dé à lancer.

Dans cette séquence, une variable nommée DÉ aura une valeur aléatoire assignée de 1 à 6, soit les options résultant du lancer d’un dé à six faces. Chaque résultat s’ajoute à une liste nommée LANCERS. L’exécution de ce code prend moins d’une seconde, et l’élève obtient une liste des résultats de lancers, qui lui servira à faire l’analyse de données.

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 visualisées, ce qui peut concrétiser des concepts très abstraits.

Par exemple, les boucles sont d’excellents outils pour représenter la multiplication au moyen de l’addition répétée. L’élève pourrait donc interpréter une multiplication en codant une disposition rectangulaire comme suit :

image Un bloc de codage commençant par un bloc de contrôle qui montre « quand » un drapeau vert « est cliqué ». Ce bloc est empilé sur un bloc de mouvement qui montre « aller à x » et une bulle montrant « moins 200 », « i grec » et une bulle montrant « moins 150 ». Empilé sur le bloc de variables suivant qui montre le mot « mettre » puis « Rangé » avec une flèche vers le bas, à côté de cela « à » « Zéro » dans une bulle. Ce bloc est empilé sur un bloc d'apparence avec le mot « montrer ». Ce bloc est empilé sur un nouveau bloc de contrôle qui commence par un bloc indiquant « répéter », « 6 » dans un cercle suivi du mot « fois ». En dessous est empilé un autre bloc de contrôle qui montre « créer un clone de » dans une autre bulle « moi-même » avec une flèche vers le bas. Le bloc suivant dans la pile est un bloc de mouvement qui montre « avancer de » une bulle montre « 70 », « pas ». La séquence de contrôle se répète trois fois, puis elle est empilée sur un bloc de mouvement qui montre « aller à x » et une bulle montrant « moins 200 », « i grec » et une bulle montrant « moins 150 ». En dessous, un bloc de variables indique « ajouter » et une bulle indiquant « un » « à », puis « Rangé » avec une flèche vers le bas, à côté de « à » « i grec ». En dessous, un bloc de variables indique « ajouter » et une bulle indiquant « 30 », puis « Rangé » avec une flèche vers le bas, à côté de « à » « i grec ». La séquence se termine par un bloc d'apparence avec le mot « cacher ».

Ce code fera une disposition de six rangées de quatre « clônes » du sprite en question. Il existe cependant plusieurs combinaisons de blocs pour représenter une multiplication ayant un produit de 24, permettant aux élèves de représenter une même situation de multiples façons.

Habileté : écrire du 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.

Les suites à motif répété sont une excellente occasion de s’exercer à rédiger du code avec des boucles, car elles nécessitent peu de variables et de conditions de départ. L’élève pourrait définir son motif en utilisant des blocs de déplacement, d’apparence, de sons, etc., puis utiliser des boucles pour prolonger la suite. Le pseudocode ci-dessous représente un exemple d’une suite à motif répété, qui utilise les costumes d’un sprite pour créer le motif.

Lorsque le code est exécuté :

Répéter 6 fois :

Choisir le costume « rouge »

Faire une copie du sprite

Avancer de 20 pas

Choisir le costume « bleu »

Faire une copie du sprite

Avancer de 20 pas

Choisir le costume « jaune »

Faire une copie du sprite

Avancer de 20 pas

Choisir le costume « bleu »

Faire une copie du sprite

Avancer de 20 pas

 

Le résultat de ce code serait six motifs d’une suite ABCB.

Habileté : exécuter du 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.

Voici quelques exemples de boutons d’exécution pour un logiciel de codage par blocs :

Boutons d’exécution d’un logiciel de codage.

Source : Microbit.

Boutons d’exécution d’un logiciel de codage.

Source : Scratch.

Connaissance : événements répétitifs


Des événements répétitifs sont des é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. Voici quelques exemples de blocs qui représentent des boucles :

Scratch Jr

Scratch

Make:Code

Bloc de contrôle : « répéter 4 fois », Bloc de contrôle : « répéter 4 fois », Bloc de contrôle : « répéter 4 fois »,


Dans chaque cas ci-dessus, le code qui se trouve à l’intérieur de la boucle serait répété quatre fois.

La boucle étant analogue à la multiplication en raison de sa nature, l’utilisation d’événements répétitifs est idéale pour résoudre des problèmes faisant appel à la pensée multiplicative.

Nous pouvons d’abord utiliser la boucle pour représenter une multiplication. Prenons le code suivant :

Blocs de codage imbriqués les uns avec les autres :Bloc de départ : drapeau vert.Blocs de contrôle : répétez 4 fois, à recommencer quand la série est terminée. Bloc de mouvement : avancer de 60 pas.Bloc de contrôle : créer un clone de moi-même.

Le comportement du sprite en fonction de ce code sera de se déplacer de 60 pas (dans ce contexte, un pixel représente un pas), et de faire une copie de lui-même. Ce comportement sera répété quatre fois, tel qu’il a été défini par la boucle. Le code est donc une représentation de l’opération 1 × 4, et le résultat est représenté à l’écran après avoir cliqué sur le drapeau vert.

Il y a 2 prises d’écran.Sur la première prise d‘écran avant de cliquer sur le drapeau vert : il y a le sprite « pomme ». Sur la deuxième prise d’écran, après avoir cliqué sur le drapeau vert : il y a 4 sprites « pomme ».

En ajoutant des sprites, l’opération qui est représentée peut être modifiée. Dans cet exemple, il y a trois sprites, soit Pomme_1, Pomme_2 et Pomme_3, qui ont chacun du code identique.

image Prise d’écran de scratch : Avec le code suivant à gauche : Bloc de départ : drapeau vert. Bloc de contrôle : répéter 6 fois, et recommencer quand la série est complétée. Bloc de mouvement : avancer de 60 pas. Bolc de contrôle : créer un clone de moi-même.À droite 3 Sprite en forme de pommes, les uns en dessous des autres. En bas de l’écran, le nom de chaque Sprite.

Lorsque le code est exécuté en cliquant sur le drapeau vert, une représentation en disposition rectangulaire de l’opération 3 × 6 apparaît, soit trois rangées de six pommes.

image Prise d’écran de scratch :Avec le code suivant à gauche :Bloc de départ : drapeau vert. Bloc de contrôle : répéter 6 fois, et recommencer quand la série est complétée. Bloc de mouvement : avancer de 60 pas. Bloc de contrôle : créer un clone de moi-même. À droite 18 Sprite en forme de pommes, les uns en dessous des autres. En bas de l’écran, le nom de chaque Sprite.

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