← Retour au chapitre

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 :

En mots1. avancer de 3 cases2. tourner à gauche3. avancer de 2 caseslues de haut en bas,une seule à la foisEn blocsquandest cliquéavancer de3casestourner à gaucheavancer de2casesLe trajet du robotABCDE1234123départarrivée
3.

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

ABCD1234ABmême départ, A1
5.

Reconnaître une instruction

  1. 6.
  2. 7.

Exemple

Lesquels de ces ordres sont des instructions pour notre robot : « avancer de 4 cases », « tourner un peu », « aller à la sortie », « tourner à gauche » ?

  1. 8.
  2. 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

  1. 12.
  2. 13.
  3. 14.
ABCDEF123412345départ : B1, vers la droiteinstructioncaseil regardedépartB1vers la droite1. avancer de 3 casesE1vers la droite2. tourner à gaucheE1vers le haut3. avancer de 2 casesE3vers le haut4. tourner à gaucheE3vers la gauche5. avancer de 1 caseD3vers la gaucheEn flèches, le même trajet :
15.

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 ?

  1. 16.
  2. 17.
  3. 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

  1. 20.
  2. 21.
  3. 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.

  1. 23.
  2. 24.
  3. 25.

Résultat :

quandest cliquétourner à gaucheavancer de3casestourner à droiteavancer de4casestourner à droiteavancer de3casesmorceau 1 : 3 cases vers le hautmorceau 2 : 4 cases vers la droitemorceau 3 : 3 cases vers le basABCDEF1234départarrivée4 cases3 cases3 cases
27.

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

  1. 29.
  2. 30.
  3. 31.
La séquence à répéteravancer de1casetourner à gaucheavancer de1casetourner à droite1 passage : 1 case vers la droite,1 case vers le haut, puis il regardede nouveau vers la droiteMonter en E5 : 4 passagesABCDE123451234Faire un carré : 4 passagesABCD12341234séquence :avancer de 3 cases,tourner à droitedépart en A4,vers la droite ;retour en A4,vers la droite
32.

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 ?

  1. 33.
  2. 34.
  3. 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 ?

  1. 37.
  2. 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 ?

Corrigé · à détacher

