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

Chapitre 17 – Algorithmique et programmation (Scratch)

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

Dernière mise à jour : 21 octobre 2026

Avant de commencer, tu dois savoir…
Objectifs du chapitre :

1. Situation d'entrée — Le robot qui trace les lignes

Un carré sur le terrain

Le club de foot utilise un robot traceur : il roule sur la pelouse et peint les lignes blanches. Il ne réfléchit pas tout seul : il fait exactement ce qu'on lui dit, dans l'ordre.

Malik veut faire tracer un carré pour un atelier de jonglage. Il écrit les instructions une par une : « avancer de 10 m », « tourner à droite d'un angle droit », « avancer de 10 m », « tourner à droite »…

Question 1 : combien d'instructions Malik doit-il écrire pour tracer tout le carré ?
Question 2 : comment écrire ce programme en beaucoup moins de lignes ?

Les réponses sont données dans la section 3.

2. Algorithme, programme et script (C1)

Définition Les machines des ateliers suivent aussi des programmes : machine de découpe à commande numérique, robot tondeuse, robot aspirateur.

2.1 Les familles de blocs

Chaque famille de blocs a sa couleur. La couleur aide à trouver le bon bloc dans Scratch.

Événements
Mouvement
Apparence
Contrôle
Capteurs
Opérateurs
Variables
Stylo
Définition Un événement est ce qui fait démarrer un script : un clic sur le drapeau vert, une touche du clavier, un clic sur le lutin. Le bloc d'événement a une forme arrondie en haut : on le met toujours en premier.
quand ⚑ est cliqué
quand la touche espace est pressée
quand ce sprite est cliqué

2.2 Où est le lutin ? Vers où regarde-t-il ?

À connaître

2.3 Lire un script

Méthode Lire un script pas à pas
1
Trouver le bloc de départ (le bloc jaune arrondi en haut) : il dit quand le script démarre.
2
Lire les blocs de haut en bas, un seul à la fois.
3
Après chaque bloc, noter dans un tableau ce qui a changé : position, direction, ce que dit le lutin.
Exemple : que fait ce script ?
quand ⚑ est cliqué
aller à x: 0 y: 0
s'orienter à 90
effacer tout
stylo en position d'écriture
avancer de 100 pas
tourner ↺ de 90 degrés
avancer de 50 pas
dire Fini !
BlocPosition après le blocDirectionCe qui se passe
quand ⚑ est cliqué——Le script démarre.
aller à x: 0 y: 0\((0\,;\,0)\)—Le lutin va au centre.
s'orienter à 90\((0\,;\,0)\)90 (droite)Il regarde vers la droite.
effacer tout\((0\,;\,0)\)90Les anciens dessins sont effacés.
stylo en position d'écriture\((0\,;\,0)\)90Le stylo touche la feuille.
avancer de 100 pas\((100\,;\,0)\)90Il trace un trait de 100 pas vers la droite.
tourner ↺ de 90 degrés\((100\,;\,0)\)0 (haut)Il tourne d'un angle droit, il regarde vers le haut.
avancer de 50 pas\((100\,;\,50)\)0Il trace un trait de 50 pas vers le haut.
dire Fini !\((100\,;\,50)\)0Une bulle « Fini ! » apparaît.
Attention
À toi

Lis ce script.

quand ⚑ est cliqué
aller à x: 0 y: 0
s'orienter à 90
avancer de 60 pas
avancer de 40 pas
tourner ↻ de 90 degrés
avancer de 30 pas
dire Arrivé

a) Quel bloc fait démarrer le script ?
b) Où est le lutin après les deux blocs « avancer de 60 » et « avancer de 40 » ?
c) Vers où regarde-t-il après « tourner ↻ de 90 degrés » ?
d) Où est le lutin à la fin ? Que dit-il ?

a) Le bloc « quand ⚑ est cliqué » : le script démarre quand on clique sur le drapeau vert.
b) Il part de \((0\,;\,0)\) vers la droite : \(60 + 40 = 100\). Il est au point \((100\,;\,0)\).
c) Il regardait vers la droite (90). Il tourne d'un quart de tour dans le sens des aiguilles d'une montre : il regarde vers le bas (180).
d) Il descend de 30 pas : \(0 - 30 = -30\). Il finit au point \((100\,;\,-30)\) et il dit « Arrivé ».
À toi

