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, répétitifs et imbriqués.
Activité 1 : Événements répétitifs liés à la vie quotidienne
Entamer, avec les élèves, une discussion mathématique liée aux événements répétés en leur montrant une illustration comme celle présentée ci-dessous :
Poser aux élèves la question suivante : Que se passe-t-il dans cette suite?
Réponses possibles :
- Suite ABAB pour l’attribut du chiffre (« as, deux » est répété).
- Suite ABCD pour l’attribut du symbole (« cœur, carreau, pique, trèfle » est répété).
- Suite AABB pour l’attribut de la couleur (« rouge, rouge, noir, noir » est répété).
Poser aux élèves des questions afin de les amener à comprendre qu’il y a plus d’une structure. Cela les prépare à explorer la structure imbriquée de la boucle dans la boucle.
Ensuite, poser aux élèves la question suivante : Comment pourrais-tu prolonger la suite?
Former de petits groupes hétérogènes, c’est-à-dire comprenant des élèves ayant observé la suite de différentes façons. Inviter les élèves à discuter avec les autres membres du groupe. Écouter leur raisonnement.
Demander aux élèves de créer un pseudocode pour un robot qui doit distribuer des cartes en respectant une structure de la suite.
Exemple de pseudocode
Lorsque le code est exécuté :
Répéter (nombre de répétitions) fois
Répéter (2 fois)
Passer un as
Passer un deux
Changer de couleur
Cet exemple de pseudocode donnera une suite du type « as noir, deux noir, as rouge, deux rouge », et ce, pour le nombre de répétitions du motif défini par la première boucle.
Les élèves pourront ensuite reprendre de nouveau l’activité en créant une suite à l’aide de cartes et en demandant à une ou un partenaire de créer le pseudocode pour le robot qui devra prolonger la suite.
Activité 2 : Littératie financière et événements imbriqués
Une élève de 4e année accomplit des tâches ménagères supplémentaires pour ses parents afin de gagner de l’argent de poche. Ses parents lui paient une somme par heure de travail, qu’elle reçoit le vendredi de chaque semaine. Elle décide d’épargner l’argent gagné.
À l’aide d’événements imbriqués, créer un code qui permettra de prédire la valeur de ses épargnes après un certain temps.
Cette situation est ouverte « par design » afin d’encourager les élèves à utiliser des variables dans la création de leur code.
Exemple de code
Code | Résultat (sortie) |
---|---|
Image Blocs de codage attachés les uns avec les autres.Bloc d’évènement : départ drapeau vert.Bloc de variable : mettre « Argent remis par heure travaillée » à zéro.Bloc de variable : mettre « heures par semaine » à zéro.Bloc de variable : mettre « paie par semaine » à réponse.Bloc capteur : demander « combien d’argent reçois-tu par heure de travail? » et attendre.Bloc de variable : mettre « heures par semaine » à réponse. Bloc de contrôle : répéter 52 fois.Bloc de contrôle : répéter « heures par semaine », fois.Bloc de variable « ajouter « argent remis par heure travaillée » à « somme épargnée ».Répéter.Répéter. |
Pour les entrées suivantes : Argent remis par heure de travail = 10 $ Nombre d’heures travaillées par semaine = 5 h Durée de l’épargne = 1 an ou 52 semaines (La durée de l’épargne est une constante dans ce code, soit le nombre de répétitions dans la boucle extérieure.) |
L’utilisation d’une boucle imbriquée permet à l’élève de voir l’effet multiplicatif de la boucle dans la boucle. L’opération représentée ici serait effectivement 52 semaines × (5 heures par semaine × 10 $ par heure) ou 52 × (5 × 10). Ce code est limité, car les heures travaillées demeurent constantes d’une semaine à l’autre. Une prolongation de cette activité pourrait être d’ajouter des éléments au code afin de le rendre plus adaptable. L’élève, par exemple, pourrait entrer ses heures dans une liste, et le code pourrait prendre la moyenne des entrées afin de faire des prédictions.
Exemple de code
Code | Résultat (sortie) |
---|---|
Image Blocs de codage attachés les uns avec les autres. Bloc d’évènement : départ drapeau vert.Bloc capteur : demander « combien d’argent reçois-tu par heure de travail? » et attendre.Bloc de variable : mettre « heures par semaine » à réponse.Bloc capteur : « combien de semaine de travail aimerais-tu déclarer? » attendre.Bloc de variable : mettre « nombre de semaines travaillées » réponse.Bloc de contrôle : « nombre de semaines travaillées » fois.Bloc variable : mettre « semaine » à un.Bloc capteur : « regrouper « combien d’heures as -tu travaillé durant semaine » et « regrouper semaine et point d’intérogation » et attendre.Bloc variable : mettre « heure » à réponse.Bloc variable : mettre « paie par semaine » à zéro.Bloc de contrôle répéter « heure » fois.Bloc variable : ajouter « argent remis par heure travaillées » à « paie par semaine ».Bloc variable : ajouter « argent remis par heure travaillé » à « somme épargnée. ».Répéter.Bloc variable : ajouter « paie par semaine », à « salaire par semaine ».Bloc variable « ma liste » : ajouter « paie par semaine » à « salaire par semaine ».Bloc de variable : ajouter un à semaine.Répéter.Bloc de variable : mettre « paie moyenne par semaine » à « somme épargnée » , « longueur de semaine par semaine.Bloc de capteur : demander « pendant combien de semaine planifies tu épargner? Et attendre.Bloc de variable : mettre « durée de l’épargne en semaines », à réponse.Bloc de variable : mettre « estimation de la valeur de l’épargne » à « durée de l’épargne en semaine » « paie moyenne par semaine. |
Pour les entrées suivantes : Argent remis par heure de travail = 10 $ Nombre de semaines travaillées = 4 Heures travaillées par semaine = 2, 4, 3, 4 Durée de l’épargne = 1 an ou 52 semaines |
Note : La section du code permettant de remettre toutes les variables à zéro, à chaque exécution, a été omise de l’exemple afin de le simplifier. Cette séquence, qui devrait se trouver au tout début du code, ressemblerait à ceci :
Image Blocs de codage attachés les uns avec les autres. 4 blocs variables : Mettre « argent remis par heure travaillée » à zéro. Mettre « nombre de semaines travaillées » à zéro. Mettre « heures » à zéro. Mettre « somme épargné à zéro. Bloc variable « ma liste » : supprimer tous les éléments de la liste « salaire par semaine ». 3 blocs variables : Mettre « paie moyenne par semaine à zéro. Mettre « durée de l’épargne en semaines à zéro. Mettre « estimation de la valeur de l’épargne à zéro.