Suivre une boucle Scratch pas à pas

[enonce]
On considère le programme Scratch suivant, qui utilise une variable appelée cagnotte :

Programme Scratch : variable cagnotte initialisée à 0 puis boucle répéter 4 fois ajoutant 25

On souhaite déterminer ce que le lutin affiche, en suivant la valeur de la variable cagnotte après chaque tour de boucle.
[/enonce]

[etape]
Avant le premier tour de boucle, quelle est la valeur de la variable cagnotte ?
[qcm]
[option]$25$[/option]
[option correct="true"]$0$[/option]
[option]La variable n'a pas encore de valeur[/option]
[option]$100$[/option]
[reponse statut="correct"]Correct !
La première instruction du programme fixe la valeur de départ : la variable cagnotte vaut $0$ avant d'entrer dans la boucle.[/reponse]
[reponse motif="$25$"]Non.
$25$ est la valeur qui sera ajoutée à chaque tour, pas la valeur de départ. Relire l'instruction placée juste avant la boucle.[/reponse]
[reponse motif="La variable n'a pas encore de valeur"]Non.
Une instruction « mettre ... à ... » apparaît avant la boucle : elle donne bien une valeur de départ à la variable.[/reponse]
[reponse motif="$100$"]Non.
C'est une valeur que la variable n'atteint qu'à la toute fin. La question porte sur sa valeur avant le premier tour.[/reponse]
[reponse statut="incorrect"]Non.
L'instruction placée juste avant la boucle donne à la variable sa valeur de départ.[/reponse]
[/qcm]
[/etape]

[etape]
Donner la valeur de la variable cagnotte après le premier tour de boucle.

cagnotte $=$ [[t1]]
[math id="t1" attendu="25"]
[reponse statut="correct"]Bonne réponse !
On part de $0$ et le premier tour ajoute $25$ : la variable vaut $0 + 25 = 25$.[/reponse]
[reponse motif="50"]Attention, un seul tour de boucle a été effectué pour l'instant.
La boucle n'ajoute $25$ qu'une seule fois au premier tour.[/reponse]
[reponse motif="0"]La variable valait $0$ avant la boucle, mais le bloc « ajouter à cagnotte » la modifie dès le premier tour.[/reponse]
[reponse statut="incorrect"]Repartir de la valeur de départ et appliquer une seule fois le bloc « ajouter à cagnotte ».[/reponse]
[aide essai="2"]La variable valait $0$ avant la boucle. Le bloc « ajouter à cagnotte $25$ » augmente cette valeur de $25$.[/aide]
[aide essai="3"]Calculer $0 + 25$.[/aide]
[/math]
[solution]Avant la boucle, cagnotte $= 0$. Après le premier tour : cagnotte $= 0 + 25 = 25$.[/solution]
[/etape]

[etape]
Le bloc « ajouter à cagnotte $25$ » s'exécute à chaque tour. Donner la valeur de la variable cagnotte après le deuxième tour.

cagnotte $=$ [[t2]]
[math id="t2" attendu="50"]
[reponse statut="correct"]Exactement !
Après le premier tour, cagnotte valait $25$. Le deuxième tour ajoute encore $25$ : $25 + 25 = 50$.[/reponse]
[reponse motif="25"]La variable accumule les ajouts : elle ne repart pas de sa valeur précédente sans rien changer.
Au deuxième tour, on ajoute encore $25$ à ce qu'elle contenait.[/reponse]
[reponse motif="0"]La variable n'est pas remise à $0$ à chaque tour. Elle conserve sa valeur et on lui ajoute $25$.[/reponse]
[reponse statut="incorrect"]Reprendre la valeur obtenue au tour précédent, puis ajouter encore $25$.[/reponse]
[aide essai="2"]Après le premier tour, la variable valait $25$. Le deuxième tour ajoute de nouveau $25$.[/aide]
[aide essai="3"]Calculer $25 + 25$.[/aide]
[/math]
[solution]Après le premier tour : cagnotte $= 25$. Après le deuxième tour : cagnotte $= 25 + 25 = 50$.[/solution]
[/etape]

[etape]
La boucle se répète en tout $4$ fois. Donner la valeur affichée par le lutin à la fin du programme.

