Boucles imbriquées et motifs (3e) Tuto

Boucles imbriquées : rosaces, frises et motifs 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 à Le hasard en Scratch. Les programmes des brevets de 3e contiennent presque toujours une boucle dans une boucle : c'est l'idée qu'un motif élémentaire (un carré, un triangle, une étoile) est lui-même répété par une boucle externe pour former une frise (alignement) ou une rosace (rotation). Bien lire une boucle imbriquée, c'est aussi savoir compter combien de fois chaque bloc s'exécute — une question fréquente au brevet.

Une boucle dans une boucle

Quand un bloc répéter est placé à l'intérieur d'un autre bloc répéter, on parle de boucles imbriquées. La règle de lecture est simple : à chaque tour de la boucle externe, la boucle interne s'exécute en entier.

Compter les exécutions

Le programme suivant utilise une variable compteur qui s'incrémente à chaque tour de la boucle la plus profonde. À la fin, on affiche sa valeur.

Programme Scratch avec une boucle répéter 3 fois contenant une boucle répéter 4 fois qui incrémente un compteur puis affiche sa valeur

La boucle interne fait $4$ tours à chaque passage. La boucle externe fait $3$ tours, donc le bloc le plus profond s'exécute $3 \times 4 = 12$ fois. À la fin, le chat annonce $12$.

Attention

Ne pas confondre $3 + 4 = 7$ et $3 \times 4 = 12$ : dans une boucle imbriquée, les nombres se multiplient. C'est l'erreur la plus fréquente au brevet sur ce genre de question.

Tracer une frise

Une frise est obtenue en répétant un motif élémentaire en le translatant (déplacement en ligne droite). La boucle externe se charge de la translation ; la boucle interne trace le motif.

Frise de cinq carrés

On part en bas à gauche de la scène, et on trace cinq carrés alignés horizontalement, séparés par $20$ pas de blanc.

Programme Scratch traçant une frise de 5 carrés de 40 pas alignés horizontalement avec un espacement entre chaque carré

Au total, le bloc avancer de $40$ pas s'exécute $5 \times 4 = 20$ fois (un côté de chaque carré, pour chacun des cinq carrés). Le bloc avancer de $60$ pas s'exécute, lui, $5$ fois — il sert au déplacement entre deux carrés.

Projet : frise de cinq carrés .sb3
?
Ouvre-le dans Scratch en ligne via Fichier → Importer depuis votre ordinateur.

Frise de cinq carrés alignés tracée par le programme Scratch

De la frise à la rosace

Pour obtenir une rosace plutôt qu'une frise, il suffit de remplacer la translation (avancer) par une rotation entre deux motifs. Si on veut $N$ motifs disposés régulièrement autour d'un point, l'angle de rotation est $\dfrac{360^{\circ}}{N}$ — c'est la même formule que pour le polygone régulier (cf. tuto Stylo et motifs).

Rosace de douze carrés

On trace $12$ carrés autour d'un même sommet, chacun tourné de $\dfrac{360^{\circ}}{12} = 30^{\circ}$ par rapport au précédent.

Programme Scratch traçant une rosace de douze carrés de 60 pas, chaque carré tourné de 30 degrés par rapport au précédent

La boucle interne (répéter $4$ fois) trace un carré. La boucle externe (répéter $12$ fois) répète le carré en le faisant pivoter. Le bloc avancer de $60$ pas s'exécute $12 \times 4 = 48$ fois.

Projet : rosace de 12 carrés .sb3
?
Ouvre-le dans Scratch en ligne via Fichier → Importer depuis votre ordinateur.

Rosace de 12 carrés disposés autour d'un point central, chacun tourné de 30 degrés par rapport au précédent

Paramétrer la rosace

On peut demander à l'utilisateur le nombre $N$ de carrés et calculer l'angle de rotation à la volée. C'est exactement le pattern « variable + opérateur arithmétique » des brevets de 3e.

Rosace de N carrés

Programme Scratch demandant N et traçant une rosace de N carrés de 60 pas avec rotation 360 divisé par N degrés entre chaque carré

Pour $N = 8$, on obtient une rosace de huit carrés tournés de $45^{\circ}$ ; pour $N = 24$, une rosace très dense ; pour $N = 3$, trois carrés disposés en triangle.

Projet : rosace de N carrés .sb3
?
Ouvre-le dans Scratch en ligne via Fichier → Importer depuis votre ordinateur.

