← Retour au sommaire 3e prépa-métiers

Activité — Ch17 : Le robot aspirateur

3e prépa-métiers  |  Mathématiques  |  Algorithmique et programmation

Dernière mise à jour : 21 octobre 2026

Objectifs (environ 45 minutes, sans ordinateur) :

Situation — Joue au robot !

Un robot aspirateur nettoie un salon. Le salon est découpé en cases. Le robot ne réfléchit pas : il fait exactement ce qu'on lui dit, dans l'ordre.

Il comprend seulement 3 instructions :

Jeu en binôme : un élève lit les instructions, l'autre joue le robot avec un pion (ou une gomme) sur le quadrillage. Le robot ne doit jamais monter sur un meuble ni sortir du salon.

Problématique : Comment écrire des instructions qu'une machine peut suivre sans se tromper, puis les donner à un ordinateur ?

Partie 1 — Suivre et écrire des instructions

Question 1 APP : Le robot part de sa case de départ et regarde vers la droite. Joue le robot avec ce programme. Lis une seule ligne à la fois.

  1. avancer
  2. avancer
  3. tourner à gauche
  4. avancer
  5. avancer
  6. avancer

a) Sur quelle lettre le robot s'arrête-t-il ?

b) À la fin, vers où regarde-t-il : en haut, en bas, à gauche ou à droite ?

Correction :
Les deux « avancer » : le robot fait 2 cases vers la droite. Il est dans la 3e colonne, sous la lettre A.
« tourner à gauche » : il reste sur sa case et regarde maintenant vers le haut.
Les trois « avancer » : il monte de 3 cases.
a) Il s'arrête sur la lettre A.
b) Il regarde vers le haut.

Question 2 REA : Le robot a fini. Il doit aller du départ à la base de recharge ⚡, sans passer sur un meuble.

Écris son programme, une instruction par ligne. Ton camarade joue le robot pour tester.

Aide : tu peux commencer comme à la question 1 : le robot arrive sur A. Il reste à aller de A jusqu'à ⚡.
Correction : un programme possible (9 instructions) :
avancer, avancer, tourner à gauche, avancer, avancer, avancer, tourner à droite, avancer, avancer.
Après la question 1, le robot est sur A et regarde vers le haut. « tourner à droite » : il regarde vers la droite. Deux « avancer » : il arrive sur ⚡. D'autres programmes sont justes, par exemple en tournant à droite plus tôt (sur la 3e rangée). Ce qui compte : le robot arrive sur ⚡ sans toucher un meuble.

Question 3 ANA : Sami a écrit ce programme pour aller jusqu'à A :

  1. avancer
  2. avancer
  3. tourner à droite
  4. avancer
  5. avancer
  6. avancer

a) Joue le robot. Que se passe-t-il à la ligne 4 ?

b) Quelle ligne est fausse ? Corrige-la.

Correction :
a) Après 2 cases, le robot tourne à droite : il regarde vers le bas. À la ligne 4, il veut avancer vers le bas, mais il est déjà en bas du salon : il se cogne au mur.
b) C'est la ligne 3. Il faut écrire « tourner à gauche ». Une seule erreur suffit pour que le robot n'arrive pas au bon endroit. En informatique, une erreur dans un programme s'appelle un bug.

Partie 2 — Écrire moins d'instructions

Question 4 REA : Il y a un tapis carré au milieu d'une chambre. Le robot fait le tour du tapis. Chaque côté du tapis mesure 2 cases. Pour un côté, le robot fait : « avancer, avancer, tourner à gauche ».

a) Le tapis a 4 côtés. Combien d'instructions faut-il écrire en tout ? \(4 \times 3 =\)

b) Combien de cases le robot parcourt-il en tout ?

Correction :
a) \(4 \times 3 = 12\) : il faut écrire 12 instructions.
b) 2 cases par côté, 4 côtés : \(4 \times 2 = 8\). Le robot parcourt 8 cases.

Question 5 ANA : Dans les 12 instructions, les mêmes 3 instructions reviennent plusieurs fois. Complète pour écrire le programme en très peu de lignes :

Répéter fois :

Correction :
Répéter 4 fois : avancer, avancer, tourner à gauche.
On écrit 4 lignes au lieu de 12. Le mot « répéter » fait recommencer les instructions : c'est une boucle.

Partie 3 — Traduire en blocs Scratch

Document — Scratch. Scratch est un logiciel gratuit pour programmer avec des blocs qu'on emboîte. Il a été créé en 2007 par le MIT, une université des États-Unis. En juillet 2024, Scratch comptait 135 078 559 comptes et 164 307 034 projets partagés dans le monde.

Source : MIT / Scratch, page « Scratch Statistics » (scratch.mit.edu/statistics), chiffres de juillet 2024, consultée le 7 octobre 2026.

