C3.2 Lire et modifier des codes donnés, y compris des codes comprenant des instructions conditionnelles et d’autres structures de contrôle, et décrire l’incidence de ces changements sur les résultats et l’efficacité.
Habileté : lire un code
La lecture d'un code consiste à interpréter les blocs ou les commandes afin d’en déduire le sens du code. Cela aide l’élève à faire des prédictions quant au comportement du code. La lecture du code est aussi une partie importante du débogage, soit l’identification et la correction d’erreurs dans le code, car, en lisant le code, il est possible pour l’élève de déterminer la ou les raisons pour lesquelles celui-ci ne fonctionne pas. À noter, ici, que cette habileté ne correspond pas à la lecture du code par l’ordinateur, mais plutôt à la lecture du code par l’élève pour en faire la vérification.
En lisant du code, elle ou il devra remarquer, entre autres, des répétitions de commandes ou de blocs qui pourraient être plus efficacement exprimés sous forme de boucle. Elle ou il pourrait, par exemple, lire ce code afin de relever les éléments répétitifs qui s’y trouvent :
Image Blocs de codage attachés les uns avec les autres. Bloc d’évènement : départ drapeau vert. Bloc de mouvement : aller à « x » moins 200, « y » moins 150. Bloc de variable : mettre « rangée » à zéro. Bloc d’apparence : montrer. Blocs de contrôle : répéter 4 fois. Bloc de contrôle : créer un clone de moi-même. Bloc de mouvement : avancer de 70 pas. Bloc de contrôle : créer un clone de moi-même. Bloc de mouvement : avancer de 70 pas. Bloc de contrôle : créer un clone de moi-même. Bloc de mouvement : avancer de 70 pas. Bloc de contrôle : créer un clone de moi-même. Bloc de mouvement : avancer de 70 pas. Bloc de contrôle : créer un clone de moi-même. Bloc de mouvement : avancer de 70 pas. Bloc de contrôle : créer un clone de moi-même. Bloc de mouvement : avancer de 70 pas. Bloc de mouvement : aller à « x » moins 200, « y » moins 150. Bloc de variable : ajouter un à « rangée ». Bloc de mouvement : ajouter 30 multiplié « rangée » à « y ». Répéter. Bloc d’apparence : cacher.À noter aussi qu’il existe plusieurs façons de rendre un code plus efficace (l’utilisation de variables pour représenter des valeurs qui sont reprises à divers endroits dans le code, par exemple).
Habileté : modifier un code
La culture de la programmation informatique en est une de partage, et plusieurs logiciels sont créés en se basant sur du code existant. La modification d’un code fait en sorte que l’élève peut partir d’une séquence de code existante et fonctionnelle afin de bâtir quelque chose de nouveau. La modification d’un code peut aussi avoir comme but de le simplifier ou de montrer qu’il y a plus d’une façon de représenter une même situation avec du code. On pourrait aussi parler d’efficacité qui, dans le contexte du codage, signifie l’utilisation d’un minimum de blocs ou de commandes pour atteindre l’objectif désiré. Le cas échéant, l’élève peut aussi modifier du code erroné afin de le rendre fonctionnel, un processus nommé débogage.
Par exemple, dans le code ci-dessus, on voit des éléments qui pourraient être mieux représentés en utilisant une boucle. L’élève pourrait d’abord modifier le code afin d’obtenir quelque chose qui ressemble plus à ceci :
Image Blocs de codage attachés les uns avec les autres. Bloc d’évènement : départ drapeau vert. Bloc de mouvement : aller à « x » moins 200, « y » moins 150. Bloc de variable : mettre « rangée » à zéro. Bloc d’apparence : montrer. 3 blocs de contrôle : répéter 4 fois. Répéter 6 fois. Créer un clone de moi-même. Bloc de mouvement : avancer de 70 pages. Répéter. Bloc de mouvement : aller à « x » moins 200, « y » moins 150. Bloc de variable : ajouter un à « rangée ». Bloc de mouvement : ajouter « 30 multiplié rangée » à « y ». Répéter. Bloc d’apparence : cacher.Habileté : décrire l’incidence des changements sur le code
Autant l’essai et l’erreur occupent une place importante dans la création de séquences de code, autant il est important que l’élève puisse justifier ses choix de changements dans un code existant en prédisant l’effet des changements sur le comportement du code. Cela est aussi important lorsqu’on modifie un code pour le rendre efficace, car il est possible d’introduire des changements qui ont une incidence non voulue ou négative sur le résultat final.
Par exemple, l’élève pourrait utiliser ses connaissances sur les nombres entiers pour d’écrire l’incidence d’un changement de signe (+/−) sur les déplacements dans le code suivant :
Image Blocs de codage attachés les uns avec les autres. Bloc d’évènement : départ drapeau vert. Bloc de mouvement : aller à « x » zéro, « y » zéro. Bloc de contrôle : attendre une seconde. Bloc de mouvement : ajouter moins 3, multiplié par 30 à « x ». Bloc de mouvement : ajouter 3 multiplié par 30, à « y ». Bloc de contrôle : attendre une seconde. Bloc de mouvement : ajouter dix multiplié par, 30 à « x ». Bloc de mouvement : ajouter un multiplié par, 30 à « y » Dans cette vidéo, l’élève lit et modifie des codes donnés comprenant des instructions conditionnelles et d’autres structures de contrôle afin de les rendre plus efficaces.Description de la vidéo
Description à venir