Aller au contenu
Rêves Vision

Troisième · Chapitre 13

Algorithmique (Scratch)

Cours de Troisième d'algorithmique avec Scratch (brevet) : variables, boucles répéter n fois et répéter jusqu'à, conditions si alors sinon, programmes de calcul et coordonnées. Exercices corrigés.

8 exercices corrigés · Cycle 4 - classe de troisième · Mis à jour en juin 2026

Quand tu joues sur Roblox, que tu fais défiler TikTok ou qu’un jeu compte ton score, des programmes travaillent en coulisses : ils gardent en mémoire des valeurs, répètent des actions et prennent des décisions. En classe, on apprend cette logique avec Scratch. Au brevet, l’objectif est clair : savoir lire un script, prédire ce que le lutin affiche et traduire un programme de calcul en expression algébrique. Pas besoin d’ordinateur pour réussir : il suffit de suivre les blocs dans l’ordre, comme une recette.

Mes objectifs

À la fin de ce chapitre, je sais :

  • initialiser, modifier et afficher une variable, et suivre sa valeur pas à pas ;
  • exécuter une boucle répéter nn fois (boucle bornée) et une boucle répéter jusqu’à (boucle non bornée) ;
  • lire une condition si… alors… sinon…, même imbriquée ;
  • reconnaître un programme de calcul (entrée - traitement - sortie) et l’écrire sous la forme ax+bax + b ;
  • utiliser les coordonnées (x;y)(x\,;\,y) pour situer le lutin.

À quoi ça sert ?

Tout ce que tu utilises au quotidien est piloté par ce genre de logique. Le nombre de pièces dans un jeu, c’est une variable qui augmente à chaque action. Le message « Accès en ligne » qui s’affiche selon ton âge, c’est une condition. Une animation qui se répète, c’est une boucle. Comprendre un script, c’est comprendre comment une machine décide - et au brevet, ça rapporte des points sans aucun calcul compliqué : il suffit d’être méthodique.

Les variables

Variable

Une variable est une case mémoire qui porte un nom et qui contient une valeur (souvent un nombre). Cette valeur peut changer pendant le programme. Trois actions reviennent toujours :

  • initialiser : mettre N à 7 (on fixe la valeur de départ) ;
  • modifier : ajouter 3 à N (la valeur stockée change) ;
  • afficher : dire N (le lutin montre la valeur actuelle).

Suivre une variable pas à pas

Pour savoir ce qu’affiche un script, on lit les blocs dans l’ordre, de haut en bas, et on note la valeur de la variable après chaque bloc.

Exemple : mettre N à 7, puis ajouter 3 à N, puis dire N.

  1. mettre N à 7 \rightarrow maintenant N=7N = 7 ;
  2. ajouter 3 à N \rightarrow N=7+3=10N = 7 + 3 = 10 ;
  3. dire N \rightarrow le lutin affiche 1010.

Le lutin affiche donc 1010 (et non 33).

Le bloc ajouter ne remplace pas la valeur

Un piège classique sur le bloc ajouter ... à.

  • FAUX : « ajouter 3 à N affiche 33. » Le bloc ajouter n’affiche rien et ne remplace pas la valeur : il s’ajoute à ce qui est déjà dans la case.
  • VRAI : si NN valait 77, alors après ajouter 3 à N on a N=7+3=10N = 7 + 3 = 10. C’est cette nouvelle valeur, 1010, que le bloc dire N affichera ensuite.

À retenir : ajouter 3 à N veut dire NN devient N+3N + 3.

Les boucles

Boucle bornée : répéter n fois

Une boucle répéter nn fois exécute les blocs placés à l’intérieur exactement nn fois. On dit qu’elle est bornée : on connaît le nombre de tours à l’avance.

Par exemple, répéter 5 fois ( avancer de 60 ; tourner de 72 degrés ) exécute 5 fois la suite « avancer puis tourner ».

Quelle figure dessine le lutin ?

Avec répéter 5 fois ( avancer de 60 ; tourner de 72 degrés ), le lutin trace 5 segments de même longueur (6060) séparés par 5 rotations égales de 72°72°.