Ces 4 blocs sont mélangés. Remets-les dans l'ordre pour tracer un trait de 80 pas quand on clique sur le drapeau vert. Écris les lettres dans l'ordre.

A
avancer de 80 pas
B
quand ⚑ est cliqué
C
stylo en position d'écriture
D
effacer tout
Ordre : B – D – C – A.
B en premier : c'est le bloc d'événement, il démarre le script. A en dernier : le stylo doit être posé avant d'avancer, sinon rien n'est tracé. L'ordre B – C – D – A marche aussi : « effacer tout » enlève les anciens dessins, il ne relève pas le stylo.
quand ⚑ est cliqué
effacer tout
stylo en position d'écriture
avancer de 80 pas

3. Les boucles (C2)

3.1 La boucle « répéter … fois »

Définition Une boucle fait recommencer des blocs plusieurs fois. Le bloc orange « répéter … fois » fait recommencer les blocs qu'il contient, le nombre de fois écrit dans la case.
répéter 10 fois
dire …
Les blocs placés dans la mâchoire du bloc orange sont répétés. Les blocs placés en dessous sont faits une seule fois, après la boucle.
Réponse à la question 1 de la situation : un carré a 4 côtés. Pour chaque côté, il faut « avancer » puis « tourner ». Malik doit donc écrire \(4 \times 2 = 8\) instructions.

Réponse à la question 2 : les deux mêmes instructions reviennent 4 fois. On les met dans une boucle « répéter 4 fois ». Dans Scratch, le côté du carré mesure 100 pas.

Sans boucle : 8 blocs
avancer de 100 pas
tourner ↻ de 90 degrés
avancer de 100 pas
tourner ↻ de 90 degrés
avancer de 100 pas
tourner ↻ de 90 degrés
avancer de 100 pas
tourner ↻ de 90 degrés
Avec une boucle : plus court
quand ⚑ est cliqué
stylo en position d'écriture
répéter 4 fois
avancer de 100 pas
tourner ↻ de 90 degrés
Propriété Pour tracer une figure dont tous les côtés et tous les angles sont égaux (carré, triangle équilatéral, hexagone…) :
FigureNombre de côtésRépéterTourner de
Triangle équilatéral33 fois\(360 : 3 = 120\) degrés
Carré44 fois\(360 : 4 = 90\) degrés
Hexagone66 fois\(360 : 6 = 60\) degrés
En faisant le tour de la figure, le lutin fait un tour complet sur lui-même : 360°.
Exemple : tracer un triangle équilatéral de 100 pas de côté.
1
Un triangle a 3 côtés : on répète 3 fois.
2
\(360 : 3 = 120\) : le lutin tourne de 120 degrés à chaque coin.
quand ⚑ est cliqué
stylo en position d'écriture
répéter 3 fois
avancer de 100 pas
tourner ↻ de 120 degrés
À toi

a) Recopie et complète ce script pour tracer un triangle équilatéral de 80 pas de côté.

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

b) Le lutin exécute « répéter 6 fois : avancer de 50 pas, tourner ↻ de 60 degrés ». Quelle figure trace-t-il ?
c) Quelle longueur totale a-t-il parcourue ?

a) Un triangle a 3 côtés : répéter 3 fois. \(360 : 3 = 120\) : tourner ↻ de 120 degrés.
b) 6 côtés égaux et \(360 : 6 = 60\) : le lutin trace un hexagone (6 côtés de 50 pas). c) \(6 \times 50 = 300\) : le lutin a parcouru 300 pas.

3.2 La boucle « répéter jusqu'à ce que »

