Fiche à trous · 6ème · Mathématiques
Instructions et séquences — Initiation à la programmation
Complétez de mémoire, puis vérifiez avec la page de corrigé.
Un robot ne devine rien : il exécute des ordres très simples, un par un, dans l'ordre où ils sont écrits. Programmer, c'est écrire cette liste d'ordres ; l'exécuter à la main, c'est la suivre sur le quadrillage, case après case, sans en sauter aucun. Même liste et même départ : même trajet. Une instruction oubliée ou déplacée : un autre trajet.
Instructions et séquences d'instructions
Définition — instruction :
Définition — séquence d'instructions :
Tourner ne fait pas changer de case : le robot pivote sur place. « À droite » veut dire à la droite du robot, pas à droite de la feuille : pour le savoir, on se met à sa place. Dans Scratch, un logiciel de programmation par blocs, un quart de tour à droite s'écrit « tourner ↻ de 90 degrés » : l'angle droit mesure 90°.
Règle
Reconnaître une instruction
- 6.
- 7.
Exemple
Lesquels de ces ordres sont des instructions pour notre robot : « avancer de 4 cases », « tourner un peu », « aller à la sortie », « tourner à gauche » ?
- 8.
- 9.
Résultat :
Une séquence d'instructions ne commande pas forcément un robot. Le programme de calcul « choisir un nombre ; le multiplier par 2 ; ajouter 5 ; écrire le résultat » en est une. Le nombre choisi est son entrée, le nombre écrit est sa sortie. Avec 3 en entrée : , puis en sortie.
Piège
Écrire une tâche dans un programme : « aller chercher la clé ».
découper la tâche en « avancer » et « tourner », jusqu'à ce que chaque ligne soit une instruction que le robot connaît.
Exécuter une séquence à la main
Règle
Exécuter une séquence à la main
- 12.
- 13.
- 14.
Exemple
Le robot part de B1 et regarde vers la droite. Il exécute : avancer de 3 cases ; tourner à gauche ; avancer de 2 cases ; tourner à gauche ; avancer de 1 case. Où arrive-t-il, et où regarde-t-il ?
- 16.
- 17.
- 18.
Résultat :
Piège
Le robot regarde vers le bas ; après « tourner à droite », le faire partir vers la droite de la feuille.
tourner la feuille dans le sens du robot, ou se mettre à sa place, avant de tourner.
Piège
Compter la case de départ : « avancer de 3 cases » depuis B1, et s'arrêter en D1.
poser le doigt sur la case de départ, et dire « un » seulement en arrivant sur la case suivante.
Produire une séquence : programmer un chemin
Programmer un chemin
- 20.
- 21.
- 22.
Exemple
Le robot part de A1 et regarde vers la droite. Il doit atteindre E1 sans passer sur les cases grises C1, C2 et C3. Écrire le programme.
- 23.
- 24.
- 25.
Résultat :
Plusieurs programmes peuvent accomplir la même tâche : passer par D4 puis D1 mène aussi en E1, avec plus d'instructions. Un programme est juste s'il fait la tâche demandée ; on vérifie toujours en l'exécutant à la main.
Piège
Oublier « tourner » à un coin : écrire « avancer de 3 cases » puis « avancer de 4 cases » en pensant à deux directions.
à chaque coin du chemin tracé, une instruction « tourner », puis une instruction « avancer ».
Répéter une séquence à la main
Règle
Répéter une séquence à la main
- 29.
- 30.
- 31.
Exemple
Le robot part de A1 et regarde vers la droite. Il répète la séquence « avancer de 1 case, tourner à gauche, avancer de 1 case, tourner à droite ». Combien de passages pour monter en E5 ? Combien d'instructions si l'on écrit tout le programme ?
- 33.
- 34.
- 35.
Résultat :
Exemple
Le robot part de A4 et regarde vers la droite. Il répète « avancer de 3 cases, tourner à droite ». Que trace-t-il, et quand revient-il à son départ ?
- 37.
- 38.
Résultat :
Piège
Faire repartir chaque passage vers la droite, comme au départ : le carré devient un trait de 12 cases.
noter la case et la direction à la fin de chaque passage, avant de recommencer.
Recopier 16 instructions est long, et une erreur de copie arrive vite. C'est pourquoi les langages par blocs ont aussi un bloc qui répète tout seul : on le découvrira en 5e.
- Ai-je marqué la case de départ et la direction du robot ?
- Ai-je exécuté une seule instruction à la fois, sans en sauter ?
- Pour « tourner », me suis-je mis à la place du robot ?
- Pour « avancer », ai-je compté à partir de la case suivante ?
- Pour répéter, suis-je reparti de la case et de la direction d'arrivée ?
- Ai-je testé mon programme jusqu'à la case d'arrivée ?