Brevet Algorithmique Scratchalgorithmebouclesconditionsbrevet

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 :

  1. Verser 25 cL de lait dans une casserole
  2. Chauffer à feu doux pendant 2 minutes
  3. Ajouter 2 carrés de chocolat, remuer
  4. 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 ScratchEffetÉcriture mathématique
mettre [x] à (10)Place la valeur 10 dans xxx10x \leftarrow 10
ajouter (4) à [x]Augmente xx de 4xx+4x \leftarrow x + 4
demander [...] et attendreAttend que l’utilisateur tape une valeurSaisie clavier

Point essentiel

mettre [x] à (…) remplace tout ce que xx contenait : l’ancienne valeur disparaît. En revanche, ajouter (k) à [x] conserve la valeur existante et lui ajoute kk.

Trace d’exécution pas à pas :

mettre [a] à (3)         → a = 3
mettre [a] à (a + 7)     → a = 10
ajouter (-2) à [a]       → a = 8

Résultat final : a=8a = 8.


Partie 3 — Les boucles

La boucle « Répéter nn fois »

Elle exécute un groupe d’instructions exactement nn 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)
TourValeur de tt au débutAfficheValeur de tt à la fin
1226
26618
3181854
45454162

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 152=225>20015^2 = 225 > 200).


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 a mod ba \text{ mod } b.

OpérationRésultatPourquoi ?
17 mod 517 \text{ mod } 52217=3×5+217 = 3 \times 5 + 2
24 mod 624 \text{ mod } 60024 se divise exactement par 6
11 mod 411 \text{ mod } 43311=2×4+311 = 2 \times 4 + 3

Règle pratique : lorsque n mod 2=0n \text{ mod } 2 = 0, le nombre nn 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

  1. Identifier le nombre de départ → l’appeler xx
  2. Suivre chaque bloc dans l’ordre en remplaçant par des expressions en xx
  3. Le dernier dire donne 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 : f(x)=2x+8f(x) = 2x + 8. Vérification : f(3)=2×3+8=14f(3) = 2 \times 3 + 8 = 14.

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 : f(x)=x2+x4f(x) = x^2 + x - 4. Vérification : f(5)=25+54=26f(5) = 25 + 5 - 4 = 26.


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 à nn côtés, le lutin doit tourner de :

Angle de rotation=360°n\text{Angle de rotation} = \frac{360°}{n}

FigureNombre de côtés (nn)Angle de rotation
Triangle équilatéral3120°120°
Carré490°90°
Pentagone régulier572°72°
Hexagone régulier660°60°
Octogone régulier845°45°

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 ScratchSignification
mettre [v] à (…)Affectation : vvaleurv \leftarrow \text{valeur}
ajouter (k) à [v]Incrémentation : vv+kv \leftarrow v + k
dire (…)Affichage du résultat
Répéter (n) foisBoucle bornée : nn passages
Répéter jusqu'à (…)Boucle non bornée : s’arrête quand le test devient vrai
Si (…) alors … sinonBranchement 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 n=20n = 20 ?

20 mod 5=020 \text{ mod } 5 = 0 (20 est divisible par 5), donc on passe dans le premier bloc : n=20÷5=4n = 20 \div 5 = 4. Le programme affiche 4.

2) Que donne le programme pour n=8n = 8 ?

8 mod 5=308 \text{ mod } 5 = 3 \neq 0, donc on passe dans le bloc « sinon » : n=8×32=22n = 8 \times 3 - 2 = 22. Le programme affiche 22.

3) Quel nombre faut-il entrer pour que le programme affiche 7 via le premier bloc ?

On résout n5=7\frac{n}{5} = 7, soit n=35n = 35. Vérification : 35 mod 5=035 \text{ mod } 5 = 0 ✓ et 35÷5=735 \div 5 = 7 ✓.

🎯

Quiz — Algorithmique

10 questions · correction immédiate · sans inscription

Tester →