Définition La boucle « répéter jusqu'à ce que … » recommence les blocs tant que la condition n'est pas vraie. Dès que la condition devient vraie, la boucle s'arrête.
répéter jusqu'à ce que …
avancer de … pas
On l'utilise quand on ne sait pas à l'avance combien de fois il faut recommencer. Exemple : un robot aspirateur avance jusqu'à toucher le mur.
Méthode Suivre une boucle « répéter jusqu'à ce que »
1
Avant chaque tour, tester la condition : vraie ou fausse ?
2
Si elle est fausse : faire les blocs de la boucle, puis revenir à l'étape 1.
3
Si elle est vraie : la boucle s'arrête, on passe au bloc d'après.
Exemple : le lutin part de \(x = 0\). Combien de tours fait la boucle ? Où s'arrête le lutin ?
quand ⚑ est cliqué
aller à x: 0 y: 0
répéter jusqu'à ce que abscisse x > 100
ajouter 30 à x
dire Stop
Avant le tourxx > 100 ?Action
Tour 10faux\(0 + 30 = 30\)
Tour 230faux\(30 + 30 = 60\)
Tour 360faux\(60 + 30 = 90\)
Tour 490faux\(90 + 30 = 120\)
Test suivant120vraiLa boucle s'arrête. Le lutin dit « Stop ».

La boucle fait 4 tours. Le lutin s'arrête à \(x = 120\), pas à 100 : il dépasse 100 pendant le 4e tour.

Attention
À toi

Le lutin part toujours de \(x = 0\).
a) Script : « répéter jusqu'à ce que abscisse x > 50 : ajouter 20 à x ». Combien de tours ? Où s'arrête le lutin ?
b) Script : « répéter jusqu'à ce que abscisse x = 100 : ajouter 25 à x ». Combien de tours ?
c) Script : « répéter jusqu'à ce que abscisse x = 100 : ajouter 30 à x ». Que se passe-t-il ?

a) x prend les valeurs 0, 20, 40, 60. À 60, « 60 > 50 » est vrai : la boucle s'arrête. 3 tours, le lutin s'arrête à \(x = 60\).
b) x prend les valeurs 0, 25, 50, 75, 100. À 100, « 100 = 100 » est vrai. 4 tours.
c) x prend les valeurs 0, 30, 60, 90, 120, 150… x n'est jamais égal à 100 : la boucle ne s'arrête jamais. Le lutin sort de la scène. Il vaut mieux écrire « abscisse x > 100 ».

4. L'instruction « si … alors … sinon » (C3)

Définition Une condition est une phrase qui est soit vraie, soit fausse. Exemple : « 15 < 19 » est vraie, « 22 < 19 » est fausse.
Le bloc « si … alors … sinon » choisit entre deux chemins : Le bloc « si … alors » (sans « sinon ») ne fait rien quand la condition est fausse.
Méthode Suivre un « si … alors … sinon »
1
Lire la condition et remplacer par la valeur, par exemple « réponse < 19 » devient « 15 < 19 ».
2
Dire si c'est vrai ou faux.
3
Vrai : faire la partie « alors ». Faux : faire la partie « sinon ».
Exemple : un thermostat de maison allume le chauffage quand il fait moins de 19 °C.
quand ⚑ est cliqué
demander Quelle est la température ? et attendre
si réponse < 19 alors
dire Chauffage allumé
sinon
dire Chauffage éteint

Le bloc bleu clair « demander … et attendre » pose la question. Le nombre tapé au clavier est rangé dans réponse.

On tapeConditionVrai ou faux ?Le lutin dit
1515 < 19vraiChauffage allumé
1919 < 19fauxChauffage éteint
2222 < 19fauxChauffage éteint

Pour 19 : 19 n'est pas plus petit que 19, la condition est fausse. Le chauffage reste éteint.

Attention
À toi

Un site de vente en ligne offre la livraison au-dessus de 50 €.

demander Montant de la commande ? et attendre
si réponse > 50 alors
dire Livraison gratuite
sinon
dire Livraison : 5 €

a) Que dit le lutin si on tape 35 ?
b) Que dit-il si on tape 80 ?
c) Que dit-il si on tape 50 ?

