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 l’analyse de données afin de prendre des décisions éclairées et de les communiquer.

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


Le codage peut être utilisé afin d’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 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… ? »

Par exemple, le recueil et l’analyse de données peut être exigeant si le tout est fait manuellement, mais avec l’aide de code, il est possible de recueillir des données rapidement et de les compiler dans une liste ou un chiffrier, ce qui facilite aussi l’analyse de celles-ci.

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, dans une feuille de calcul d’un chiffrier électronique, il est possible de représenter un calcul à plusieurs étapes avec une seule commande logique. Dans cet exemple, une addition à plusieurs termes est représentée par la commande SOMME, suivi des cellules devant être additionnées.

Tableau de calcul indiquant le montant total des dépenses uniques.

Habileté : écrire un code efficace


L’écriture ou la rédaction d’un code efficace consiste à placer des instructions dans un ordre précis, en respectant la syntaxe d’une langue de programmation, et en utilisant un minimum de blocs ou de commandes tout en obtenant le résultat désiré. La rédaction de code peut ressembler à la rédaction d’un texte, de même que 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.

Par exemple, la mise en forme conditionnelle de cellules dans un chiffrier électronique nécessite quelques lignes de code, mais peut rendre l’analyse de données ou l’identification de valeurs aberrantes très facile et efficace. Dans cet exemple, on voit deux conditions pour la couleur des cellules D12 à D15 d’une feuille de calcul.

Règles de formatage :  Carré vert marqué 123 : la valeur est supérieure à 20.  Carré jaune marqué 123 : la valeur est comprise entre dix et 20.  Carré rose marqué 123 : la valeur est inférieure à dix.

Note : Pour la capture de la mise en forme conditionnelle, il faut faire un clic à droite sur la cellule et choisir « mise en forme conditionnelle »

On pourrait aussi représenter cette situation avec du pseudocode, soit :

Pour D12:D15

SI (valeur) < 20 OU (valeur) = 20

ALORS couleur = VERT

SINON couleur = ROUGE

Habileté : exécuter un code


L’exécution d’un code est l’étape durant 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 par l’entremise d’un bouton dans l’interface, tandis que les langues de programmation textuelles nécessitent des logiciels de compilation spécifiques qui font essentiellement la traduction du code de la langue de programmation à la langue de la machine (par exemple, le code binaire) afin que celle-ci puisse faire fonctionner le code. Cette dernière s’applique aussi aux périphériques de robotique.

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.

Execute.

Boutons de compilation du logiciel de compilation Python Programiz

Habileté : analyser des données avec un code


Afin de prendre de bonnes décisions, il faut de bonnes données. Les logiciels de codage et les microcontrôleurs (par exemple, Arduino, Micro:bit, etc.) permettent l’automatisation de la collecte et de l’analyse des données, ce qui permet les prises de décisions et qui fournit de bons arguments pour appuyer ces décisions. L’entrée de données peut se faire de plusieurs façons. Par exemple, un code pourrait être rédigé afin de permettre la collecte de données par l’entremise d’un formulaire qui compilera les données dans un tableur électronique. La majorité des tableurs électroniques acceptent les codes pour faciliter l’analyse de données.

Scénario à coder : combien de temps passes-tu à l’écran lors d’une journée typique?  -Moins d'une heure  -Entre une heure et 2 heures  -Entre 2 heures et 3 heures -Plus de 3 heures Scénario de codage: combien de temps passes-tu à l’écran lors d’une journée typique? -Entre une heure et 2 heures, répétées 8 fois -Entre 2 heures et 3 heures

Les données brutes peuvent être transformées en tableau de fréquences relatives, et une mise en forme conditionnelle peut être appliquée aux cellules pour mettre en surbrillance des données ou des tendances précises.

Tableau de valeurs montrant des données sur « combien de temps passes-tu à l’écran lors d’une journée typique? » Règles de mise en forme conditionnelle.  Carré vert marqué 123 : la valeur est supérieure à 20.  Carré jaune marqué 123 : la valeur est comprise entre dix et 20.  Carré rose marqué 123 : la valeur est inférieure à dix.  Plus ajouter une règle.

Note : Pour la capture de la mise en forme conditionnelle, il faut faire un clic à droite sur la cellule et choisir « mise en forme conditionnelle »