Le lutin dit [[fin]]
[math id="fin" attendu="100"]
[reponse statut="correct"]Bravo !
La boucle ajoute $25$ quatre fois de suite à partir de $0$ : $0 + 25 + 25 + 25 + 25 = 100$. Le lutin affiche $100$.[/reponse]
[reponse motif="75"]Compter le nombre de tours indiqué dans le bloc « répéter ... fois ».
La boucle ne s'arrête pas au troisième tour.[/reponse]
[reponse motif="125"]Vérifier le nombre inscrit dans le bloc « répéter ... fois ».
Le bloc « ajouter à cagnotte » n'est pas exécuté un tour de plus que prévu.[/reponse]
[reponse motif="25"]Un seul ajout donnerait cette valeur. Or le bloc à l'intérieur de la boucle est répété plusieurs fois.[/reponse]
[reponse statut="incorrect"]Repartir de la valeur après le deuxième tour, puis poursuivre les ajouts jusqu'au dernier tour de la boucle.[/reponse]
[aide essai="2"]Après le deuxième tour, cagnotte valait $50$. Il reste deux tours, chacun ajoutant $25$.[/aide]
[aide essai="3"]Continuer : $50 + 25 = 75$ après le troisième tour, puis ajouter encore $25$.[/aide]
[/math]
[solution]Après chaque tour, la variable vaut successivement $25$, $50$, $75$ puis $100$. Le lutin affiche $100$.[/solution]
[/etape]

[etape]
On modifie une seule chose dans le programme : la valeur de départ devient $30$ au lieu de $0$.

Programme Scratch modifié : variable cagnotte initialisée à 30 puis boucle répéter 4 fois ajoutant 25

Donner la nouvelle valeur affichée par le lutin.

Le lutin dit [[t5]]
[math id="t5" attendu="130"]
[reponse statut="correct"]Tu as raison !
La boucle ajoute toujours $25$ quatre fois, soit $100$ au total. En partant de $30$, le lutin affiche $30 + 100 = 130$.[/reponse]
[reponse motif="100"]La valeur de départ n'est plus $0$ : elle s'ajoute aussi au total accumulé par la boucle.[/reponse]
[reponse motif="55"]Le nombre de tours de la boucle n'a pas changé : le bloc « ajouter $25$ » est toujours exécuté quatre fois.[/reponse]
[reponse statut="incorrect"]La boucle apporte le même total qu'avant. Seule la valeur de départ a changé.[/reponse]
[aide essai="2"]La boucle ajoute $25$ quatre fois, ce qui fait $100$ comme dans le programme précédent.[/aide]
[aide essai="3"]Cette fois, on part de $30$ au lieu de $0$. Calculer $30 + 100$.[/aide]
[/math]
[solution]La boucle ajoute $100$ en tout. En partant de $30$ : cagnotte $= 30 + 100 = 130$.[/solution]
[/etape]

[etape]
On revient au programme de départ (valeur de départ $0$), mais on oublie cette fois la première instruction « mettre cagnotte à $0$ ». Juste avant l'exécution, la variable cagnotte contenait déjà $40$ (sa valeur lors d'une exécution précédente). Que dit alors le lutin ?
[qcm]
[option]$100$[/option]
[option]$40$[/option]
[option correct="true"]$140$[/option]
[option]$0$[/option]
[reponse statut="correct"]C'est bien ça !
Sans l'instruction de départ, la variable conserve son ancienne valeur $40$. La boucle lui ajoute ensuite $100$ : $40 + 100 = 140$.[/reponse]
[reponse motif="$100$"]Non.
Ce serait le résultat si la variable repartait de $0$. Mais ici l'initialisation a été oubliée : la variable garde sa valeur précédente.[/reponse]
[reponse motif="$40$"]Non.
La boucle s'exécute quand même : elle ajoute $25$ à chaque tour. La valeur $40$ est seulement le point de départ.[/reponse]
[reponse motif="$0$"]Non.
Aucune instruction ne remet la variable à $0$ dans ce programme : c'est justement l'instruction qui a été oubliée.[/reponse]
[reponse statut="incorrect"]Non.
La variable part de son ancienne valeur, puis la boucle lui ajoute son total habituel.[/reponse]
[/qcm]
[/etape]

Simuler des lancers de dé avec Scratch