a) « 35 > 50 » est faux : il dit « Livraison : 5 € ».
b) « 80 > 50 » est vrai : il dit « Livraison gratuite ».
c) « 50 > 50 » est faux (50 n'est pas plus grand que 50) : il dit « Livraison : 5 € ».

5. Les variables (C4)

Définition Une variable est une boîte qui porte un nom et qui contient une valeur. La valeur peut changer pendant le programme. Exemples : un score, un compteur de tours, le nombre tapé par l'utilisateur.
Mettre une valeur dans la boîte
mettre score à 0
Ajouter à ce qu'il y a déjà
ajouter 1 à score
Lire la valeurscore
On crée une variable dans la famille orange foncé Variables, avec le bouton « Créer une variable ».
À retenir
Méthode Suivre la valeur d'une variable
1
Faire un tableau avec une colonne par variable.
2
Lire les blocs dans l'ordre. À chaque bloc orange foncé, écrire la nouvelle valeur sur une nouvelle ligne.
3
La valeur utilisée est toujours la dernière écrite.
Exemple 1 : un programme de calcul. On tape 4. Que dit le lutin ?
quand ⚑ est cliqué
demander Choisis un nombre et attendre
mettre nombre à réponse
mettre résultat à nombre * 3
ajouter 5 à résultat
dire résultat
Blocnombrerésultat
mettre nombre à réponse4—
mettre résultat à nombre * 34\(4 \times 3 = 12\)
ajouter 5 à résultat4\(12 + 5 = 17\)

Le lutin dit 17. Dans Scratch, le signe de la multiplication est * (l'étoile).

Exemple 2 : une variable dans une boucle. Le côté grandit à chaque tour : le lutin trace une spirale.
quand ⚑ est cliqué
stylo en position d'écriture
mettre côté à 20
répéter 5 fois
avancer de côté pas
tourner ↻ de 90 degrés
ajouter 20 à côté
Tour12345
Le lutin avance de20406080100
Attention
À toi

a) Que dit le lutin à la fin de ce script ?

mettre n à 5
ajouter 3 à n
mettre n à n * 2
dire n

b) Un jeu donne 2 points par panier réussi. Que vaut points à la fin ?

mettre points à 0
répéter 6 fois
ajouter 2 à points

c) Dans le script b), Lina a mis « mettre points à 2 » à la place de « ajouter 2 à points ». Que vaut points à la fin ?

a) n vaut 5, puis \(5 + 3 = 8\), puis \(8 \times 2 = 16\). Le lutin dit 16.
b) points vaut 0, puis 2, 4, 6, 8, 10, 12. À la fin, points = 12 (\(6 \times 2 = 12\)).
c) À chaque tour, la valeur est remplacée par 2. À la fin, points = 2. Le score ne monte pas : il faut « ajouter ».

6. Écrire un programme (C5)

Méthode Écrire un programme Scratch
1
Dire en français, étape par étape, ce que doit faire le lutin (l'algorithme).
2
Choisir le bloc de départ (événement).
3
Chercher les blocs grâce à leur couleur. Une action qui revient plusieurs fois : une boucle. Un choix : un si … alors. Une valeur à retenir : une variable.
4
Tester le programme et corriger les erreurs (on appelle une erreur un « bug »).

6.1 Tracer une figure

Exemple : sur un plan de chantier, le lutin trace le profil d'un escalier de 4 marches. Chaque marche a 40 pas de profondeur et 20 pas de hauteur.
1
En français : pour chaque marche, avancer de 40, tourner vers le haut, monter de 20, se remettre vers la droite. On le fait 4 fois.
2
Départ : « quand ⚑ est cliqué ». Le lutin regarde vers la droite (90).
3
4 marches pareilles : une boucle « répéter 4 fois ».
quand ⚑ est cliqué
s'orienter à 90
stylo en position d'écriture
répéter 4 fois
avancer de 40 pas
tourner ↺ de 90 degrés
avancer de 20 pas
tourner ↻ de 90 degrés
4
Test : on clique sur le drapeau. Le lutin trace bien 4 marches. ✓
À toi

a) Écris un script qui trace un rectangle de 100 pas de long et 50 pas de large. Aide : on répète 2 fois un grand côté puis un petit côté.
b) Yanis veut tracer un carré, mais son lutin ne revient pas au départ. Trouve le bug et corrige-le.