Les capteurs permettent d’aller un pas plus loin. Plusieurs microcontrôleurs ont des capteurs installés ou enfichables qui permettent la collecte des données. Ces microcontrôleurs peuvent se retrouver partout dans le quotidien de l’élève — le thermostat intelligent qui agit comme interrupteur qui active le système de ventilation lorsqu’une température est atteinte, ou l’accéléromètre d’un téléphone intelligent ou une montre intelligente qui détermine le nombre de pas qu’une personne prend dans la journée afin de déterminer la distance parcourue. Des discussions sur les façons dont les données sont recueillies et analysées par l’entremise du codage permettront à l’élève d’explorer davantage les limites de ce qui est possible à accomplir avec du code.

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, bouge vers le bas, répéter 5 fois, bouge 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, bouge vers la droite, 6 fois. Bouge vers le haut 2 fois. Envoyer un message. Commencez un message, bouge vers la droite, 4 fois.  Commencez un message, bouge 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 codages attachés les uns aux autres. Bloc évènement : départ au 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.

Instructions conditionnelles

Type d’instructions de codage qui indique à 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 vraie ou fausse, souvent en utilisant le vocabulaire SI, ALORS et SINON.

Exemple

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é.

Efficacité du code

La pratique de rédiger un code fonctionnel en utilisant un minimum de blocs ou de commandes.

Exemple

2 blocs de codage' aria-describedby='descripimage154

Blocs de codage attachés les uns aux autres : Bloc d’évènement : quand drapeau vert est cliqué. Bloc stylo : effacer tout. Bloc stylo : stylo en position d’écriture. 8 blocs de mouvement : avancer de 200 pas. Tourner vers la gauche de 90 degrés. Avancer de 100 pas. Tourner vers la gauche de 90 degrés. Avancer de 200 pas. Tourner vers la gauche de 90 degrés. Avancer de 100 pas. Tourner vers la gauche de 90 degrés. Bloc de stylo : relever le stylo. Une flèche nous pointe ce bloc : Blocs de codage attachés les uns aux autres : Bloc d’évènement : quand drapeau vert est cliqué. Bloc stylo : effacer tout. Bloc stylo : stylo en position d’écriture. Bloc de contrôle : répéter 2 fois. Blocs de mouvement : avancer de 200 pas. Tourner vers la gauche de 90 degrés. Avancer de 100 pas. Tourner vers la gauche de 90 degrés. Répéter. Bloc stylo : relever le stylo.

Sous-programme 

Petit ensemble d’instructions qui permet d’effectuer une tâche simple. Les sous-programmes peuvent être combinés dans un programme principal pour accomplir une tâche importante en utilisant des étapes simples.

Exemple

Blocs de codage attachés les uns aux autres. ' aria-describedby='descripimage152

Mes blocs : définir « rectangle, base, hauteur ». Bloc stylo : effacer tout. Bloc stylo : stylo en position d’écriture. Bloc de contrôle : répéter 2 fois. 4 Blocs de mouvement : avancer de, base, pas. Tourner vers la gauche de 90 degrés. Avancer de, hauteur, pas. Tourner vers la gauche de 90 degrés. Répéter. Bloc stylo : relever le stylo.

Pour insérer le rectangle, il faut simplement ajouter le nouveau bloc « rectangle » au code, et indiquer les valeurs de la base et de la hauteur.

Mes blocs : nommé rectangle avec deux espaces pour des paramètres qui sont vides.

Dénombrement prédéfini 

Nombre de fois que des instructions sont répétées en fonction d’une valeur prédéfinie ou jusqu’à ce qu’une condition soit remplie.

Exemple

Blocs de codage attachés les uns aux autres. '  aria-describedby='descripimage153

Dans cette vidéo, l’élève écrit et exécute un code comprenant l’analyse de données de la température en degrés Celsius.

Ouvrir description de la video Description de la vidéo

Description à venir

Bloc de contrôle : répéter jusqu’à ce que réponse égale non ». Bloc de capteur : demander « quel est le coût de l’item? » et attendre. Bloc de variable de ma liste : ajouter « réponse » à « coût d’items achetés ». Bloc de variable : ajouter « réponse » à « somme des dépenses ». Bloc de capteur : demander « voulez-vous entrer un autre item? » et attendre. Répéter.