On veut simuler le lancer d'un dé équilibré à $ 6 $ faces et compter le nombre de fois où on obtient un $ 6 $. Voici le programme Scratch utilisé :

Programme Scratch simulant 60 lancers de dé et comptant le nombre de 6 obtenus
  1. Indiquer la valeur de la variable nb6 juste avant l'entrée dans la boucle, puis expliquer en une phrase ce que représente cette variable à la fin du programme.
  2. Combien de lancers de dé sont simulés au total ?
  3. Lors d'un essai, le programme affiche $ 8 $. Calculer la fréquence d'apparition du $ 6 $ pour cet essai. Donner le résultat sous forme de fraction simplifiée, puis sous forme décimale arrondie au centième.
  4. En théorie, on obtient un $ 6 $ environ une fois sur six. Combien de $ 6 $ peut-on espérer en moyenne sur $ 60 $ lancers ?
  5. On souhaite maintenant compter le nombre de fois où le dé donne un nombre pair ($ 2 $, $ 4 $ ou $ 6 $). Indiquer les modifications à apporter au programme. Sur $ 60 $ lancers, combien de nombres pairs peut-on espérer en moyenne ?

Corrigé

  1. Le bloc « mettre nb6 à $ 0 $ » placé avant la boucle initialise la variable : nb6 $ = 0 $. À l'intérieur de la boucle, on lui ajoute $ 1 $ uniquement quand le dé tombe sur $ 6 $. À la fin du programme, nb6 représente donc le nombre de fois où le $ 6 $ est sorti au cours des lancers simulés.
  2. La boucle « répéter $ 60 $ fois » exécute le tirage du dé une fois par tour. Le programme simule $ 60 $ lancers.
  3. La fréquence d'apparition du $ 6 $ est le quotient du nombre de $ 6 $ obtenus par le nombre total de lancers :
    $ f = \dfrac{8}{60} $

    On simplifie la fraction par $ 4 $ :
    $ f = \dfrac{8}{60} = \dfrac{2}{15} $

    Sous forme décimale :
    $ \dfrac{2}{15} \approx 0{,}13 $

    La fréquence vaut donc $\mathbf{\dfrac{2}{15} \approx 0{,}13}$, soit environ $ 13 $ %.

  4. En moyenne, on obtient un $ 6 $ une fois sur six. Sur $ 60 $ lancers :
    $ 60 \times \dfrac{1}{6} = \dfrac{60}{6} = 10 $

    On peut donc espérer environ $ 10 $ apparitions du $ 6 $ sur $ 60 $ lancers.

  5. Pour compter les nombres pairs, on remplace la condition « de $ = 6 $ » par une condition qui teste si le dé est égal à $ 2 $, $ 4 $ ou $ 6 $. On utilise pour cela l'opérateur ou qui combine deux conditions :

    Programme Scratch comptant les nombres pairs obtenus sur 60 lancers de dé

    Sur les six faces du dé, trois sont paires ($ 2 $, $ 4 $, $ 6 $). La probabilité d'obtenir un nombre pair vaut donc $ \dfrac{3}{6} = \dfrac{1}{2} $. Sur $ 60 $ lancers, on peut espérer en moyenne :
    $ 60 \times \dfrac{1}{2} = 30 $

    Le programme devrait afficher en moyenne $ 30 $ nombres pairs.

Remarque

Lorsqu'on relance plusieurs fois la simulation, les valeurs affichées varient autour de $ 10 $ et $ 30 $, mais ne tombent presque jamais exactement dessus : c'est le rôle des simulations de mettre en évidence cet écart entre fréquence observée et probabilité théorique.

Suivre une boucle Scratch avec deux variables

On exécute le programme Scratch suivant :

Programme Scratch utilisant deux variables somme et nombre dans une boucle répéter 5 fois
  1. Donner les valeurs des variables somme et nombre juste avant l'entrée dans la boucle.
  2. Recopier et compléter le tableau de valeurs ci-dessous, qui indique la valeur des deux variables à la fin de chaque tour de boucle :

    Tour somme nombre
    1 ... ...
    2 ... ...
    3 ... ...
    4 ... ...
    5 ... ...
  3. Quelle valeur le lutin affiche-t-il à la fin du programme ?
  4. Quels nombres ont été ajoutés successivement à la variable somme ? Que représente alors la valeur affichée ?
  5. On remplace « répéter $ 5 $ fois » par « répéter $ 8 $ fois ». Quelle valeur le lutin affiche-t-il alors ?