Remarque

La formule $\dfrac{360^{\circ}}{N}$ apparaît dans la grande majorité des sujets brevet qui demandent de tracer une rosace ou un polygone régulier. La maîtriser, c'est l'assurance de comprendre une moitié des exercices Scratch posés au brevet.

Un script de brevet : la rosace de triangles

Voici un script extrait du Brevet Asie — 17 juin 2025 (programme A, partie A). Sur la copie originale, le triangle équilatéral est défini séparément comme un bloc personnalisé (catégorie « Mes blocs »), puis appelé dans la boucle principale. Ci-dessous, on a aplati la définition du triangle dans la boucle externe pour rendre le script directement exécutable : le résultat est strictement le même.

Programme A — rosace de six triangles

Programme Scratch du brevet Asie 2025 aplati : aller au centre, orienter, effacer, stylo en position, répéter 6 fois (répéter 3 fois avancer 50 tourner droite 120, tourner droite 60)

La boucle interne (répéter $3$ fois) trace un triangle équilatéral de côté $50$ pas — l'angle extérieur d'un triangle équilatéral vaut bien $180^{\circ} - 60^{\circ} = 120^{\circ}$.

La boucle externe (répéter $6$ fois) répète ce triangle six fois en pivotant de $60^{\circ}$ à chaque tour. Comme $6 \times 60^{\circ} = 360^{\circ}$, le lutin termine à son orientation initiale et la figure se referme : on obtient une rosace de six triangles disposés autour du centre.

Projet : rosace de 6 triangles (Brevet Asie 2025) .sb3
?
Ouvre-le dans Scratch en ligne via Fichier → Importer depuis votre ordinateur.

Rosace formée de six triangles équilatéraux disposés autour d'un point central, chacun tourné de 60 degrés par rapport au précédent

Remarque

Bloc personnalisé. Dans la catégorie Mes blocs, on peut définir un bloc nommé (par exemple triangle équilatéral) qui regroupe plusieurs instructions. Quand on l'appelle dans la boucle principale, c'est comme si tout son contenu se déroulait sur place. Pour comprendre ce que fait un script, il suffit de remplacer mentalement chaque appel du bloc personnalisé par sa définition — c'est exactement ce qu'on a fait ci-dessus.

Récapitulatif

Question Méthode
Combien de fois le bloc le plus profond s'exécute-t-il ? Multiplier les nombres de répétitions de toutes les boucles qui le contiennent
Frise ou rosace ? Frise = translation entre deux motifs (avancer) ; rosace = rotation entre deux motifs (tourner)
Angle de rotation d'une rosace de $N$ motifs $\dfrac{360^{\circ}}{N}$
Lire un script avec un bloc personnalisé Remplacer chaque appel du bloc par sa définition complète

À toi de jouer

Modifier le programme de la rosace de douze carrés pour obtenir une rosace de douze triangles équilatéraux (toujours $12$ motifs, chacun tourné de $30^{\circ}$ par rapport au précédent). Combien de fois le bloc avancer de $50$ pas sera-t-il exécuté en tout ?

Corrigé

Il faut remplacer la boucle interne (qui trace un carré : $4$ avancer/tourner à $90^{\circ}$) par celle qui trace un triangle équilatéral ($3$ avancer/tourner à $120^{\circ}$). La boucle externe ne change pas.

Programme Scratch modifié traçant une rosace de douze triangles équilatéraux de 50 pas, chacun tourné de 30 degrés par rapport au précédent

Le bloc avancer de $50$ pas s'exécute $12 \times 3 = 36$ fois — une fois par côté, pour chacun des douze triangles.

Projet : rosace de 12 triangles .sb3
?
Ouvre-le dans Scratch en ligne via Fichier → Importer depuis votre ordinateur.

Astuce

Projet tout-en-un — Le fichier ci-dessous regroupe les programmes du tuto : frise de cinq carrés (touche f), rosace de douze carrés (touche r), rosace paramétrée (touche n — Scratch demande $N$ au clavier), rosace de six triangles du brevet Asie (touche t). 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

Le ch.7 a montré comment produire et lire un motif imbriqué. Le prochain chapitre, Lire et modifier un script brevet, va plus loin : on prend un programme existant, on prédit ce qu'il fait, on identifie une erreur, et on le modifie pour corriger ou enrichir la figure.