Lire et modifier un programme (3e) Tuto

Lire et modifier un script brevet

Durée estimée
10 minutes
Votre progression

Créez un compte gratuit pour suivre votre avancement et reprendre où vous avez laissé.

Créer un compte

Ce tuto fait suite à Boucles imbriquées. Jusqu'ici on a écrit des programmes Scratch. Au brevet, les exercices demandent presque toujours l'inverse : un script est donné et il faut le lire pour répondre à des questions — quelle figure obtient-on, combien de fois tel bloc s'exécute, comment modifier le programme pour changer le résultat. Ce chapitre est une boîte à outils pour ces trois compétences clés.

Tracer mentalement un script

La méthode universelle pour comprendre un script Scratch est de suivre le lutin pas à pas sur une feuille de brouillon, en notant à chaque étape sa position et son orientation. Si le stylo est posé, on dessine le segment parcouru.

Suivi pas-à-pas d'un carré

Programme Scratch traçant un carré simple : aller au centre, stylo posé, répéter 4 fois avancer 80 puis tourner droite 90 degrés

Le tableau ci-dessous suit le lutin tour par tour. On rappelle qu'« s'orienter à $90$ » signifie pointer vers la droite, et que « tourner droite » fait augmenter la direction.

Étape Position avant Direction avant Action Position après Direction après
Départ $(0\,;\,0)$ $90^{\circ}$ (stylo posé) $(0\,;\,0)$ $90^{\circ}$
Tour 1 $(0\,;\,0)$ $90^{\circ}$ avancer 80 + tourner $90^{\circ}$ $(80\,;\,0)$ $180^{\circ}$
Tour 2 $(80\,;\,0)$ $180^{\circ}$ avancer 80 + tourner $90^{\circ}$ $(80\,;\,-80)$ $-90^{\circ}$
Tour 3 $(80\,;\,-80)$ $-90^{\circ}$ avancer 80 + tourner $90^{\circ}$ $(0\,;\,-80)$ $0^{\circ}$
Tour 4 $(0\,;\,-80)$ $0^{\circ}$ avancer 80 + tourner $90^{\circ}$ $(0\,;\,0)$ $90^{\circ}$

Au tour 4, le lutin est revenu à sa position et son orientation initiales : la figure se referme. C'est le critère qui garantit qu'on a bien tracé un polygone fermé.

Projet : carré pas-à-pas .sb3
?
Ouvre-le dans Scratch en ligne via Fichier → Importer depuis votre ordinateur.

Remarque

Pour un polygone régulier à $N$ côtés, le lutin tourne $N$ fois du même angle ; le total des rotations doit faire un tour complet, soit $360^{\circ}$. C'est ce qui justifie la formule angle de rotation = $\dfrac{360^{\circ}}{N}$ — vue au tuto Stylo et motifs.

Associer un script à sa figure

C'est la question d'ouverture la plus classique du brevet : on donne plusieurs scripts qui ne diffèrent que par une seule valeur, et plusieurs figures. Il faut associer chaque script à la bonne figure. Voici le pattern Brevet Nouvelle-Calédonie — 11 décembre 2025, simplifié : on garde la rotation à droite plutôt qu'à gauche pour rester cohérent avec les exemples des tutos précédents.

Tous les scripts répètent $3$ fois la séquence avancer de $100$ pas + tourner à droite, en ne changeant que l'angle :

Script 1 — angle $60^{\circ}$trois côtés d'un hexagone régulier (les côtés s'écartent doucement)
Script 2 — angle $90^{\circ}$trois côtés d'un carré (« en U » ou « en angle droit »)
Script 3 — angle $120^{\circ}$triangle équilatéral fermé

Le bon angle pour la bonne figure

La règle clé : pour un polygone régulier à $N$ côtés, l'angle de rotation est $\dfrac{360^{\circ}}{N}$ — c'est l'angle extérieur (et non l'angle intérieur). Donc :

  • $\dfrac{360^{\circ}}{3} = 120^{\circ}$ pour un triangle équilatéral.
  • $\dfrac{360^{\circ}}{4} = 90^{\circ}$ pour un carré.
  • $\dfrac{360^{\circ}}{6} = 60^{\circ}$ pour un hexagone régulier.

