Atelier découverte · Informatique
Programmer un robot
Un robot sur une grille, un drapeau à atteindre. Le robot ne comprend que quelques ordres : avancer, tourner à gauche, tourner à droite. À toi d’écrire la suite d’ordres, puis de la raccourcir avec « répéter », et enfin de faire sortir le robot d’un labyrinthe qu’il ne voit pas.
mur · drapeau · la flèche montre où regarde le robot ; G et D : sa gauche et sa droite
Une action = avancer d’une case ou tourner d’un quart de tour.
Ton programme
Touche un bloc pour l’ajouter :
Touche un bloc de ton programme pour le monter, le descendre ou l’enlever. Les nouveaux blocs arrivent à l’endroit marqué « ici ».
Palier 1 · DécouvrirDonne des ordres au robot
Ton robot
- Touche les blocs « avancer », « tourner à gauche » ou « tourner à droite » : ils s’ajoutent à ton programme, l’un après l’autre.
- Appuie sur « Lancer » : le robot fait les blocs dans l’ordre, du premier au dernier. Le bloc en cours s’allume.
- « Pas à pas » fait un seul bloc à chaque appui. « Recommencer » remet le robot au départ.
- Le robot ne devine rien : il fait exactement ce qui est écrit, même si c’est une erreur.
Quand le robot tourne, change-t-il de case ?
Essaie : mets un seul bloc « tourner à droite » et lance. Regarde la case du robot avant et après.
Oui : tourner, c’est pivoter d’un quart de tour sur place. Seul « avancer » fait changer de case. Dans cet atelier, avancer d’une case et tourner d’un quart de tour comptent chacun pour une action.
Sa gauche, sa droite
« Tourner à gauche », c’est vers la gauche du robot, pas vers la gauche de ton écran. Quand le robot regarde vers le haut, c’est pareil. Mais quand il regarde vers le bas, sa gauche est du côté droit de ton écran !
Le bouton « Sa gauche, sa droite » montre les lettres G et D de chaque côté du robot. Astuce : tourne la tête, ou la feuille, pour regarder dans le même sens que lui.
Le robot regarde vers la gauche de ton écran. Il tourne à droite. Vers où regarde-t-il maintenant ?
Ce serait un demi-tour : tourner, c’est seulement un quart de tour. Et c’est la droite du robot qui compte, pas celle de l’écran.
Ça, c’est sa gauche. Mets-toi à sa place : tu regardes vers la gauche de l’écran ; ta main droite est du côté du haut.
Oui : quand il regarde vers la gauche de l’écran, sa droite est vers le haut. Vérifie sur le « Terrain libre » : le robot y regarde justement vers la gauche.
Un programme, c’est une suite d’ordres
L’ordre des blocs compte : « avancer, puis tourner » n’amène pas au même endroit que « tourner, puis avancer ». Un bloc est un ordre écrit dans le programme. Le robot ne connaît pas le chemin : chaque case et chaque virage doivent être écrits.
Sur le « Premier terrain », le drapeau est à 8 cases du robot : 4 vers le haut, puis 4 vers la droite. Combien de blocs faut-il au minimum ?
« Avancer de 4 » n’existe pas : un bloc « avancer », c’est une seule case.
8, ce sont les cases. Mais le robot doit aussi tourner une fois : il faut un bloc pour ça.
Le robot regarde déjà vers le haut au départ : un seul virage suffit.
Oui : 4 « avancer », 1 « tourner à droite », 4 « avancer ». 8 cases et 1 virage : 9 blocs. Essaie-le !
Palier 2 · ComprendreRépéter : moins de blocs, autant d’actions
Le bloc « répéter »
Pour aller tout droit sur 6 cases, il faut 6 blocs « avancer ». C’est long à écrire, et facile de se tromper en comptant. Le bloc « répéter » fait refaire plusieurs fois les blocs qu’il contient.
- Touche « répéter » : une boîte s’ajoute à ton programme, et l’endroit « ici » passe dedans.
- Règle le nombre de tours avec − et +.
- Ajoute les blocs à refaire. Pour écrire après la boîte, touche le « + ici » qui est en dessous.
Blocs et actions
actions = tours × actions d’un tour
- n
- le nombre de tours, écrit dans « répéter n fois ».
- 1 tour
- les actions de la boîte : chaque « avancer » ou « tourner » est une action.
- actions
- ce que fait vraiment le robot. Les blocs, eux, sont ce qui est écrit.
Exemple : répéter 5 fois [avancer, tourner à gauche] s’écrit avec 3 blocs, mais le robot fait 5 × 2 = 10 actions, dont 5 avancées. Le bloc « répéter » n’est pas une action du robot : il dit seulement combien de fois refaire. (La règle vaut si le robot ne se cogne pas et n’arrive pas au drapeau avant la fin.)
Répéter 5 fois [avancer, avancer, tourner à droite]. Combien d’actions fait le robot ?
4, c’est le nombre de blocs écrits. Les actions, c’est ce que fait le robot, à chaque tour.
5 + 3 = 8 ? On n’additionne pas : il y a 5 tours, et chaque tour fait 3 actions.
5 × 4 = 20 ? Le bloc « répéter » n’est pas une action : seuls les 3 blocs de la boîte font agir le robot.
Oui : 5 tours × 3 actions = 15 actions, dont 10 avancées, avec seulement 4 blocs. Plus il y a de tours, plus l’écart est grand.
Combien de tours ?
Pour avancer de 6 cases avec « répéter n fois [avancer, avancer] », il faut 3 tours : chaque tour avance de 2 cases. Mettre un tour de trop ou un de moins est une erreur si fréquente chez les programmeurs qu’elle a un nom : l’erreur de un.
Une barrière de 5 mètres a un piquet tous les mètres, un au début et un à la fin. Combien de piquets ?
Fais un dessin : un piquet à 0 m, à 1 m, à 2 m… jusqu’à 5 m. Compte-les.
Il y a bien 5 espaces d’un mètre. Mais compte les piquets sur un dessin : 0 m, 1 m, 2 m, 3 m, 4 m, 5 m.
Oui : 5 espaces, mais 6 piquets. C’est le même piège que les tours d’une boucle : compte toujours ce que la boucle refait vraiment.
Palier 3 · Aller plus loinLe robot qui ne voit pas le labyrinthe
« Si mur devant… sinon… »
Le robot a un capteur qui ne voit qu’une case : celle juste devant lui. Le bloc « si mur devant » pose la question au capteur. S’il y a un mur, le robot fait les blocs du haut ; sinon, ceux qui sont sous « sinon ».
Avec ce bloc, c’est le programme qui décide, pendant que le robot avance. Il peut donc marcher dans un labyrinthe que ni lui ni toi n’avez prévu case par case.
Dans le compteur de « répéter », après 100 vient « toujours » : la boîte recommence sans fin. Le robot s’arrête quand même dès qu’il arrive au drapeau.
Le robot a un mur devant lui et un passage à sa droite. Son programme : « si mur devant : tourner à gauche ; sinon : avancer ». Que fait-il ?
Ce serait malin, mais le robot ne voit pas le passage : son capteur ne regarde que devant. Et il suit son programme à la lettre.
Il y a un mur devant : la question « mur devant ? » répond oui, donc il fait les blocs du haut.
Oui : le capteur répond « mur », donc il fait « tourner à gauche », même si le passage était à droite. Un programme fait ce qui est écrit, pas ce qu’on voulait dire.
La méthode de la main droite
Dans un labyrinthe, pose ta main droite sur le mur et ne la lève jamais. Tu longes tout ce mur, et tu finis par arriver à la sortie si elle est le long de ce mur.
Pour le robot, cela veut dire : à chaque nouvelle case, essayer d’abord d’aller à droite ; si c’est un mur, tout droit ; sinon à gauche ; et en dernier, faire demi-tour. Les labyrinthes 1, 2 et 3 partent tous du même coin, mais leurs murs sont différents.
Complète la méthode de la main droite, écrite pour le robot.
Après chaque avancée, le robot tourne à pour chercher un passage. S’il y a un mur devant lui, il tourne à et regarde de nouveau.
Il reste un trou à remplir.
Avec la main droite sur le mur, c’est à droite qu’un passage peut s’ouvrir. Tourner d’abord à gauche, c’est la méthode de la main gauche.
Il vient de tourner à droite et il y a un mur : tourner encore à droite le ferait repartir en arrière. Il faut revenir d’un cran.
Avancer dans un mur, c’est se cogner : le robot s’arrête et le programme aussi.
C’est la méthode ! Il ne reste qu’à l’écrire avec les blocs : c’est la mission « Un programme, trois labyrinthes ». 5 blocs suffisent.
Comparer avec la règle
Après chaque avancée, le robot tourne à droite. Devant un mur, il tourne à gauche et regarde de nouveau. Il essaie ainsi la droite, puis tout droit, puis la gauche, puis le demi-tour : sa « main droite » ne quitte jamais le mur.
Un programme qui ne s’arrête jamais
Essaie ton programme de la main droite sur le terrain « L’îlot ». Le drapeau est tout près du départ… et pourtant le robot ne l’atteint jamais.
Le drapeau est dans un îlot : des murs qui ne touchent pas le mur du bord. Le robot garde sa main droite sur le mur du bord ; il passe juste à côté du drapeau sans jamais se tourner vers lui, et revient à son point de départ. Ensuite, tout recommence, pour toujours.
Comment l’atelier sait-il que le robot ne s’arrêtera jamais ? Il note chaque situation : la case, la direction du robot et l’endroit où il en est dans le programme. Si une situation revient exactement, la suite sera exactement la même : le robot tourne en rond. Notre robot n’a que 64 cases et 4 directions, et un programme d’au plus 40 blocs : s’il ne s’arrête pas, une situation finit forcément par revenir. L’atelier arrête aussi le robot au bout de 500 actions.
Pour un programme qui peut se servir d’autant de mémoire qu’il veut, c’est différent : en 1936, le mathématicien anglais Alan Turing a démontré qu’aucune méthode ne peut dire à coup sûr, pour tous les programmes, s’ils s’arrêteront un jour. On appelle cette question le « problème de l’arrêt ».
L’atelier Des tests qui démasquent un programme : comment vérifier qu’un programme est juste →
Tes missions
Voici les missions du palier choisi. Réponds, puis clique sur « Valider ma réponse ». Si ce n’est pas encore ça, un indice t’aide. Après trois essais, tu peux voir la solution.
Le savais-tu ?
Des faits vrais, avec leurs sources et les calculs qui les prouvent.
Les mots de l’atelier
Chaque mot, en une ou deux phrases.
- Programme
- Une suite d’instructions écrites à l’avance, qu’une machine exécute exactement, dans l’ordre.
- Instruction
- Un ordre que la machine sait faire, comme « avancer ». Ici, chaque instruction est un bloc.
- Action
- Dans cet atelier, ce que fait le robot pour un bloc : avancer d’une case, ou tourner d’un quart de tour. Une avancée, c’est une action « avancer ».
- Boucle
- Des instructions refaites plusieurs fois, comme dans « répéter 4 fois ». Une boucle « toujours » ne s’arrête jamais d’elle-même.
- Condition
- Une question dont la réponse est oui ou non, comme « mur devant ? ». Le programme fait une chose ou l’autre selon la réponse.
- Capteur
- Un organe qui mesure quelque chose autour de la machine. Celui du robot dit seulement s’il y a un mur dans la case de devant.
- Algorithme
- Une méthode précise qui résout un problème dans tous les cas prévus, comme la méthode de la main droite pour les labyrinthes sans îlot.
- Bug (bogue)
- Une erreur dans un programme : la machine fait ce qui est écrit, et ce n’est pas ce qu’on voulait.
- Boucle sans fin
- Un programme qui refait sans fin les mêmes instructions sans jamais finir, comme le robot autour de l’îlot.
- Plus court chemin
- Le moins de cases possible pour aller du départ au drapeau. L’atelier le calcule en explorant toutes les cases, une distance après l’autre.
Pour les parents et les enseignantsouvrir
Objectifs
- Écrire une suite d’instructions qui mène un robot d’une case à une autre, et distinguer la gauche et la droite du robot de celles de l’observateur.
- Prévoir l’effet d’un programme avant de l’exécuter, puis vérifier en l’exécutant pas à pas.
- Raccourcir un programme avec une boucle « répéter n fois », distinguer la longueur du programme (les blocs) et la durée de son exécution (les actions), et éviter l’erreur de un.
- Écrire un programme général avec une condition et un capteur (la méthode de la main droite), et constater qu’un programme peut ne jamais s’arrêter.
Notions
Instruction, séquence, programme, exécution pas à pas, boucle bornée, boucle sans fin, condition, capteur, algorithme, plus court chemin.
Déroulé (15 à 20 minutes)
Palier 1 : écrire des suites de blocs, la gauche et la droite du robot, prévoir où il arrive. Palier 2 : la boucle « répéter », blocs et actions, l’erreur de un. Palier 3 : la condition « si mur devant », la méthode de la main droite, un labyrinthe où le programme ne s’arrête jamais.
Liens avec les programmes
- Mathématiques, cycle 3 (programme de 2025), « Initiation à la pensée informatique ». Au CM1 : « l’élève continue d’utiliser et de produire des codages de déplacements […]. La programmation de robot est également toujours envisagée lorsque l’école en est équipée. » Les programmes de calcul « peuvent aussi être codés avec un logiciel de programmation par bloc comme Scratch ». En 6e : « instructions, séquences d’instructions, entrées, sorties, répétitions », avec l’objectif « Programmer la construction d’un chemin simple approprié ». Relu mot à mot dans le texte officiel.
- Sciences et technologie, cycle 3 (programme de 2026 ; CM1 en 2026-2027, CM2 en 2027-2028). Au CM1 : « Traduire un programme simple en langage naturel » ; « L’élève compare différents programmes permettant à un robot de parcourir un trajet comportant des obstacles en un temps minimum et identifie le programme le plus efficace. » Au CM2 : « L’élève utilise un programme par blocs permettant à un robot de se déplacer […]. L’élève repère les boucles et les conditions. » Relu dans le texte officiel (PDF en image, lu par reconnaissance de caractères).
- Mathématiques, cycle 4 (programme de 2026) : en 5e, « Effectuer une boucle inconditionnelle simple permettant de répéter une séquence linéaire d’instructions un nombre précis de fois » ; en 4e, « Écrire des instructions conditionnelles ». Le programme de 2020, encore suivi en 4e et en 3e en 2026-2027, cite les « jeux dans un labyrinthe » parmi les activités possibles. Relu mot à mot dans les textes officiels.
- Pas de plafond : la condition (4e au programme) et le programme qui ne s’arrête jamais (le problème de l’arrêt est au programme de NSI de terminale) arrivent ici au palier 3, parce qu’on les comprend en les manipulant. Le niveau affiché, CM1 à 6e, est celui des notions de départ.
Références : arrêté du 10 avril 2025 (mathématiques, cycle 3) ; arrêté du 5 juin 2026 (sciences et technologie, cycle 3) ; arrêté du 18 février 2026 (mathématiques, cycle 4) ; programme du cycle 4 consolidé en 2020.
À faire en vrai
Tracez une grille au sol (craie ou ruban adhésif). Un enfant joue le robot, un autre écrit le programme sur des cartes : avancer, tourner à gauche, tourner à droite, répéter. Le « robot » n’obéit qu’aux cartes, même quand elles sont fausses. C’est le meilleur moyen de sentir qu’une machine fait ce qu’on lui écrit, pas ce qu’on voulait dire.
Ce que l’atelier simplifie
Le robot de l’atelier avance d’une case exactement et tourne d’un quart de tour exactement, sans jamais glisser. Un vrai robot mesure mal ses déplacements et ses capteurs se trompent parfois : il doit sans cesse se corriger. Les blocs sont propres à l’atelier : ce n’est pas un langage de programmation existant. Le robot s’arrête dès qu’il arrive au drapeau, même si le programme n’est pas fini. L’atelier arrête un programme au bout de 500 actions, ou dès qu’il prouve que le robot tourne en rond.
Sources
Les trajets du robot, les actions, les boucles sans fin et les plus courts chemins sont calculés par le modèle de l’atelier (modele.js), vérifié dans node.
- Solomon C., Harvey B., Kahn K., Lieberman H., Miller M.L., Minsky M., Papert A., Silverman B. (2020). History of Logo. Proceedings of the ACM on Programming Languages 4 (HOPL), article 79. doi:10.1145/3386329
- Lucas É. (1882). Récréations mathématiques, tome I, 2e édition, chapitre « Le jeu des labyrinthes », p. 41-55 (méthode de M. Trémaux). Gauthier-Villars, Paris.
- Moore E.F. (1959). The shortest path through a maze. Proceedings of an International Symposium on the Theory of Switching, partie II, p. 285-292. Harvard University Press.
- Turing A.M. (1937). On computable numbers, with an application to the Entscheidungsproblem. Proceedings of the London Mathematical Society (2) 42, p. 230-265 (article écrit en 1936). doi:10.1112/plms/s2-42.1.230
- NASA, Goddard Space Flight Center. Mars Fact Sheet : distance à la Terre, minimum 54,6 et maximum 401,4 millions de km. Vitesse de la lumière : 299 792 458 m/s (définition du mètre, BIPM).
- Smithsonian Institution, National Museum of American History. Log Book With Computer Bug (calculateur Mark II, université Harvard, 9 septembre 1947). Lettre de T. Edison de 1878 sur les « bugs », citée par JSTOR Daily, « The Bug in the Computer Bug Story ».
- Ministère de l’Éducation nationale. Programmes de mathématiques du cycle 3 (arrêté du 10 avril 2025) et du cycle 4 (arrêté du 18 février 2026 ; programme consolidé de 2020) ; programme de sciences et technologie du cycle 3 (arrêté du 5 juin 2026), Bulletin officiel de l’Éducation nationale.