Corrigé

  1. Les deux blocs « mettre ... à ... » placés avant la boucle initialisent les variables. Avant le premier tour, somme $ = 0 $ et nombre $ = 1 $.
  2. À chaque tour, on ajoute d'abord la valeur de nombre à somme, puis on augmente nombre de $ 2 $.

    Tour somme nombre
    1 $ 0 + 1 = 1 $ $ 1 + 2 = 3 $
    2 $ 1 + 3 = 4 $ $ 3 + 2 = 5 $
    3 $ 4 + 5 = 9 $ $ 5 + 2 = 7 $
    4 $ 9 + 7 = 16 $ $ 7 + 2 = 9 $
    5 $ 16 + 9 = 25 $ $ 9 + 2 = 11 $
  3. À la fin de la boucle, la variable somme vaut $ 25 $. Le lutin affiche donc $\mathbf{25}$.
  4. Les nombres ajoutés successivement sont $ 1 $, $ 3 $, $ 5 $, $ 7 $ et $ 9 $ : ce sont les cinq premiers nombres impairs. La valeur affichée représente leur somme :
    $ 1 + 3 + 5 + 7 + 9 = 25 $
  5. On prolonge le tableau pour les tours $ 6 $, $ 7 $ et $ 8 $ :

    Tour somme nombre
    6 $ 25 + 11 = 36 $ $ 11 + 2 = 13 $
    7 $ 36 + 13 = 49 $ $ 13 + 2 = 15 $
    8 $ 49 + 15 = 64 $ $ 15 + 2 = 17 $

    Le lutin affiche alors $\mathbf{64}$. On remarque que $ 25 = 5^2 $ et $ 64 = 8^2 $ : la somme des $ n $ premiers nombres impairs vaut $ n \times n $.

Pour réviser : Utiliser une variable dans Scratch

QCM Bilan : Scratch et algorithmes

[enonce]
Ce QCM bilan couvre l'ensemble du chapitre : boucles, conditions, variables et nombres aléatoires. Pour chaque question, choisir la bonne réponse parmi les 4 propositions.
[/enonce]

[etape]
Le bloc Scratch « nombre aléatoire entre $1$ et $6$ » sert à simuler le lancer d'un dé. À chaque exécution, ce bloc retourne...
[qcm]
[option]toujours le nombre $3$ (la moyenne).[/option]
[option]toujours le même nombre, choisi une fois pour toutes au démarrage du programme.[/option]
[option correct="true"]un entier choisi au hasard parmi $1$, $2$, $3$, $4$, $5$ et $6$, à chaque appel.[/option]
[option]une valeur décimale comprise entre $1$ et $6$.[/option]
[reponse statut="correct"]Bonne réponse !
Le bloc « nombre aléatoire entre $1$ et $6$ » retourne, à chaque appel, un entier tiré au hasard entre $1$ et $6$, comme le résultat d'un lancer de dé.[/reponse]
[reponse motif="toujours le nombre $3$ (la moyenne)."]Non.
Un tirage aléatoire ne donne pas un résultat fixe. Sinon, il ne servirait à rien de l'utiliser pour simuler un dé.[/reponse]
[reponse motif="toujours le même nombre, choisi une fois pour toutes au démarrage du programme."]Non.
Chaque appel du bloc effectue un nouveau tirage indépendant. Deux appels successifs peuvent donner des valeurs différentes.[/reponse]
[reponse motif="une valeur décimale comprise entre $1$ et $6$."]Non.
Sous Scratch, le bloc « nombre aléatoire entre $1$ et $6$ » donne par défaut un entier (puisque les bornes sont entières), pas un décimal.[/reponse]
[reponse statut="incorrect"]Non.
Ce bloc retourne, à chaque appel, un entier choisi au hasard entre $1$ et $6$.[/reponse]
[/qcm]
[/etape]

[etape]
On considère le programme :

Programme Scratch : compteur initialisé à 0, boucle 4 fois ajout 5

