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 :

Blocs de codage attachés ensemble :Bloc de variable : mettre résultat à « nombre aléatoire entre un et 6.Bloc de contrôle : si « résultat égal 4 » alors.Bloc de variable ajouter un à « nombre de « 2 ». ».

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 : Sprite : 6 dés, ils sont respectivement sur leur face de un à 6.

Variables : RÉSULTAT

METTRE « RÉSULTAT » À (NOMBRE ALÉATOIRE 1-6)

SI « RÉSULTAT » = 1

ALORS METTRE COSTUME : Sprite : dé, face un.

SINON

SI « RÉSULTAT » = 2

ALORS METTRE COSTUME : Sprite : dé, face 2.

SINON

SI « RÉSULTAT » = 3

ALORS METTRE COSTUME : Sprite : dé, face 3.

SINON

SI « RÉSULTAT » = 4

ALORS METTRE COSTUME : Sprite : dé, face 4.

SINON

SI « RÉSULTAT » = 5

ALORS METTRE COSTUME : Sprite : dé, face 5.

SINON

METTRE COSTUME : Sprite : dé, face 6.

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 d’un logiciel de codage.

Boutons d'exécution dans la plateforme Makecode.

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

Boutons d'exécution dans la plateforme Scratch.

Exécuté.

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 :

Blocs de codage attachés ensemble :Bloc de variable : si base égal hauteur alors.Bloc apparence : dire « oui c’est un carré ».Bloc variable : sinon.Bloc d’apparence : « non, ce n’est pas un carré.

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

Ouvrir description de la video 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

Bloc de départ Drapeau vert, bouges vers le bas, répéter 5 fois, bouges vers la droite, répéter 2 fois.

Événements simultanés

Plusieurs événements qui se produisent en même temps.

Exemple

Bloc de départ, bouges vers la droite, 6 fois. Bouges vers le haut 2 fois. Envoyer un message.Commencez un message, bouges vers la droite, 4 fois. Commencez un message, bouges vers e haut, 4 fois.

É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

Blocs de codage attachés ensemble.Bloc évènement : drapeau vert.Bloc de contrôle : répéter 4 fois.Bloc de mouvement : avancer de 60 pas.Bloc de contrôle : créer un clone de moi-même.Répéter.

É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

Bloc de contrôle : répéter 3 fois.Bloc de contrôle répéter 4 fois.