Comme 5×72=3605 \times 72 = 360, le lutin fait un tour complet et revient à son point de départ : il dessine un pentagone régulier (5 côtés égaux). Son périmètre vaut 5×60=3005 \times 60 = 300.

Astuce : pour un polygone régulier à nn côtés, l’angle de rotation est 360n\frac{360}{n} degrés. Ici 3605=72\frac{360}{5} = 72, donc 5 côtés.

Boucle non bornée : répéter jusqu'à

Une boucle répéter jusqu’à recommence les blocs intérieurs tant que la condition écrite n’est pas vérifiée, et s’arrête dès qu’elle l’est. On dit qu’elle est non bornée : le nombre de tours n’est pas fixé au départ, on le déduit par le calcul.

Par exemple, répéter jusqu'à ( pièces ≥ 20 ) continue tant que la variable pièces est inférieure à 2020, et s’arrête au moment où pièces atteint 2020.

Compter les tours d'une boucle répéter jusqu'à

On cherche combien de fois la boucle tourne avant que la condition d’arrêt soit atteinte.

  1. Noter la valeur initiale de la variable testée et ce qu’elle gagne à chaque tour.
  2. Calculer combien de tours sont nécessaires pour atteindre le seuil d’arrêt : nombre de tours=seuilvaleur de deˊpartgain par tour.\text{nombre de tours} = \frac{\text{seuil} - \text{valeur de départ}}{\text{gain par tour}}.
  3. En déduire les autres grandeurs (distance parcourue, score final…) en multipliant par le nombre de tours.

Les conditions

Condition si... alors... sinon...

Une condition fait prendre une décision au programme selon qu’un test est vrai ou faux.

  • si (test) alors ( bloc A ) : le bloc A n’est exécuté que si le test est vrai ;
  • si (test) alors ( bloc A ) sinon ( bloc B ) : si le test est vrai on fait A, sinon on fait B.

Le test utilise les opérateurs de comparaison : == (égal), \neq (différent), << (inférieur), >> (supérieur), \leq (inférieur ou égal), \geq (supérieur ou égal).

Un test selon l'âge

Beaucoup de services demandent au moins 1313 ans pour ouvrir un compte. Le script :

si (age ≥ 13) alors ( dire « Accès en ligne » ) sinon ( dire « Mode hors-ligne » )

  • pour age = 15 : 151315 \geq 13 est vrai, le lutin dit « Accès en ligne » ;
  • pour age = 11 : 111311 \geq 13 est faux, le lutin dit « Mode hors-ligne » ;
  • pour age = 13 : 131313 \geq 13 est vrai (le symbole \geq inclut l’égalité), le lutin dit « Accès en ligne ».

Conditions imbriquées

On peut placer une condition à l’intérieur d’une autre pour distinguer plusieurs cas. Exemple avec un score :

si (score ≥ 100) alors ( dire « Or » ) sinon ( si (score ≥ 50) alors ( dire « Argent » ) sinon ( dire « Bronze » ) )

On lit de haut en bas : si le premier test échoue, on passe au sinon, qui contient un second test. Ainsi score = 70 donne « Argent » : 7010070 \geq 100 est faux, mais 705070 \geq 50 est vrai.

Programmes de calcul et coordonnées

Programme de calcul (entrée - traitement - sortie)

Un programme de calcul transforme un nombre d’entrée en un nombre de sortie par une suite d’opérations (le traitement). En appelant xx le nombre choisi, on peut écrire la sortie sous forme algébrique, souvent du type ax+bax + b.

Cette écriture est très utile : elle permet de prévoir la sortie pour n’importe quelle entrée, sans refaire tout le programme.

Traduire un programme de calcul en expression

  1. Poser : « Je choisis un nombre, je l’appelle xx. »
  2. Traduire chaque bloc dans l’ordre, en gardant l’expression entre parenthèses si besoin.
  3. Simplifier pour obtenir une forme du type ax+bax + b.
  4. Tester avec une valeur précise pour vérifier.

Exemple : demander x, mettre R à x × 4, ajouter 6 à R, dire R.

  • mettre R à x × 4 \rightarrow R=4xR = 4x ;
  • ajouter 6 à R \rightarrow R=4x+6R = 4x + 6.