Que dit le lutin à la fin ?
[qcm]
[option]$5$[/option]
[option]$9$[/option]
[option correct="true"]$20$[/option]
[option]$0$[/option]
[reponse statut="correct"]Bravo !
La boucle ajoute $5$ à la variable $4$ fois de suite, à partir de $0$ : $0 + 5 + 5 + 5 + 5 = 4 \times 5 = 20$.[/reponse]
[reponse motif="$5$"]Non.
La boucle exécute son contenu plusieurs fois, pas une seule fois. Il faut compter les ajouts successifs.[/reponse]
[reponse motif="$9$"]Non.
$4 + 5 = 9$ : il s'agit d'une seule addition entre le nombre de répétitions et la quantité ajoutée. Or la boucle additionne $5$ à chaque tour, et non $4 + 5$.[/reponse]
[reponse motif="$0$"]Non.
La boucle modifie bien la variable. Sa valeur finale n'est pas $0$.[/reponse]
[reponse statut="incorrect"]Non.
La variable $compteur$ s'incrémente $4$ fois de $5$ : la valeur finale est $4 \times 5 = 20$.[/reponse]
[/qcm]
[/etape]

[etape]
On considère le programme :

Programme Scratch : boucle 3 fois avec test si i pair dire pair sinon impair

Quelle est la valeur finale de $n$ affichée à la toute fin ?
[qcm]
[option]$3$[/option]
[option]$13$[/option]
[option correct="true"]$23$[/option]
[option]$30$[/option]
[reponse statut="correct"]Excellent !
Tour 1 : $n = 0 + 1 = 1$. Le test $1 > 1$ est faux, le lutin dit « Premier tour ».
Tour 2 : $n = 1 + 1 = 2$. Le test $2 > 1$ est vrai, donc $n = 2 + 10 = 12$.
Tour 3 : $n = 12 + 1 = 13$. Le test $13 > 1$ est vrai, donc $n = 13 + 10 = 23$.
La valeur finale affichée est $23$.[/reponse]
[reponse motif="$3$"]Non.
La boucle ne se contente pas d'ajouter $1$ trois fois : à partir du deuxième tour, le test ajoute aussi $10$.[/reponse]
[reponse motif="$13$"]Non.
Il manque le dernier ajout de $10$ effectué au troisième tour, lorsque la condition $n > 1$ est encore vraie.[/reponse]
[reponse motif="$30$"]Non.
Au premier tour, la condition $n > 1$ est fausse (car $n = 1$), donc le bloc « ajouter $10$ » n'est pas exécuté ce tour-là.[/reponse]
[reponse statut="incorrect"]Non.
On déroule pas à pas : tour 1, $n$ passe à $1$ ; tour 2, $n$ passe à $2$ puis à $12$ ; tour 3, $n$ passe à $13$ puis à $23$.[/reponse]
[/qcm]
[/etape]

[etape]
Pour simuler $100$ lancers d'un dé à $6$ faces et compter le nombre de fois où l'on obtient un $6$, quelle structure de programme convient ?
[qcm]
[option]Une seule instruction conditionnelle, sans boucle.[/option]
[option correct="true"]Une boucle « répéter $100$ fois » contenant un tirage aléatoire et un test si le résultat vaut $6$.[/option]
[option]Une boucle « répéter $6$ fois » contenant un tirage aléatoire entre $1$ et $100$.[/option]
[option]Aucune boucle, juste $100$ blocs « tirer un nombre aléatoire » à la suite.[/option]
[reponse statut="correct"]Tu as raison !
Pour faire $100$ lancers, on utilise une boucle « répéter $100$ fois ». À chaque tour, on tire un nombre aléatoire entre $1$ et $6$, et on incrémente un compteur si le résultat vaut $6$.[/reponse]
[reponse motif="Une seule instruction conditionnelle, sans boucle."]Non.
Sans boucle, on ne peut faire qu'un seul lancer. Pour $100$ lancers, il faut répéter l'instruction.[/reponse]
[reponse motif="Une boucle « répéter $6$ fois » contenant un tirage aléatoire entre $1$ et $100$."]Non.
Les rôles sont inversés : on veut $100$ lancers d'un dé à $6$ faces, donc une boucle qui se répète $100$ fois et un tirage entre $1$ et $6$.[/reponse]
[reponse motif="Aucune boucle, juste $100$ blocs « tirer un nombre aléatoire » à la suite."]Non.
Cette solution fonctionnerait, mais elle est inutilement longue. Le but d'une boucle est précisément d'éviter de recopier $100$ fois la même instruction.[/reponse]
[reponse statut="incorrect"]Non.
Il faut une boucle « répéter $100$ fois » qui contient un tirage entre $1$ et $6$ et un test sur la valeur obtenue.[/reponse]
[/qcm]
[/etape]

