Aller au contenu
connaissance.org

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égorieCouleurExemplesRôle
Mouvementbleuavancer de 10, tourner de 15 degrés, aller à x : y :déplacer le lutin
Événementsjaunequand drapeau vert cliquédémarrer un script
Contrôleorange clairrépéter 10 fois, si … alors, attendreboucles et conditions
Capteursbleu clairdemander … et attendre, réponsedialoguer avec l’utilisateur
Opérateursvert+, −, ×, /, nombre aléatoire, et, oucalculs et tests
Variablesorangemettre … à, ajouter … àmémoriser des valeurs
Stylovert foncéstylo en position d’écrituretracer 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) :

PolygoneCôtésAngle à tourner
Triangle équilatéral3120°
Carré490°
Hexagone660°
Octogone845°

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

  1. Repérer l’événement déclencheur et les valeurs initiales des variables.
  2. Faire un tableau de suivi : une colonne par variable, une ligne par passage dans la boucle.
  3. Exécuter les blocs un par un, sans sauter d’étape.
  4. 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).

Passagen
Départ1
13
29
327
481

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.

À lire aussi

Mathématiques : toutes les fiches