Algorithmique et programmation Scratch
Maîtrise les bases de l'algorithmique avec Scratch : variables, boucles, conditions, programmes de calcul et tracés géométriques — tout le programme du Brevet.
Partie 1 — Algorithme : de quoi parle-t-on ?
Un algorithme est une méthode composée d’étapes précises et sans ambiguïté qui permet d’aboutir à un résultat déterminé. Chaque étape doit être suffisamment claire pour être exécutée mécaniquement, sans réflexion personnelle.
Illustration concrète — Préparer un chocolat chaud :
- Verser 25 cL de lait dans une casserole
- Chauffer à feu doux pendant 2 minutes
- Ajouter 2 carrés de chocolat, remuer
- Si le chocolat est fondu alors servir, sinon continuer à remuer
On retrouve ici les ingrédients d’un algorithme : des données en entrée (le lait, le chocolat), des instructions ordonnées, et un test qui décide de la suite.
Scratch est l’outil utilisé au collège pour construire ces algorithmes : on empile des blocs colorés qui représentent chacun une instruction. Le programme s’exécute de haut en bas, bloc après bloc.
Partie 2 — Les variables
Principe
Une variable est une case mémoire à laquelle on donne un nom. On peut y stocker un nombre, un texte, puis lire ou modifier son contenu au fil du programme.
| Bloc Scratch | Effet | Écriture mathématique |
|---|---|---|
mettre [x] à (10) | Place la valeur 10 dans | |
ajouter (4) à [x] | Augmente de 4 | |
demander [...] et attendre | Attend que l’utilisateur tape une valeur | Saisie clavier |
Point essentiel
mettre [x] à (…) remplace tout ce que contenait : l’ancienne valeur disparaît. En revanche, ajouter (k) à [x] conserve la valeur existante et lui ajoute .
Trace d’exécution pas à pas :
mettre [a] à (3) → a = 3 mettre [a] à (a + 7) → a = 10 ajouter (-2) à [a] → a = 8Résultat final : .
Partie 3 — Les boucles
La boucle « Répéter fois »
Elle exécute un groupe d’instructions exactement fois, puis le programme continue après la boucle.
Exemple — Calcul des premiers termes d’une suite :
mettre [t] à (2) Répéter (4) fois dire (t) mettre [t] à (t × 3)
Tour Valeur de au début Affiche Valeur de à la fin 1 2 2 6 2 6 6 18 3 18 18 54 4 54 54 162
La boucle « Répéter jusqu’à (condition) »
Ici, le bloc se répète tant que la condition est fausse. Dès que la condition devient vraie, la boucle s’arrête.
Exemple — Premier carré parfait dépassant 200 :
mettre [k] à (1) Répéter jusqu'à (k × k > 200) ajouter (1) à [k] dire (k × k)Le programme affiche 225 (car ).
Partie 4 — Les conditions
Le bloc « Si … alors »
Il exécute des instructions seulement quand le test est vérifié. Si le test échoue, le programme saute directement à la suite.
Le bloc « Si … alors … sinon »
Il propose deux chemins : un si le test réussit, un autre s’il échoue.
Si (score ≥ 10) alors
dire "Admis"
sinon
dire "Recalé"
Focus sur le modulo
Le modulo est le reste obtenu après une division entière. On l’écrit souvent .
| Opération | Résultat | Pourquoi ? |
|---|---|---|
| 24 se divise exactement par 6 | ||
Règle pratique : lorsque , le nombre est pair ; sinon il est impair.
Partie 5 — Programmes de calcul
Un programme de calcul reçoit un nombre, lui fait subir une série d’opérations et renvoie un résultat. L’objectif au Brevet est souvent de traduire le programme en expression algébrique.
Méthode de traduction
- Identifier le nombre de départ → l’appeler
- Suivre chaque bloc dans l’ordre en remplaçant par des expressions en
- Le dernier
diredonne la formule cherchée
Exemple 1 :
demander "Donne un nombre" mettre [r] à (réponse) → r = x mettre [r] à (r + 4) → r = x + 4 mettre [r] à (r × 2) → r = 2(x + 4) = 2x + 8 dire (r)Expression : . Vérification : .
Exemple 2 :
demander "Donne un nombre" mettre [r] à (réponse) → r = x mettre [r] à (r × r) → r = x² ajouter (-4) à [r] → r = x² - 4 ajouter (réponse) à [r] → r = x² - 4 + x dire (r)Expression : . Vérification : .
Partie 6 — Dessiner avec Scratch
Scratch dispose d’un stylo qui trace le chemin du lutin. En combinant avancer et tourner, on construit des figures géométriques.
Dessiner un carré de côté 80
stylo en position d'écriture
Répéter (4) fois
avancer de (80)
tourner ↻ de (90) degrés
Le lutin avance, tourne d’un angle droit, et recommence quatre fois : on obtient un carré.
Dessiner un hexagone régulier de côté 60
stylo en position d'écriture
Répéter (6) fois
avancer de (60)
tourner ↻ de (60) degrés
Règle générale pour les polygones réguliers
Pour un polygone régulier à côtés, le lutin doit tourner de :
| Figure | Nombre de côtés () | Angle de rotation |
|---|---|---|
| Triangle équilatéral | 3 | |
| Carré | 4 | |
| Pentagone régulier | 5 | |
| Hexagone régulier | 6 | |
| Octogone régulier | 8 |
Remarque importante : dans Scratch, on utilise l’angle extérieur (celui dont tourne le lutin), et non l’angle intérieur de la figure.
Récapitulatif des blocs essentiels
| Bloc Scratch | Signification |
|---|---|
mettre [v] à (…) | Affectation : |
ajouter (k) à [v] | Incrémentation : |
dire (…) | Affichage du résultat |
Répéter (n) fois | Boucle bornée : passages |
Répéter jusqu'à (…) | Boucle non bornée : s’arrête quand le test devient vrai |
Si (…) alors … sinon | Branchement selon un test |
… modulo … | Reste de la division entière |
Exercice type Brevet
Énoncé — Voici un programme Scratch :
demander "Entre un entier" mettre [n] à (réponse) Si (n modulo 5 = 0) alors mettre [n] à (n / 5) sinon mettre [n] à (n × 3 - 2) dire (n)1) Que donne le programme pour ?
(20 est divisible par 5), donc on passe dans le premier bloc : . Le programme affiche 4.
2) Que donne le programme pour ?
, donc on passe dans le bloc « sinon » : . Le programme affiche 22.
3) Quel nombre faut-il entrer pour que le programme affiche 7 via le premier bloc ?
On résout , soit . Vérification : ✓ et ✓.