Donc R=4x+6R = 4x + 6. Pour x=5x = 5 : R=4×5+6=20+6=26R = 4 \times 5 + 6 = 20 + 6 = 26.

Déplacements et coordonnées

Dans Scratch, la scène est un repère. La position du lutin est donnée par un couple de coordonnées (x;y)(x\,;\,y) : xx est l’abscisse (gauche - droite), yy l’ordonnée (bas - haut). Le centre de la scène est l’origine (0;0)(0\,;\,0).

Les blocs mettre x à ..., ajouter ... à x, aller à x: ... y: ... déplacent le lutin. Par exemple, en partant de (0;0)(0\,;\,0), le bloc ajouter 50 à x amène le lutin en (50;0)(50\,;\,0).

La bonne méthode au brevet

Pour ne pas se tromper, garde toujours un petit tableau des valeurs sous les yeux et avance bloc par bloc :

Bloc exécutéValeur de la variable
mettre N à 777
ajouter 3 à N1010
dire Naffiche 1010

Tant que tu n’en sautes aucun et que tu notes après chaque bloc, tu ne peux pas te tromper : c’est exactement ce qu’attend le correcteur.

Exercices corrigés

Du plus simple au plus exigeant. Cherche d'abord seul, puis déroule le corrigé détaillé.

Gratuit · corrigé

Déplacer le lutin en coordonnées

Dans un jeu de plateforme codé sous Scratch, un personnage part du centre de la scène, en position (0;0)(0\,;\,0). Il exécute dans l'ordre : ajouter 50 aˋ x\textsf{ajouter } 50 \textsf{ à } x, puis ajouter 30 aˋ y\textsf{ajouter } 30 \textsf{ à } y, puis ajouter 50 aˋ x\textsf{ajouter } 50 \textsf{ à } x. Donner la position (x;y)(x\,;\,y) du personnage à la fin du script.

Voir l'exercice corrigé
Gratuit · corrigé

Lire un script de variable

Dans un projet Scratch, le lutin exécute ce script dans l'ordre : mettre N aˋ 7\textsf{mettre } N \textsf{ à } 7, puis ajouter 3 aˋ N\textsf{ajouter } 3 \textsf{ à } N, puis dire N\textsf{dire } N. Que va afficher le lutin ?

Voir l'exercice corrigé
Gratuit · corrigé

Quelle figure dessine le lutin ?

Stylo abaissé, le lutin exécute le script : reˊpeˊter 5 fois (avancer de 60;tourner de 72 degreˊs)\textsf{répéter } 5 \textsf{ fois } ( \textsf{avancer de } 60 \,;\, \textsf{tourner de } 72 \textsf{ degrés} ). Quelle figure le lutin dessine-t-il ? Donner aussi son périmètre.

Voir l'exercice corrigé
Gratuit · corrigé

Compléter une condition si alors sinon

Pour ouvrir un compte sur une appli, il faut avoir au moins 1313 ans. On veut un script qui affiche « Accès en ligne » quand l'âge est supérieur ou égal à 1313, et « Mode hors-ligne » sinon. Compléter le bloc sialorssinon\textsf{si} \ldots \textsf{alors} \ldots \textsf{sinon} \ldots, puis donner ce qu'affiche le lutin pour age=15\textit{age} = 15, pour age=11\textit{age} = 11 et pour age=13\textit{age} = 13.

Voir l'exercice corrigé
Gratuit · corrigé

Les paliers de badge TikTok (conditions imbriquées)

Sur une appli inspirée de TikTok, un script affiche un badge selon le nombre de vues d'une vidéo, rangé dans la variable vues\textsf{vues} (en milliers). Le script est : si (vues100) alors (dire « Or ») sinon (si (vues50) alors (dire « Argent ») sinon (dire « Bronze »))\textsf{si } (\textsf{vues} \geq 100) \textsf{ alors } ( \textsf{dire « Or »} ) \textsf{ sinon } ( \textsf{si } (\textsf{vues} \geq 50) \textsf{ alors } ( \textsf{dire « Argent »} ) \textsf{ sinon } ( \textsf{dire « Bronze »} ) ). Donner le badge affiché pour vues=72\textsf{vues} = 72, pour vues=40\textsf{vues} = 40 et pour vues=100\textsf{vues} = 100.