Instructions et séquences — Initiation à la programmation

  1. 1. Une instruction est un ordre simple et précis, que le robot exécute en une seule fois, sans rien choisir ni deviner. Notre robot en connaît trois : « avancer de 3 cases » (tout droit, dans la direction où il regarde), « tourner à droite » et « tourner à gauche » (un quart de tour sur place).
  2. 2. Une séquence d'instructions est une liste d'instructions rangées dans un ordre. Le robot les exécute l'une après l'autre, de la première à la dernière : de haut en bas pour une liste écrite ou pour des blocs empilés. Un programme est une séquence écrite pour que le robot accomplisse une tâche.
  3. 3. La même séquence de trois instructions, en mots et en blocs. Le bloc jaune ne déplace pas le robot : il lance la séquence.
  4. 4. L'ordre compte. Les mêmes instructions, rangées dans un autre ordre, ne donnent pas le même trajet. Le robot part de A1 et regarde vers la droite. A : « avancer de 2 cases, tourner à gauche, avancer de 1 case » le mène en C2. B : « tourner à gauche, avancer de 2 cases, avancer de 1 case » le mène en A4.
  5. 5. Mêmes instructions, ordre différent : A arrive en C2, B en A4.
  6. 6. L'ordre est-il précis ? On doit savoir exactement de combien de cases avancer, ou de quel côté tourner. « Avancer un peu » n'est pas une instruction.
  7. 7. Le robot sait-il l'exécuter en une fois ? « Aller jusqu'à la porte » est une tâche : il faut la découper en plusieurs instructions qu'il connaît.
  8. 8. « avancer de 4 cases » et « tourner à gauche » sont précis, et le robot les connaît : ce sont des instructions.
  9. 9. « tourner un peu » n'est pas précis : de combien ? « aller à la sortie » est une tâche : le robot ne sait pas où est la sortie, ni par où passer.
  10. 10. deux instructions sur quatre : « avancer de 4 cases » et « tourner à gauche »
  11. 11. Deux façons de coder un déplacement. Avec des flèches → ↑ ← ↓, chaque flèche fait passer à la case voisine, dans le sens de la flèche sur la feuille, quelle que soit la direction du robot. Avec avancer et tourner, tout dépend de la direction où regarde le robot : il faut la suivre à chaque instruction. Pour nommer une case, on donne sa colonne puis sa ligne : B1, E3…
  12. 12. Marquer le départ : la case du robot, et une flèche pour la direction où il regarde.
  13. 13. Exécuter une seule instruction. Pour « avancer », compter les cases à partir de la case suivante ; pour « tourner », changer seulement la direction. Noter la case et la direction, puis cocher l'instruction.
  14. 14. Passer à l'instruction suivante, jusqu'à la dernière. La dernière case notée est la case d'arrivée.
  15. 15. Le tableau de suivi : « avancer » change la case (en bleu), « tourner » change seulement la direction.
  16. 16. « avancer de 3 cases » : il passe en C1, D1 et s'arrête en E1, toujours tourné vers la droite.
  17. 17. « tourner à gauche » : il reste en E1 et regarde vers le haut. « avancer de 2 cases » : E2, puis E3.
  18. 18. « tourner à gauche » : il regarde vers la gauche. « avancer de 1 case » : D3. Il a parcouru, en cases :
  19. 19. le robot arrive en D3 et regarde vers la gauche ; en flèches, le même trajet s'écrit → → → ↑ ↑ ←
  20. 20. Tracer le chemin sur le quadrillage, du départ à l'arrivée, sans passer sur un obstacle. Le découper en morceaux tout droits.
  21. 21. Pour chaque morceau, écrire « tourner à droite » ou « tourner à gauche » si le robot doit changer de direction, puis « avancer de … cases » avec le nombre de cases du morceau.
  22. 22. Tester : exécuter la séquence à la main depuis le départ. Le robot doit arriver sur la case visée, sans toucher d'obstacle.
  23. 23. Le mur ferme les lignes 1 à 3 : on le contourne par la ligne 4. Trois morceaux droits : de A1 à A4, 3 cases vers le haut ; de A4 à E4, 4 cases vers la droite ; de E4 à E1, 3 cases vers le bas.
  24. 24. Il regarde vers la droite : pour monter, « tourner à gauche », puis « avancer de 3 cases ». En A4, il regarde vers le haut : « tourner à droite », puis « avancer de 4 cases ». En E4, il regarde vers la droite : « tourner à droite » pour regarder vers le bas, puis « avancer de 3 cases ».
  25. 25. Test à la main : A1, A4, E4, puis E1. Le robot est arrivé. Il a parcouru, en cases :
  26. 26. tourner à gauche, avancer de 3 cases, tourner à droite, avancer de 4 cases, tourner à droite, avancer de 3 cases : 6 instructions
  27. 27. Chaque morceau droit du chemin donne deux blocs : un « tourner », puis un « avancer ».
  28. 28. Quand une tâche demande de refaire plusieurs fois les mêmes instructions, on répète une séquence : on l'exécute une fois, puis on recommence à partir de la case où le robot s'est arrêté, dans la direction où il regarde, autant de fois qu'il le faut.
  29. 29. Exécuter la séquence une fois, et noter la case et la direction d'arrivée : c'est le départ du passage suivant.
  30. 30. Recommencer, en faisant un trait à chaque passage pour les compter.
  31. 31. S'arrêter dès que la tâche est faite : le nombre de traits est le nombre de répétitions.
  32. 32. Les petits numéros comptent les passages. Chaque passage repart d'où le précédent s'est arrêté.
  33. 33. Premier passage : B1, puis il regarde vers le haut, B2, puis de nouveau vers la droite. Un passage le décale d'une colonne vers la droite et d'une ligne vers le haut, et il regarde comme au départ.
  34. 34. De A1 à E5, il faut passer 4 colonnes (B, C, D, E) et 4 lignes (2, 3, 4, 5) : 4 passages, en B2, C3, D4 puis E5.
  35. 35. Chaque passage compte 4 instructions. Écrit en entier, le programme en contient :
  36. 36. 4 passages ; 16 instructions si l'on recopie la séquence 4 fois
  37. 37. Passage 1 : D4, puis il regarde vers le bas. Passage 2 : D1, puis vers la gauche. Passage 3 : A1, puis vers le haut. Passage 4 : A4, puis vers la droite.
  38. 38. Quatre côtés de 3 cases, avec un quart de tour à chaque coin. Longueur parcourue, en cases :
  39. 39. un carré de 3 cases de côté ; après 4 passages, le robot est revenu en A4, tourné vers la droite