répéter 4 fois
avancer de 100 pas
tourner ↻ de 60 degrés
a) Un script possible :
quand ⚑ est cliqué
stylo en position d'écriture
répéter 2 fois
avancer de 100 pas
tourner ↻ de 90 degrés
avancer de 50 pas
tourner ↻ de 90 degrés
b) Pour un carré, il faut tourner de \(360 : 4 = 90\) degrés, pas de 60. Le bug est le 60 : on le remplace par 90.

6.2 Faire un calcul

Exemple : un menuisier demande 35 € par heure de travail, plus 20 € de déplacement. Le programme demande le nombre d'heures et donne le prix.
1
En français : demander le nombre d'heures ; prix = heures × 35 ; ajouter 20 ; dire le prix.
2
Une valeur à retenir : une variable prix.
quand ⚑ est cliqué
demander Nombre d'heures ? et attendre
mettre prix à réponse * 35
ajouter 20 à prix
dire prix
3
Test avec 3 heures : \(3 \times 35 = 105\), puis \(105 + 20 = 125\). Le lutin dit 125 : le prix est 125 €. ✓
À toi

Une salle de sport demande 3 € par séance, plus 10 € d'inscription.
a) Recopie et complète le script.
b) Que dit le lutin si on tape 8 ?

demander Nombre de séances ? et attendre
mettre prix à réponse * …
ajouter … à prix
dire prix
a) « mettre prix à réponse * 3 » puis « ajouter 10 à prix ».
b) \(8 \times 3 = 24\), puis \(24 + 10 = 34\). Le lutin dit 34 : 34 €.

6.3 Programmer un petit jeu

Exemple : le jeu du nombre secret. L'ordinateur choisit un nombre au hasard entre 1 et 10. Le joueur propose des nombres jusqu'à trouver. Le programme compte les essais.
quand ⚑ est cliqué
mettre secret à nombre aléatoire entre 1 et 10
mettre essais à 0
répéter jusqu'à ce que réponse = secret
demander Ton nombre ? et attendre
ajouter 1 à essais
si réponse > secret alors
dire Trop grand ! pendant 1 secondes
si réponse < secret alors
dire Trop petit ! pendant 1 secondes
dire Gagné ! pendant 2 secondes
dire essais

On teste : l'ordinateur a choisi 7. Le joueur tape 4, puis 9, puis 7.

TourréponseessaisLe lutin dit
141Trop petit ! (4 < 7)
292Trop grand ! (9 > 7)
373rien dans la boucle (7 = 7)

Après le tour 3, « réponse = secret » est vrai : la boucle s'arrête. Le lutin dit « Gagné ! » puis 3 (le nombre d'essais).

Ce jeu utilise tout le chapitre : des variables (secret, essais), une boucle « répéter jusqu'à ce que » et des conditions « si … alors ».

À toi

Dans le jeu du nombre secret, l'ordinateur a choisi 3. Le joueur tape 5, puis 1, puis 2, puis 3.
a) Que dit le lutin après chaque nombre ?
b) Quel nombre dit-il à la toute fin ?

a) 5 : « 5 > 3 », il dit « Trop grand ! ». 1 : « 1 < 3 », il dit « Trop petit ! ». 2 : « 2 < 3 », il dit « Trop petit ! ». 3 : « 3 = 3 », il ne dit rien dans la boucle, puis la boucle s'arrête et il dit « Gagné ! ».
b) Le joueur a fait 4 essais : le lutin dit 4.

6.4 Pour aller plus loin

Aller plus loin
Script 1
quand ⚑ est cliqué
répéter indéfiniment
avancer de 5 pas
rebondir si le bord est atteint
Script 2, en même temps
quand la touche espace est pressée
ajouter 50 à y
attendre 1 secondes
ajouter -50 à y
Un bloc fabriqué
définir carré
répéter 4 fois
avancer de 50 pas
tourner ↻ de 90 degrés

7. L'essentiel à retenir

À retenir :