V VIDYALAYA · Soutien scolaire
Mathématiques6eAlgorithmique et programmationExercices + corrigé

Scratch : déplacements, boucles et conditions — Exercices

Lire, analyser et concevoir des scripts Scratch. Corrigé en fin de fiche.
⏱ ~25 min✎ Papier ou ordinateur
1Lire un script — déplacements/ 3 pts

Le lutin démarre à $x = 0$, $y = 0$, orienté vers la droite. Voici son script :

  • Quand ▶ est cliqué
  • avancer de 30 pas
  • avancer de 50 pas
  • avancer de 20 pas
  1. Combien de blocs «avancer» contient ce script ?
  2. De combien de pas le lutin avance-t-il au total ?
  3. Si l'on remplace les trois blocs «avancer» par un seul, quelle valeur faut-il y écrire ?
2Boucles — compter les répétitions/ 4 pts

Voici un script :

  • Quand ▶ est cliqué
  • répéter 6 fois :
  •  avancer de 15 pas
  1. Combien de fois le bloc «avancer de 15 pas» est-il exécuté ?
  2. De combien de pas le lutin avance-t-il au total ?
  3. On veut que le lutin avance de 120 pas en répétant 8 fois le même bloc «avancer». Combien de pas faut-il écrire dans ce bloc ?
3Boucles et figures géométriques/ 5 pts

Voici un script :

  • Quand ▶ est cliqué
  • répéter 3 fois :
  •  avancer de 80 pas
  •  tourner de 120 degrés
  1. Combien de fois les blocs à l'intérieur de la boucle s'exécutent-ils ?
  2. De combien de pas le lutin avance-t-il au total ?
  3. De combien de degrés le lutin tourne-t-il au total ?
  4. Quelle figure géométrique ce script trace-t-il ? Justifie ta réponse.
4Instruction conditionnelle — rebond sur les bords/ 4 pts

Voici un script :

  • Quand ▶ est cliqué
  • répéter indéfiniment :
  •  avancer de 5 pas
  •  si <touche un bord ?> alors :
  •   tourner de 180 degrés
  1. Que fait le lutin lorsque la condition «touche un bord ?» est fausse ?
  2. Que se passe-t-il dès que le lutin touche un bord ?
  3. Ce script s'arrête-t-il seul ? Justifie.
5Concevoir un script — hexagone régulier/ 5 pts

On veut que le lutin trace un hexagone régulier (6 côtés égaux) dont chaque côté mesure 60 pas. Pour un polygone régulier à $n$ côtés, l'angle de rotation vaut $\dfrac{360}{n}$ degrés.

  1. Calcule l'angle de rotation pour un hexagone ($n = 6$).
  2. Combien de fois faut-il répéter les blocs «avancer» et «tourner» ?
  3. Écris le script complet, bloc par bloc.
  4. Vérifie : de combien de degrés le lutin tourne-t-il au total ?
Corrigé détaillé
1Lire un script — déplacements
a) \(\text{Trois blocs : avancer de 30, avancer de 50, avancer de 20}\) \(\text{3 blocs}\)
b) \(30 + 50 + 20 =\) \(100 \text{ pas}\)
c) \(\text{Le total est } 100 \text{ pas : un seul bloc suffit.}\) \(\text{avancer de } 100 \text{ pas}\)
2Boucles — compter les répétitions
a) \(\text{La boucle « répéter 6 fois » exécute le bloc intérieur}\) \(6 \text{ fois}\)
b) \(6 \times 15 =\) \(90 \text{ pas}\)
c) \(120 \div 8 =\) \(15 \text{ pas}\)
3Boucles et figures géométriques
a) \(\text{Boucle « répéter 3 fois »}\) \(3 \text{ fois}\)
b) \(3 \times 80 =\) \(240 \text{ pas}\)
c) \(3 \times 120 =\) \(360 \text{ degrés}\)
d) \(\text{3 côtés égaux ; rotation totale } 3 \times 120^\circ = 360^\circ \text{ (tour complet)}\) \(\text{Triangle équilatéral}\)
4Instruction conditionnelle — rebond sur les bords
a) \(\text{Condition fausse → seul « avancer de 5 pas » s'exécute.}\) \(\text{Le lutin avance de 5 pas.}\)
b) \(\text{Condition vraie → « tourner de 180° » s'exécute.}\) \(\text{Le lutin fait demi-tour et repart.}\)
c) \(\text{La boucle « répéter indéfiniment » ne se termine jamais seule.}\) \(\text{Non — il faut cliquer sur le bouton stop.}\)
5Concevoir un script — hexagone régulier
a) \(360 \div 6 =\) \(60 \text{ degrés}\)
b) \(\text{Un hexagone a 6 côtés → on répète}\) \(6 \text{ fois}\)
c) \(\text{Quand ▶ est cliqué ; répéter 6 fois \{ avancer de 60 pas ; tourner de 60 degrés \}}\) \(\text{4 blocs : démarrage + répéter 6 fois + avancer 60 + tourner 60}\)
d) \(6 \times 60 =\) \(360 \text{ degrés — tour complet : la figure est fermée.}\)