[etape]
On considère le programme suivant, qui simule des lancers de dé :

Programme Scratch : boucle 5 fois tirer aléatoire 1 à 6 si résultat = 6 ajouter 1 à six

Quelle valeur peut être affichée à la fin ?
[qcm]
[option]$10$[/option]
[option correct="true"]$2$[/option]
[option]$-1$[/option]
[option]$6$ exactement, à chaque exécution.[/option]
[reponse statut="correct"]C'est bien ça !
La variable $six$ compte combien de fois on a obtenu $6$ sur $5$ lancers. Sa valeur est forcément un entier compris entre $0$ et $5$. La valeur $2$ (deux $6$ sur $5$ lancers) est plausible.[/reponse]
[reponse motif="$10$"]Non.
La boucle ne fait que $5$ tours : la variable $six$ ne peut pas dépasser $5$.[/reponse]
[reponse motif="$-1$"]Non.
La variable $six$ part de $0$ et seuls des « ajouter $1$ » la modifient. Elle ne peut donc jamais devenir négative.[/reponse]
[reponse motif="$6$ exactement, à chaque exécution."]Non.
Le résultat dépend des tirages aléatoires : il varie d'une exécution à l'autre. De plus, $six$ ne peut pas dépasser $5$.[/reponse]
[reponse statut="incorrect"]Non.
La variable $six$ compte le nombre de $6$ obtenus sur $5$ lancers : c'est un entier entre $0$ et $5$, donc $2$ est plausible.[/reponse]
[/qcm]
[/etape]

[etape]
On considère le programme :

Programme Scratch : boucle 4 fois somme nombre aléatoire entre 1 et 10

Quel est l'ensemble des valeurs possibles affichées par le lutin ?
[qcm]
[option]Toutes les valeurs entre $0$ et $10$.[/option]
[option correct="true"]Tous les entiers entre $4$ et $40$.[/option]
[option]Toutes les valeurs entre $1$ et $10$.[/option]
[option]Une seule valeur, qui sera $\dfrac{1 + 10}{2} = 5{,}5$.[/option]
[reponse statut="correct"]Excellent !
À chaque tour, on ajoute un entier compris entre $1$ et $10$. Sur $4$ tours, la somme minimale est $4 \times 1 = 4$ et la somme maximale est $4 \times 10 = 40$. Le résultat est un entier de cet intervalle.[/reponse]
[reponse motif="Toutes les valeurs entre $0$ et $10$."]Non.
$0$ est impossible : on ajoute au moins $1$ quatre fois. La valeur minimale possible est plus grande.[/reponse]
[reponse motif="Toutes les valeurs entre $1$ et $10$."]Non.
Cet intervalle correspond à un seul tirage. Or la boucle exécute $4$ tirages, dont les valeurs s'accumulent dans la somme.[/reponse]
[reponse motif="Une seule valeur, qui sera $\dfrac{1 + 10}{2} = 5{,}5$."]Non.
Le programme fait un calcul aléatoire : la valeur affichée n'est pas la moyenne théorique, et elle change d'une exécution à l'autre.[/reponse]
[reponse statut="incorrect"]Non.
Avec $4$ tirages d'un entier entre $1$ et $10$, la somme est un entier compris entre $4$ et $40$.[/reponse]
[/qcm]
[/etape]

QCM : Boucles répéter et figures Scratch

[enonce]
Ce QCM porte sur les boucles « répéter ... fois » et le tracé de polygones réguliers dans Scratch. Pour chaque question, choisir la bonne réponse parmi les 4 propositions.
[/enonce]

[etape]
On considère le programme suivant :

Programme Scratch avec boucle répéter 3 fois avancer 50 tourner 120