Avec seulement $3$ répétitions, on ne trace que les $3$ premiers côtés. Pour le triangle ($N = 3$), c'est la figure complète. Pour le carré ($N = 4$) ou l'hexagone ($N = 6$), il manque des côtés : on obtient une figure ouverte.

Projet : Script 2 (angle 90 degrés) .sb3
?
Ouvre-le dans Scratch en ligne via Fichier → Importer depuis votre ordinateur.

Compter les exécutions

Question typique de la partie boucles imbriquées du brevet (cf. tuto précédent) : combien de fois un bloc s'exécute-t-il au total ?

Triangles répétés

On considère le programme suivant.

Programme Scratch avec boucle externe répéter 4 fois contenant un triangle (répéter 3 fois avancer 40 tourner droite 120) puis avancer 60 stylo levé
  1. Combien de fois le bloc avancer de $40$ pas est-il exécuté ?

    Réponse : il est dans la boucle interne (répétée $3$ fois) elle-même dans la boucle externe (répétée $4$ fois). Total : $4 \times 3 = 12$ exécutions.

  2. Combien de fois le bloc avancer de $60$ pas est-il exécuté ?

    Réponse : il est dans la boucle externe seulement, et il s'exécute une fois par tour. Total : $4$ exécutions.

  3. Combien de triangles sont tracés au total ?

    Réponse : la boucle interne trace un triangle complet à chaque passage de la boucle externe ($3$ avancer + $3$ tourner $120^{\circ}$ = triangle équilatéral). Total : $4$ triangles, alignés horizontalement (le bloc avancer 60 avec stylo levé sert à se déplacer entre deux triangles).

Attention

Le piège récurrent : confondre somme et produit. Une boucle imbriquée dans une autre multiplie les exécutions, elle ne les additionne pas. $3 + 4 = 7$ est faux ; $3 \times 4 = 12$ est correct.

Modifier un script pour changer la figure

Une fois qu'on sait lire un script, le modifier devient simple : il suffit d'identifier les paramètres qui contrôlent la forme (nombre de répétitions, angle de rotation, longueur du côté) et de les remplacer.

Du carré au pentagone régulier

Partons du carré du début (répéter $4$ fois : avancer $80$, tourner $90^{\circ}$). On veut tracer un pentagone régulier (cinq côtés, tous les angles égaux).

Deux modifications à faire :

  1. Changer le nombre de répétitions : $4 \rightarrow 5$.
  2. Changer l'angle : $90^{\circ} \rightarrow \dfrac{360^{\circ}}{5} = 72^{\circ}$.

La longueur du côté ($80$ pas) reste libre ; on peut la garder ou l'ajuster pour avoir une figure plus petite ou plus grande.

Programme Scratch modifié pour tracer un pentagone régulier : aller au centre, stylo posé, répéter 5 fois avancer 80 puis tourner droite 72 degrés

Pour passer à un hexagone ($6$ côtés, $60^{\circ}$), un octogone ($8$ côtés, $45^{\circ}$) ou un décagone ($10$ côtés, $36^{\circ}$), il suffit d'appliquer la même formule.

Projet : pentagone régulier .sb3
?
Ouvre-le dans Scratch en ligne via Fichier → Importer depuis votre ordinateur.

Pentagone régulier tracé par le programme modifié

Corriger un script qui ne marche pas

Au brevet, on peut aussi vous donner un script erroné et la figure qu'il produit, et vous demander d'identifier l'erreur et de proposer une correction. La méthode est toujours la même : tracer mentalement, comparer au résultat attendu, isoler la ligne fautive.

Hexagone manqué

Un élève veut tracer un hexagone régulier de côté $50$ pas. Il écrit :

Programme Scratch erroné : aller au centre, stylo posé, répéter 6 fois avancer 50 et tourner droite 120 degrés

À l'exécution, il obtient un triangle équilatéral (et non un hexagone), avec chaque côté tracé deux fois.

