Exécuter un programme pas à pas
Pour comprendre ce que fait un programme, il faut savoir l'exécuter soi-même, exactement comme le ferait une machine : lire chaque instruction dans l'ordre et faire précisément ce qu'elle dit, sans rien deviner ni anticiper. Suivre le déroulement d'un programme ligne par ligne est une compétence de base en informatique.
L'outil Compute It sert à s'entraîner à cela : on te donne un programme, et tu exécutes chaque instruction pour déplacer un personnage sur une grille. Si tu te trompes d'une seule instruction, le résultat est faux, comme pour une vraie machine.
L'activité
À faire
Rends-toi sur compute-it.toxicode.fr et avance dans les niveaux.
Prends le temps : cette activité occupe toute la séance. Le but n'est pas d'aller vite, mais d'exécuter chaque programme sans faire d'erreur.
Ce que tu vas retrouver
À mesure que les programmes se compliquent, tu vas revoir ce qu'on a étudié en classe :
- exécuter dans l'ordre, une instruction après l'autre ;
- des répétitions (répéter un groupe d'instructions) ;
- l'indentation : le décalage vers la droite qui délimite les instructions à l'intérieur d'une répétition.
Écrire ce que fait la machine
Exécuter dans sa tête, c'est bien. L'écrire est plus sûr : tant que le programme reste dans la tête, on croit facilement l'avoir suivi alors qu'on a sauté une étape.
À partir du niveau 5, arrête-toi avant de cliquer et remplis d'abord ce tableau sur ton cahier. Une ligne par instruction exécutée.
| Étape | Instruction lue | Case où se trouve le personnage | Direction dans laquelle il regarde |
|---|---|---|---|
| 1 | |||
| 2 | |||
| 3 |
Ensuite seulement, lance l'exécution et compare. Deux cas, tous les deux utiles :
- Le tableau et l'écran disent la même chose : tu as exécuté le programme correctement, tu peux passer au niveau suivant.
- Ils diffèrent : trouve la première ligne où ils divergent. C'est exactement là qu'est ton erreur, et c'est une information bien plus précise que « ça n'a pas marché ».
Pourquoi on écrit au lieu de regarder
Le tableau te force à dire, à chaque instruction, où en est le personnage. C'est ce qu'une machine fait : elle ne devine rien, elle tient à jour un état. C'est aussi la méthode qu'on réutilisera toute l'année, sur les programmes Python.
À rendre en fin de séance
Sur ton cahier, quatre choses. Elles ne sont pas notées, elles servent à savoir où tu en es.
- Le numéro du dernier niveau que tu as réussi.
- Un tableau d'exécution complet, celui d'un niveau à partir du 5.
- Un programme sur lequel tu t'es trompé : recopie l'instruction exacte où ça a dérapé.
- En une phrase : pourquoi t'es-tu trompé à cet endroit ?
La question 4 est la plus utile des quatre. Réponds-y avant de lire ce qui suit.
Ce qu'on en retient
La plupart des erreurs viennent des répétitions : on oublie une instruction du bloc, ou on continue à répéter alors qu'il fallait s'arrêter. C'est exactement pour lever cette ambiguïté que l'indentation existe : elle délimite le bloc sans équivoque.
Si ta réponse à la question 3 dit autre chose, garde-la : elle décrit ton erreur, et c'est elle qui compte pour toi.
Et ensuite
À la prochaine séance, on n'exécute plus les programmes à la main : on passe à l'écriture, en écrivant nos propres programmes sur le parcours blanc du Castor, avant de basculer sur notre éditeur Python.