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 :

À 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 :

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 :

Description de la vidéo
Description à venir