Voir l'exercice corrigé
Gratuit · corrigé

Programme de calcul en fonction de x

Un script Scratch demande un nombre puis calcule : demander x\textsf{demander } x, mettre R aˋ x×4\textsf{mettre } R \textsf{ à } x \times 4, ajouter 6 aˋ R\textsf{ajouter } 6 \textsf{ à } R, dire R\textsf{dire } R. 1) Écrire RR en fonction de xx. 2) Calculer la valeur de RR affichée lorsque l'on saisit x=5x = 5.

Voir l'exercice corrigé
Gratuit · corrigé

La cagnotte du streameur (boucle et formule)

Un streameur reçoit des dons pendant un live. Un script gère sa cagnotte : mettre gains aˋ 0\textsf{mettre gains à } 0, puis reˊpeˊter 6 fois (ajouter 4 aˋ gains)\textsf{répéter } 6 \textsf{ fois } ( \textsf{ajouter } 4 \textsf{ à gains} ), puis dire gains\textsf{dire gains} (les gains sont en euros). 1) Quelle valeur le lutin affiche-t-il à la fin ? 2) Si l'on remplace 66 par un nombre de tours nn, exprimer les gains affichés en fonction de nn. 3) Le streameur vise une cagnotte de 100100 euros avec une boucle reˊpeˊter jusqu’aˋ (gains100)\textsf{répéter jusqu'à } (\textsf{gains} \geq 100) qui ajoute toujours 44 par tour : combien de tours seront nécessaires ?

Voir l'exercice corrigé
Bonus

Le mini-jeu Roblox (répéter jusqu'à)

Dans un mini-jeu inspiré de Roblox, on programme un personnage qui ramasse des pièces. Au départ : mettre pieˋces aˋ 0\textsf{mettre pièces à } 0. Puis une boucle : reˊpeˊter jusqu’aˋ (pieˋces20) (avancer de 50;ajouter 2 aˋ pieˋces)\textsf{répéter jusqu'à } (\textsf{pièces} \geq 20) \ ( \textsf{avancer de } 50 \,;\, \textsf{ajouter } 2 \textsf{ à pièces} ). 1) Combien de tours la boucle effectue-t-elle ? 2) Quelle distance totale le personnage a-t-il parcourue à l'arrêt du jeu ?

Débloquer l'exercice

Teste-toi

Quiz : 6 questions auto-corrigées

Vérifie en quelques minutes que tu as compris ce chapitre. Correction expliquée, score et points à la clé.

Commencer le quiz

Questions fréquentes

Comment lire un script Scratch au brevet ?
On suit les blocs dans l'ordre, de haut en bas, comme une recette. On note la valeur de chaque variable après chaque bloc, sans en sauter aucun, et on regarde ce que le lutin finit par dire ou dessiner. Pour une boucle répéter n fois, on exécute n fois les blocs qui sont à l'intérieur ; pour une boucle répéter jusqu'à, on recommence tant que la condition n'est pas vérifiée.
Qu'est-ce qu'un programme de calcul ?
Un programme de calcul est une suite d'instructions qui transforme un nombre d'entrée en un nombre de sortie : on choisit une valeur de départ, on lui applique des opérations dans l'ordre (multiplier, ajouter...), puis on lit le résultat. En appelant x le nombre choisi, on peut écrire le résultat sous une forme algébrique, par exemple 4 fois x plus 6, ce qui permet de prévoir la sortie pour n'importe quelle entrée.
Quelle est la différence entre répéter n fois et répéter jusqu'à ?
La boucle répéter n fois est une boucle bornée : on connaît à l'avance le nombre de tours, par exemple répéter 5 fois. La boucle répéter jusqu'à est une boucle non bornée : on ne fixe pas le nombre de tours au départ, on continue tant qu'une condition n'est pas atteinte, par exemple répéter jusqu'à ce que le score atteigne 20. Le nombre de tours se déduit alors par le calcul.