Combien de blocs « avancer » sont exécutés au total ?
[qcm]
[option]$1$[/option]
[option correct="true"]$3$[/option]
[option]$6$[/option]
[option]$0$[/option]
[reponse statut="correct"]Bonne réponse !
La boucle « répéter $3$ fois » exécute son contenu trois fois. Le bloc « avancer » est à l'intérieur : il est donc exécuté $3$ fois.[/reponse]
[reponse motif="$1$"]Non.
La boucle ne se contente pas d'exécuter son contenu une seule fois : elle le répète autant de fois que demandé.[/reponse]
[reponse motif="$6$"]Non.
Attention, on n'additionne pas les deux blocs « avancer » et « tourner » à l'intérieur. La question porte uniquement sur les blocs « avancer ».[/reponse]
[reponse motif="$0$"]Non.
Le bloc « avancer » est bien à l'intérieur de la boucle, donc il est bien exécuté.[/reponse]
[reponse statut="incorrect"]Non.
La boucle « répéter $3$ fois » fait exécuter son contenu trois fois. Il y a donc $3$ déplacements.[/reponse]
[/qcm]
[/etape]

[etape]
Le lutin part orienté vers la droite, stylo en position d'écriture. On veut tracer un carré de $60$ pas de côté avec une boucle.

Quel programme convient ?
[qcm]
[option]Répéter $4$ fois : avancer de $60$ pas, tourner droite de $60$ degrés.[/option]
[option correct="true"]Répéter $4$ fois : avancer de $60$ pas, tourner droite de $90$ degrés.[/option]
[option]Répéter $6$ fois : avancer de $60$ pas, tourner droite de $90$ degrés.[/option]
[option]Répéter $4$ fois : avancer de $60$ pas, tourner droite de $360$ degrés.[/option]
[reponse statut="correct"]Exact !
Pour un polygone régulier à $n$ côtés, l'angle de rotation à chaque sommet vaut $\dfrac{360}{n}$ degrés. Pour un carré, $\dfrac{360}{4} = 90$ degrés, et la boucle est répétée $4$ fois.[/reponse]
[reponse motif="Répéter $4$ fois : avancer de $60$ pas, tourner droite de $60$ degrés."]Non.
Pour un carré, l'angle entre deux côtés successifs n'est pas $60$ degrés. Calculer $\dfrac{360}{4}$.[/reponse]
[reponse motif="Répéter $6$ fois : avancer de $60$ pas, tourner droite de $90$ degrés."]Non.
Un carré n'a pas $6$ côtés. Compter le nombre de côtés du carré.[/reponse]
[reponse motif="Répéter $4$ fois : avancer de $60$ pas, tourner droite de $360$ degrés."]Non.
Une rotation de $360$ degrés ramène le lutin dans la même direction qu'au départ : il ne change pas d'orientation et trace un seul long trait.[/reponse]
[reponse statut="incorrect"]Non.
Pour un carré, on répète $4$ fois la séquence « avancer ... » puis « tourner droite de $\dfrac{360}{4} = 90$ degrés ».[/reponse]
[/qcm]
[/etape]

[etape]
On veut tracer un hexagone régulier (polygone à $6$ côtés) avec une boucle. Quel angle de rotation utiliser dans le bloc « tourner droite » ?
[qcm]
[option]$30$ degrés[/option]
[option]$90$ degrés[/option]
[option correct="true"]$60$ degrés[/option]
[option]$120$ degrés[/option]
[reponse statut="correct"]C'est bien ça !
Pour un polygone régulier à $n$ côtés, l'angle de rotation est $\dfrac{360}{n}$ degrés. Pour $n = 6$, on obtient $\dfrac{360}{6} = 60$ degrés.[/reponse]
[reponse motif="$30$ degrés"]Non.
$30 = \dfrac{360}{12}$ : cet angle ferait tracer un polygone à $12$ côtés, pas à $6$.[/reponse]
[reponse motif="$90$ degrés"]Non.
$90$ degrés est l'angle d'un carré ($n = 4$). Pour un hexagone, le nombre de côtés est différent.[/reponse]
[reponse motif="$120$ degrés"]Non.
$120$ degrés est l'angle d'un triangle équilatéral ($n = 3$). Pour un hexagone, l'angle est plus petit.[/reponse]
[reponse statut="incorrect"]Non.
Pour un hexagone régulier, l'angle de rotation vaut $\dfrac{360}{6} = 60$ degrés.[/reponse]
[/qcm]
[/etape]

