Sciences · Mathématiques
L’algorithmique avec Scratch
Scratch est un langage de programmation par blocs utilisé au collège pour apprendre l’algorithmique. On y retrouve les notions essentielles de tout programme : instructions, variables, boucles et conditions.
Mis à jour le 3 min de lecture
Depuis la réforme de 2016, l’algorithmique et la programmation font partie du programme de mathématiques et de technologie du cycle 4 (5e-3e), et Scratch est l’outil le plus utilisé ; des exercices Scratch tombent régulièrement au brevet. Développé au MIT et diffusé gratuitement depuis 2007, il remplace la syntaxe par des blocs colorés qui s’emboîtent. Au lycée, on passe ensuite à Python.
Les familles de blocs
| Catégorie | Couleur | Exemples | Rôle |
|---|---|---|---|
| Mouvement | bleu | avancer de 10, tourner de 15 degrés, aller à x : y : | déplacer le lutin |
| Événements | jaune | quand drapeau vert cliqué | démarrer un script |
| Contrôle | orange clair | répéter 10 fois, si … alors, attendre | boucles et conditions |
| Capteurs | bleu clair | demander … et attendre, réponse | dialoguer avec l’utilisateur |
| Opérateurs | vert | +, −, ×, /, nombre aléatoire, et, ou | calculs et tests |
| Variables | orange | mettre … à, ajouter … à | mémoriser des valeurs |
| Stylo | vert foncé | stylo en position d’écriture | tracer des figures |
Les variables
Une variable est une case mémoire qui porte un nom et contient une valeur modifiable.
- « mettre nombre à 5 » : donne la valeur 5.
- « ajouter 3 à nombre » : la variable vaut maintenant 8.
- « mettre nombre à (nombre × 2) » : elle vaut 16.
C’est exactement un programme de calcul : chaque instruction transforme la valeur précédente.
Les boucles
- répéter n fois : exécute les blocs intérieurs n fois.
- répéter jusqu’à (condition) : continue tant que la condition est fausse.
- répéter indéfiniment : boucle infinie, arrêtée par le bouton stop.
Les conditions
« si (condition) alors … sinon … » exécute un groupe de blocs ou l’autre selon que la condition est vraie ou fausse. Les conditions utilisent les opérateurs <, =, > et les connecteurs et, ou, non (voir logique mathématique).
Exemple 1 : tracer un polygone régulier
Pour tracer un carré de côté 100 pas : stylo en position d’écriture, puis répéter 4 fois : avancer de 100, tourner de 90 degrés.
Pour un polygone régulier à n côtés, le lutin doit tourner de 360/n degrés à chaque sommet (c’est l’angle extérieur, pas l’angle intérieur) :
| Polygone | Côtés | Angle à tourner |
|---|---|---|
| Triangle équilatéral | 3 | 120° |
| Carré | 4 | 90° |
| Hexagone | 6 | 60° |
| Octogone | 8 | 45° |
Voir les polygones réguliers.
Exemple 2 : un programme de calcul
Quand le drapeau vert est cliqué : demander « Choisis un nombre » et attendre ; mettre x à réponse ; mettre résultat à (x + 3) × 2 ; dire résultat. On peut ainsi tester rapidement de nombreuses valeurs avant de démontrer une conjecture par le calcul littéral.
Exemple 3 : une condition
Demander un nombre ; si (réponse modulo 2 = 0) alors dire « pair » sinon dire « impair ». Le bloc « modulo » donne le reste de la division euclidienne.
Méthode pour lire un script au brevet
- Repérer l’événement déclencheur et les valeurs initiales des variables.
- Faire un tableau de suivi : une colonne par variable, une ligne par passage dans la boucle.
- Exécuter les blocs un par un, sans sauter d’étape.
- Conclure sur ce qu’affiche ou dessine le programme.
Erreurs fréquentes
- Tourner de l’angle intérieur du polygone (108° pour un pentagone) au lieu de l’angle extérieur (72°).
- Oublier d’initialiser une variable : elle garde sa valeur de l’exécution précédente.
- Mettre un bloc hors de la boucle (ou dedans) par erreur.
- Oublier « stylo en position d’écriture » : rien n’est tracé.
- Confondre « mettre à » et « ajouter à ».
Exercice corrigé
Script : mettre n à 1 ; répéter 4 fois : mettre n à (n × 3).
| Passage | n |
|---|---|
| Départ | 1 |
| 1 | 3 |
| 2 | 9 |
| 3 | 27 |
| 4 | 81 |
Le programme calcule 3⁴ = 81. Pour tracer un pentagone régulier de côté 80, il faut répéter 5 fois : avancer de 80, tourner de 72°.
Questions fréquentes
Scratch est-il gratuit ?
Oui. Il s’utilise en ligne sur le site du projet ou hors connexion avec une application à installer, sans frais.
Pourquoi apprendre Scratch avant Python ?
Les blocs évitent les erreurs de syntaxe et permettent de se concentrer sur la logique : boucles, conditions, variables. Ces notions se retrouvent ensuite à l’identique en Python.
De combien faut-il tourner pour tracer un triangle équilatéral ?
De 120 degrés à chaque sommet, car l’angle extérieur vaut 360 ÷ 3. Tourner de 60° tracerait un hexagone partiel.
Que signifie le bloc « répéter jusqu’à » ?
Il répète les instructions tant que la condition indiquée n’est pas réalisée, puis passe à la suite. Si la condition est vraie dès le départ, la boucle n’est jamais exécutée.