Scratch et algorithmes Exercices

Rosace de carrés avec des boucles imbriquées

Durée estimée
15 minutes
Difficulté
Votre progression

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

Créer un compte

Objectifs travaillés

On considère le programme Scratch suivant, qui utilise deux boucles imbriquées :

Programme Scratch dessinant une rosace de carrés avec deux boucles imbriquées
  1. Identifier la figure dessinée par la boucle intérieure (« répéter $ 4 $ fois ») seule. Justifier.
  2. Combien de fois la boucle intérieure est-elle exécutée au total lors d'un lancement du programme ? Combien d'instructions « avancer » sont effectuées ?
  3. À la fin de la boucle intérieure, le lutin a tourné $ 4 $ fois de $ 90° $. Quel est l'angle total de rotation effectué par la boucle intérieure ? En déduire que le lutin retrouve son orientation initiale après chaque carré.
  4. Vérifier qu'à la fin du programme, le lutin a effectué un tour complet d'orientation grâce à la boucle extérieure. Combien de carrés au total sont tracés sur la scène ?
  5. Le programme dessine la figure ci-dessous : une rosace formée de plusieurs carrés tournés autour d'un même point.

    Rosace de 6 carrés tournés autour d'un point central

    Modifier le programme pour obtenir une rosace formée de $ 8 $ carrés (et non $ 6 $) tournés régulièrement autour du point de départ. Préciser les nouvelles valeurs à utiliser dans les deux boucles.

Corrigé

  1. La boucle intérieure répète $ 4 $ fois la séquence « avancer de $ 80 $ pas, tourner de $ 90° $ ». Le lutin trace donc $ 4 $ côtés égaux séparés par des angles de rotation de $ 90° $. La figure obtenue est un carré de $ 80 $ pas de côté.
  2. La boucle extérieure s'exécute $ 6 $ fois et la boucle intérieure $ 4 $ fois à chaque passage. Le nombre total d'exécutions de la boucle intérieure est :
    $ 6 \times 4 = 24 $

    Une instruction « avancer » est effectuée à chaque passage, soit $\mathbf{24}$ instructions « avancer » au total.

  3. À chaque passage de la boucle intérieure, le lutin tourne de :
    $ 4 \times 90 = 360 $

    L'angle total est $\mathbf{360°}$, qui correspond à un tour complet. Le lutin retrouve donc bien son orientation initiale après le tracé de chaque carré.

  4. Après chaque carré, le lutin a la même orientation qu'au début ; puis l'instruction « tourner de $ 60° $ » de la boucle extérieure le fait pivoter avant le carré suivant. Au total, ces rotations supplémentaires valent :
    $ 6 \times 60 = 360 $

    Le lutin a donc bien effectué un tour complet grâce à la boucle extérieure. Comme la boucle extérieure se répète $ 6 $ fois, $ 6 $ carrés au total sont tracés sur la scène.

  5. Pour obtenir $ 8 $ carrés régulièrement répartis autour du point de départ, la boucle extérieure doit se répéter $ 8 $ fois. L'angle de rotation à la fin de chaque carré devient :
    $ 360 \div 8 = 45 $

    Il faut donc remplacer « répéter $ 6 $ fois » par répéter $ 8 $ fois et « tourner de $ 60° $ » par tourner de $ 45° $. La boucle intérieure (qui trace un carré) reste inchangée.

Pour réviser : Utiliser une boucle dans Scratch