[etape]
Le programme suivant utilise une boucle :

Programme Scratch : répéter 5 fois avancer 100

Quelle figure le lutin trace-t-il (au départ orienté vers la droite) ?
[qcm]
[option]Un pentagone régulier (5 côtés).[/option]
[option]Une étoile à $5$ branches.[/option]
[option correct="true"]Un seul trait droit de $500$ pas.[/option]
[option]Cinq traits parallèles.[/option]
[reponse statut="correct"]Bravo !
La boucle ne contient pas de bloc « tourner ». Le lutin avance donc $5$ fois dans la même direction, ce qui produit un seul trait de $5 \times 100 = 500$ pas.[/reponse]
[reponse motif="Un pentagone régulier (5 côtés)."]Non.
Pour fermer un pentagone, il faudrait aussi un bloc « tourner » dans la boucle. Sans rotation, le lutin avance toujours dans le même sens.[/reponse]
[reponse motif="Une étoile à $5$ branches."]Non.
Une étoile demande aussi des changements d'orientation entre les segments. Ici, aucun bloc « tourner » n'est présent.[/reponse]
[reponse motif="Cinq traits parallèles."]Non.
Pour des traits parallèles, le lutin devrait soulever le stylo et changer de position entre chaque segment. Or il avance toujours, sans interruption, depuis le même point.[/reponse]
[reponse statut="incorrect"]Non.
Sans bloc « tourner » dans la boucle, le lutin avance toujours dans la même direction : on obtient un seul trait de $500$ pas.[/reponse]
[/qcm]
[/etape]

[etape]
On considère le programme :

Programme Scratch : boucle répéter 4 fois avancer 50 tourner 90

Quelle est la longueur totale parcourue par le lutin ?
[qcm]
[option]$50$ pas[/option]
[option correct="true"]$200$ pas[/option]
[option]$90$ pas[/option]
[option]$360$ pas[/option]
[reponse statut="correct"]Tu as raison !
Le lutin avance $4$ fois de $50$ pas. La distance totale parcourue est donc $4 \times 50 = 200$ pas.[/reponse]
[reponse motif="$50$ pas"]Non.
La boucle est exécutée plusieurs fois. Il faut compter chaque déplacement.[/reponse]
[reponse motif="$90$ pas"]Non.
$90$ est l'angle de rotation, exprimé en degrés. La distance parcourue ne s'exprime pas en degrés.[/reponse]
[reponse motif="$360$ pas"]Non.
$360$ correspond à la rotation totale du lutin (en degrés), pas à la distance parcourue. Compter uniquement les blocs « avancer ».[/reponse]
[reponse statut="incorrect"]Non.
Le lutin avance $4$ fois de $50$ pas, soit $4 \times 50 = 200$ pas en tout.[/reponse]
[/qcm]
[/etape]

[etape]
Combien de blocs Scratch faut-il (au minimum) à l'intérieur d'une boucle « répéter ... fois » pour tracer un polygone régulier (en plus du bloc de répétition lui-même) ?
[qcm]
[option]$1$ bloc[/option]
[option correct="true"]$2$ blocs[/option]
[option]$3$ blocs[/option]
[option]$4$ blocs[/option]
[reponse statut="correct"]Excellent !
Il faut un bloc « avancer » (pour tracer un côté) et un bloc « tourner » (pour préparer le côté suivant). Soit $2$ blocs à l'intérieur de la boucle.[/reponse]
[reponse motif="$1$ bloc"]Non.
Avec un seul bloc « avancer », tous les côtés seraient alignés. Il manque l'instruction qui change la direction du lutin.[/reponse]
[reponse motif="$3$ blocs"]Non.
Pour un polygone régulier simple, deux blocs suffisent : un pour avancer et un pour tourner. Pas besoin d'un troisième dans la boucle.[/reponse]
[reponse motif="$4$ blocs"]Non.
Pour un polygone régulier simple, deux blocs suffisent à l'intérieur de la boucle : « avancer » et « tourner ».[/reponse]
[reponse statut="incorrect"]Non.
Il faut $2$ blocs à l'intérieur : « avancer » pour tracer le côté et « tourner » pour préparer le côté suivant.[/reponse]
[/qcm]
[/etape]