Question 6 APP : Lis le document.

a) Arrondis le nombre de comptes au million : environ millions.

b) Arrondis le nombre de projets au million : environ millions.

c) Y a-t-il plus de projets ou plus de comptes ? De combien de millions environ ?

Correction :
a) 135 078 559, c'est environ 135 millions de comptes.
b) 164 307 034, c'est environ 164 millions de projets.
c) Il y a plus de projets : \(164 - 135 = 29\), environ 29 millions de plus. Beaucoup d'utilisateurs ont partagé plusieurs projets.

Question 7 REA : Dans Scratch, le robot devient un lutin. Une case mesure 50 pas. Voici le dictionnaire pour traduire :

Instruction du robotBloc Scratch
départ du programme
quand ⚑ est cliqué
avancer (1 case)
avancer de 50 pas
tourner à droite
tourner ↻ de 90 degrés
tourner à gauche
tourner ↺ de 90 degrés

On traduit le programme de la question 2 : 2 cases à droite, tourner à gauche, 3 cases, tourner à droite, 2 cases. Complète les cases vides du script.

Aide : 2 cases, c'est \(2 \times 50\) pas. 3 cases, c'est \(3 \times 50\) pas.
quand ⚑ est cliqué
avancer de … pas
tourner ↺ de 90 degrés
avancer de … pas
tourner … de 90 degrés
avancer de … pas
Correction : \(2 \times 50 = 100\) et \(3 \times 50 = 150\).
quand ⚑ est cliqué
avancer de 100 pas
tourner ↺ de 90 degrés
avancer de 150 pas
tourner ↻ de 90 degrés
avancer de 100 pas
Dans Scratch, un seul bloc « avancer de 100 pas » remplace deux fois « avancer d'une case ». Le bloc jaune « quand ⚑ est cliqué » se met toujours en premier : il fait démarrer le script.

Question 8 REA : On traduit maintenant le tour du tapis (question 5). Le tapis a des côtés de 2 cases. Le bloc vert « stylo en position d'écriture » fait dessiner le trajet. Complète les 3 cases vides.

quand ⚑ est cliqué
stylo en position d'écriture
répéter … fois
avancer de … pas
tourner ↺ de … degrés

Quelle figure le lutin dessine-t-il ?

Correction : répéter 4 fois ; avancer de 100 pas (\(2 \times 50 = 100\)) ; tourner ↺ de 90 degrés (un quart de tour).
quand ⚑ est cliqué
stylo en position d'écriture
répéter 4 fois
avancer de 100 pas
tourner ↺ de 90 degrés
Le lutin dessine un carré de 100 pas de côté. Les blocs placés dans le bloc orange « répéter » sont refaits 4 fois.

Partie 4 — Un robot qui choisit tout seul

Question 9 ANA : Un vrai robot aspirateur ne connaît pas le salon. Il a un capteur à l'avant. Son programme ressemble à celui-ci :

quand ⚑ est cliqué
répéter jusqu'à ce que touche base ?
si touche meuble ? alors
tourner ↺ de 90 degrés
sinon
avancer de 50 pas

a) Le robot touche la table. La phrase « il touche un meuble » est-elle vraie ou fausse ? Que fait le robot ?

b) Le robot ne touche aucun meuble. Que fait-il ?

c) Quand le robot s'arrête-t-il de répéter ?

Correction :
a) C'est vrai : le robot fait la partie « alors ». Il tourne à gauche (↺ de 90 degrés).
b) « il touche un meuble » est faux : le robot fait la partie « sinon ». Il avance de 50 pas (une case).
c) Il répète jusqu'à ce qu'il touche la base. On ne sait pas à l'avance combien de fois : ça dépend du salon.
Ce robot choisit entre deux chemins grâce au bloc « si … alors … sinon ».

Bilan — Ce que j'ai découvert

Complète avec tes mots :
  • Une machine suit les instructions dans l'ordre, une par une.
  • Une instruction fausse : c'est un bug (comme le « tourner à droite » de Sami).
  • Des instructions qui reviennent : on utilise « répéter … fois », une boucle.
  • Le premier bloc est « quand ⚑ est cliqué » (un bloc jaune d'événement).
  • Pour choisir : le bloc « si … alors … sinon ».

Réponse à la problématique : on écrit les instructions une par une, dans l'ordre, avec des mots que la machine comprend, puis on teste pour trouver les bugs. On raccourcit le programme avec une boucle « répéter ». Pour l'ordinateur, on traduit chaque instruction en bloc Scratch (1 case = 50 pas, tourner = 90 degrés). Dans le cours, tu apprendras à lire un script, à utiliser les boucles, les conditions et les variables, et à programmer des figures, des calculs et un petit jeu.