Diagnostic. L'élève a confondu l'angle intérieur de l'hexagone régulier ($120^{\circ}$) avec son angle extérieur (l'angle dont le lutin doit pivoter à chaque sommet). La formule à appliquer est :

  • Angle de rotation = $\dfrac{360^{\circ}}{N} = \dfrac{360^{\circ}}{6} = 60^{\circ}$.

En tournant de $120^{\circ}$, le lutin fait $6 \times 120^{\circ} = 720^{\circ}$ au total, soit deux tours complets : il repasse deux fois sur le même triangle.

Correction. Remplacer $120$ par $60$ dans le bloc tourner droite. On obtient alors le motif souhaité.

Projet : le programme erroné (triangle obtenu) .sb3
?
Ouvre-le dans Scratch en ligne via Fichier → Importer depuis votre ordinateur.

Figure obtenue par le programme erroné : un triangle équilatéral au lieu d'un hexagone

Remarque

La même erreur apparaît dans le Programme B du Brevet Asie — 17 juin 2025 (cf. tuto précédent), où un élève cherche à former une rosace d'hexagone : avec un angle de $120^{\circ}$ au lieu de $60^{\circ}$, sa figure se referme trop vite. C'est l'une des erreurs Scratch les plus fréquentes au brevet.

Récapitulatif

Question type brevet Méthode
Quelle figure obtient-on ? Tracer pas-à-pas sur une feuille (position, orientation, stylo) ; chercher si la figure se referme
Associer un script à sa figure Identifier l'angle de rotation ; appliquer la règle $\dfrac{360^{\circ}}{N}$
Combien de fois le bloc X s'exécute-t-il ? Multiplier les nombres de répétitions de toutes les boucles qui le contiennent
Modifier pour obtenir un polygone à $N$ côtés Changer le nombre de répétitions en $N$ et l'angle en $\dfrac{360^{\circ}}{N}$
Pourquoi la figure n'est pas celle attendue ? Comparer l'angle utilisé à $\dfrac{360^{\circ}}{N}$ ; vérifier le stylo et la position de départ

À toi de jouer

On considère le programme suivant.

Programme Scratch avec boucle externe répéter 3 fois contenant une boucle interne répéter 3 fois avancer 30 tourner droite 120 puis avancer 80
  1. Combien de fois le bloc avancer de $30$ pas est-il exécuté en tout ?
  2. Combien de fois le bloc avancer de $80$ pas est-il exécuté en tout ?
  3. Quelle figure le lutin trace-t-il ?

Corrigé

  1. Le bloc avancer de $30$ pas est dans la boucle interne ($3$ fois) elle-même dans la boucle externe ($3$ fois), donc il s'exécute $3 \times 3 = 9$ fois.
  2. Le bloc avancer de $80$ pas est dans la boucle externe uniquement, donc il s'exécute $3$ fois.
  3. La boucle interne trace un triangle équilatéral de côté $30$ pas (angle de rotation $120^{\circ}$, donc $\dfrac{360^{\circ}}{3}$ : c'est bien un triangle). La boucle externe trace ce triangle, puis avance de $80$ pas (sans lever le stylo, donc en traçant un trait). On obtient donc trois triangles équilatéraux reliés par un segment de $80$ pas, chacun dans la même orientation puisqu'à la fin du triangle interne, le lutin est revenu à sa direction initiale.

Astuce

Projet tout-en-un — Le fichier ci-dessous regroupe les programmes du tuto : carré pas-à-pas (touche c), trois côtés d'un carré (touche n — angle $90^{\circ}$, le « Script 2 » NC 2025), pentagone modifié (touche p), hexagone raté (touche b — l'erreur d'angle à $120^{\circ}$). Ouvrir le projet dans Scratch avec Fichier > Importer depuis votre ordinateur.

Projet tout-en-un .sb3
?
Ouvre-le dans Scratch en ligne via Fichier → Importer depuis votre ordinateur.

Remarque

On a maintenant tous les outils pour lire et modifier un script brevet. Dans le prochain et dernier tuto, Projet : un mini-jeu, on assemble tout ce qu'on a vu (variables, conditions, hasard, boucles, saisie) pour construire un petit jeu complet — manette au clavier, score, condition de fin.