Simulation de la somme de deux dés avec Scratch

On lance deux dés équilibrés à six faces et on s'intéresse à la somme des deux faces obtenues. Le programme Scratch ci-dessous simule $ 1\,000 $ lancers de cette expérience et compte le nombre de fois où la somme obtenue est supérieure ou égale à $ 9 $.

Programme Scratch simulant 1000 lancers de deux dés et comptant les sommes supérieures ou égales à 9
  1. Justifier le rôle de chacune des variables de1, de2, somme et compteur.
  2. Expliquer pourquoi la condition « somme $ > 8 $ » revient à tester « somme $ \geqslant 9 $ » lorsque la somme est un nombre entier.
  3. Que représente la valeur affichée par le lutin à la fin du programme ?
  4. On souhaite calculer la probabilité théorique d'obtenir une somme supérieure ou égale à $ 9 $.

    1. Combien y a-t-il d'issues équiprobables au total lorsqu'on lance les deux dés ?
    2. Lister tous les couples $ (\text{de1}\,;\,\text{de2}) $ pour lesquels $ \text{de1} + \text{de2} \geqslant 9 $. En déduire le nombre d'issues favorables.
    3. Calculer la probabilité théorique de l'événement « la somme est supérieure ou égale à $ 9 $ ». Donner la valeur exacte sous forme de fraction simplifiée, puis une valeur approchée à $ 0{,}01 $ près.
  5. À l'exécution, le programme a affiché $ 0{,}284 $. Ce résultat est-il cohérent avec la probabilité théorique calculée à la question précédente ? Expliquer brièvement.
  6. Décrire la modification à apporter au programme pour estimer la probabilité que la somme des deux dés soit égale à $ 7 $.

Corrigé

  1. Les variables ont les rôles suivants :

    • de1 et de2 stockent le résultat de chaque dé, simulé par un tirage entier aléatoire entre $ 1 $ et $ 6 $ ;
    • somme stocke la somme des deux dés du lancer en cours ;
    • compteur stocke le nombre de lancers, parmi les $ 1\,000 $, pour lesquels la somme a été supérieure ou égale à $ 9 $. Il est initialisé à $ 0 $ avant la boucle, puis augmenté de $ 1 $ à chaque lancer favorable.
  2. La somme de deux entiers compris entre $ 1 $ et $ 6 $ est un entier compris entre $ 2 $ et $ 12 $. Pour un entier, « strictement supérieur à $ 8 $ » signifie « supérieur ou égal à $ 9 $ ». Les deux conditions sont donc équivalentes ici. Scratch ne dispose pas du bloc $ \geqslant $ : on utilise $ > 8 $ pour tester $ \geqslant 9 $.
  3. À la fin du programme, la variable compteur contient le nombre de lancers favorables parmi $ 1\,000 $. Le quotient $ \dfrac{\text{compteur}}{1\,000} $ représente la fréquence de l'événement « somme $ \geqslant 9 $ » sur les $ 1\,000 $ lancers simulés.
    1. Chaque dé peut prendre $ 6 $ valeurs et les deux lancers sont indépendants. Le nombre total d'issues équiprobables est :
      $ 6 \times 6 = 36 $
    2. On liste les couples $ (\text{de1}\,;\,\text{de2}) $ tels que $ \text{de1} + \text{de2} \geqslant 9 $, par valeur de la somme :

      • somme $ 9 $ : $ (3\,;\,6) $, $ (4\,;\,5) $, $ (5\,;\,4) $, $ (6\,;\,3) $ — soit $ 4 $ couples ;
      • somme $ 10 $ : $ (4\,;\,6) $, $ (5\,;\,5) $, $ (6\,;\,4) $ — soit $ 3 $ couples ;
      • somme $ 11 $ : $ (5\,;\,6) $, $ (6\,;\,5) $ — soit $ 2 $ couples ;
      • somme $ 12 $ : $ (6\,;\,6) $ — soit $ 1 $ couple.

      Le nombre total d'issues favorables est :
      $ 4 + 3 + 2 + 1 = 10 $

    3. La probabilité théorique est :
      $ p = \dfrac{10}{36} = \dfrac{5}{18} $

      Une valeur approchée :
      $ \dfrac{5}{18} \approx 0{,}28 $

      La probabilité d'obtenir une somme supérieure ou égale à $ 9 $ est égale à $\mathbf{\dfrac{5}{18} \approx 0{,}28}$.

  4. La fréquence affichée $ 0{,}284 $ est très proche de la probabilité théorique $ \dfrac{5}{18} \approx 0{,}278 $. C'est cohérent avec la loi des grands nombres : sur un grand nombre de simulations, la fréquence observée se rapproche de la probabilité théorique. L'écart entre les deux valeurs est dû au caractère aléatoire de la simulation.
  5. Pour estimer la probabilité que la somme soit égale à $ 7 $, il suffit de remplacer la condition $ \text{somme} > 8 $ par $ \text{somme} = 7 $. Tout le reste du programme reste identique : le compteur stockera alors le nombre de lancers de somme égale à $ 7 $ parmi les $ 1\,000 $ effectués.

Vrai/Faux : Bilan et pièges fréquents

[enonce]
Pour chaque affirmation suivante, qui couvre l'ensemble du chapitre Scratch et algorithmes, indiquer si elle est Vraie ou Fausse.
[/enonce]

[etape]
Affirmation : Si une variable d'accumulation (par exemple « somme ») n'est pas initialisée à $0$ avant une boucle, le résultat affiché est forcément faux à la deuxième exécution du programme.
[qcm]
[option correct="true"]Vrai[/option]
[option]Faux[/option]
[reponse statut="correct"]Exact !
Sans réinitialisation, la variable conserve la valeur calculée à l'exécution précédente. Au deuxième lancement, on accumule donc par-dessus l'ancienne somme, ce qui fausse le résultat.[/reponse]
[reponse statut="incorrect"]Non, cette affirmation est vraie.
Rappel : Scratch conserve la valeur des variables entre les exécutions. Sans remise à $0$, on accumule par-dessus l'ancien résultat. C'est pour cela qu'il faut toujours initialiser une variable d'accumulation.[/reponse]
[/qcm]

[solution]
Cette affirmation est vraie. Sans initialisation, la variable conserve son ancienne valeur, ce qui fausse l'accumulation à toutes les exécutions suivantes.
[/solution]
[/etape]

[etape]
On considère le programme suivant :

Programme Scratch avec boucle qui ne s'arrête jamais

Affirmation : Ce programme s'arrête et le lutin finit par dire $10$.
[qcm]
[option]Vrai[/option]
[option correct="true"]Faux[/option]
[reponse statut="correct"]Bonne réponse !
Les valeurs successives de $n$ sont $2, 5, 8, 11, 14, ...$ : la valeur $10$ n'est jamais atteinte. La condition $n = 10$ n'est donc jamais vraie : la boucle tourne indéfiniment. Pour un compteur qui avance par sauts, mieux vaut tester $n > 10$ ou $n \geqslant 10$.[/reponse]
[reponse statut="incorrect"]Non, cette affirmation est fausse.
Le piège : en partant de $2$ et en ajoutant $3$, on obtient $2, 5, 8, 11, 14, ...$ — la valeur $10$ n'est jamais atteinte. Tester l'égalité dans une « répéter jusqu'à » est dangereux : il vaut mieux utiliser $>$ ou $\geqslant$.[/reponse]
[/qcm]

[solution]
Cette affirmation est fausse. Les valeurs prises par $n$ sont $2, 5, 8, 11, 14, ...$ : $10$ n'apparaît jamais, donc la boucle ne s'arrête pas. Mieux vaut tester $n > 10$ que $n = 10$ avec un compteur.
[/solution]
[/etape]

[etape]
Affirmation : Dans une boucle « répéter jusqu'à ... », si la condition est vraie dès le départ, le contenu de la boucle n'est pas exécuté du tout.
[qcm]
[option correct="true"]Vrai[/option]
[option]Faux[/option]
[reponse statut="correct"]Bravo !
La boucle « répéter jusqu'à » teste la condition avant chaque exécution. Si elle est déjà vraie au départ, on saute directement à la suite : zéro tour effectué.[/reponse]
[reponse statut="incorrect"]Non, cette affirmation est vraie.
Rappel : « répéter jusqu'à » teste la condition avant chaque tour. Si la condition est vraie dès le départ, aucun tour n'est exécuté.[/reponse]
[/qcm]

[solution]
Cette affirmation est vraie. Si la condition d'arrêt est déjà vraie au départ, la boucle « répéter jusqu'à » n'effectue aucun tour.
[/solution]
[/etape]

[etape]
On considère deux programmes Scratch équivalents :

  • Programme A : « répéter $4$ fois » contenant « avancer de $50$ pas ; tourner de $90°$ »
  • Programme B : « avancer de $50$ ; tourner de $90°$ ; avancer de $50$ ; tourner de $90°$ ; avancer de $50$ ; tourner de $90°$ ; avancer de $50$ ; tourner de $90°$ »

Affirmation : Les deux programmes produisent le même tracé (un carré).
[qcm]
[option correct="true"]Vrai[/option]
[option]Faux[/option]
[reponse statut="correct"]C'est bien ça !
Une boucle « répéter $4$ fois » est strictement équivalente à recopier $4$ fois les instructions à la suite. Le tracé est identique. L'avantage de la boucle : moins d'écriture, et il suffit de changer un seul nombre pour modifier la figure.[/reponse]
[reponse statut="incorrect"]Non, cette affirmation est vraie.
Rappel : une boucle « répéter $N$ fois » remplace simplement la répétition manuelle $N$ fois des mêmes instructions. Les deux écritures donnent exactement le même comportement.[/reponse]
[/qcm]

[solution]
Cette affirmation est vraie. Une boucle « répéter $4$ fois » est l'équivalent compact de quatre copies successives du même bloc d'instructions.
[/solution]
[/etape]

[etape]
On considère le programme suivant :

Programme Scratch avec deux conditionnelles successives

Affirmation : Si l'utilisateur entre $4$, le lutin dit « Très grand ».
[qcm]
[option]Vrai[/option]
[option correct="true"]Faux[/option]
[reponse statut="correct"]Tu as raison !
Premier test : $4 > 5$ est faux, $n$ reste à $4$. Deuxième test : $4 > 12$ est faux, le lutin ne dit rien.[/reponse]
[reponse statut="incorrect"]Non, cette affirmation est fausse.
Le piège : la première condition est fausse pour $n = 4$, donc $n$ ne change pas. Au moment du second test, $n$ vaut toujours $4$, ce qui rend la deuxième condition fausse également.[/reponse]
[/qcm]

[solution]
Cette affirmation est fausse. $4 > 5$ étant faux, $n$ reste à $4$ ; et $4 > 12$ est aussi faux : le lutin n'affiche rien.
[/solution]
[/etape]

[etape]
Affirmation : Avec deux boucles imbriquées « répéter $a$ fois » (extérieure) et « répéter $b$ fois » (intérieure), inverser les deux nombres ($a$ et $b$) ne change rien : le bloc le plus interne est exécuté autant de fois.
[qcm]
[option correct="true"]Vrai[/option]
[option]Faux[/option]
[reponse statut="correct"]Excellent !
Le bloc le plus interne est exécuté $a \times b$ fois dans les deux cas (la multiplication est commutative). En revanche, l'effet visible peut changer si certaines instructions ne sont qu'à l'extérieur de la boucle interne (pour un tracé, par exemple, l'ordre peut modifier la figure).[/reponse]
[reponse statut="incorrect"]Non, cette affirmation est vraie.
Rappel : le nombre total d'exécutions du bloc le plus interne est $a \times b$. Comme la multiplication est commutative, $a \times b = b \times a$. Le total est identique.[/reponse]
[/qcm]

[solution]
Cette affirmation est vraie. Le bloc le plus interne est exécuté $a \times b$ fois, quel que soit l'ordre des deux boucles.
[/solution]
[/etape]

Vrai/Faux : Vocabulaire des algorithmes

[enonce]
Pour chaque affirmation suivante sur le vocabulaire des algorithmes, indiquer si elle est Vraie ou Fausse.
[/enonce]

[etape]
Affirmation : Un algorithme est une suite finie d'instructions exécutées dans un ordre précis pour résoudre un problème.
[qcm]
[option correct="true"]Vrai[/option]
[option]Faux[/option]
[reponse statut="correct"]Exact !
C'est précisément la définition d'un algorithme : un nombre fini d'étapes, dans un ordre précis, qui aboutit à un résultat.[/reponse]
[reponse statut="incorrect"]Non, cette affirmation est vraie.
Rappel : un algorithme se compose d'un nombre fini d'instructions, exécutées dans un ordre précis, pour résoudre un problème ou effectuer un calcul.[/reponse]
[/qcm]

[solution]
Cette affirmation est vraie. Un algorithme est une suite finie d'instructions exécutées dans un ordre précis.
[/solution]
[/etape]

[etape]
Affirmation : Un programme Scratch et un algorithme sont exactement la même chose.
[qcm]
[option]Vrai[/option]
[option correct="true"]Faux[/option]
[reponse statut="correct"]Bonne réponse !
Un algorithme est une méthode ; un programme Scratch est sa traduction dans un langage de programmation. Le même algorithme peut être traduit en Scratch, en Python, ou exprimé en français.[/reponse]
[reponse statut="incorrect"]Non, cette affirmation est fausse.
Il ne faut pas confondre algorithme et programme. L'algorithme décrit la méthode (en français, par exemple) ; le programme est sa traduction dans un langage particulier.[/reponse]
[/qcm]

[solution]
Cette affirmation est fausse. Un programme Scratch est une traduction d'un algorithme dans un langage donné. L'algorithme existe indépendamment du langage choisi.
[/solution]
[/etape]

[etape]
Affirmation : Tout algorithme a au moins une donnée d'entrée et une sortie.
[qcm]
[option]Vrai[/option]
[option correct="true"]Faux[/option]
[reponse statut="correct"]C'est bien ça !
Un algorithme peut très bien n'avoir aucune entrée (par exemple, un programme qui dessine toujours le même triangle). Seule la sortie est généralement présente.[/reponse]
[reponse statut="incorrect"]Non, cette affirmation est fausse.
Un algorithme n'a pas obligatoirement de donnée d'entrée. Par exemple, un programme Scratch qui trace toujours le même carré ne demande aucune information à l'utilisateur.[/reponse]
[/qcm]

[solution]
Cette affirmation est fausse. Certains algorithmes n'ont pas d'entrée (un tracé fixe, un message constant). En revanche, ils produisent généralement un résultat.
[/solution]
[/etape]

[etape]
Affirmation : Le résultat affiché à la fin de l'exécution d'un algorithme s'appelle la sortie.
[qcm]
[option correct="true"]Vrai[/option]
[option]Faux[/option]
[reponse statut="correct"]Bravo !
La sortie est ce que produit l'algorithme : un nombre, un message, un dessin... Elle s'oppose à l'entrée (les informations de départ) et au traitement (les instructions exécutées).[/reponse]
[reponse statut="incorrect"]Non, cette affirmation est vraie.
Rappel : un algorithme se décompose en trois étapes — l'entrée (informations de départ), le traitement (instructions exécutées) et la sortie (résultat affiché).[/reponse]
[/qcm]

[solution]
Cette affirmation est vraie. La sortie désigne le résultat final produit par l'algorithme.
[/solution]
[/etape]

[etape]
Affirmation : L'ordre des instructions n'a pas d'importance dans un algorithme.
[qcm]
[option]Vrai[/option]
[option correct="true"]Faux[/option]
[reponse statut="correct"]Tu as raison !
L'ordre est essentiel. Par exemple, en partant de $5$ : « ajouter $3$ puis multiplier par $2$ » donne $(5+3) \times 2 = 16$, alors que « multiplier par $2$ puis ajouter $3$ » donne $5 \times 2 + 3 = 13$.[/reponse]
[reponse statut="incorrect"]Non, cette affirmation est fausse.
L'ordre des instructions change le résultat. C'est précisément ce qui distingue un algorithme d'une simple liste : les étapes sont exécutées les unes après les autres dans un ordre fixé.[/reponse]
[/qcm]

[solution]
Cette affirmation est fausse. L'ordre est fondamental : changer l'ordre modifie en général le résultat.
[/solution]
[/etape]

[etape]
Affirmation : Dans Scratch, le bloc « quand drapeau vert cliqué » est nécessaire pour démarrer un programme.
[qcm]
[option correct="true"]Vrai[/option]
[option]Faux[/option]
[reponse statut="correct"]Excellent !
Sans bloc chapeau (« quand drapeau vert cliqué », par exemple), Scratch ne sait pas quand lancer la suite d'instructions. C'est ce bloc qui déclenche l'exécution lorsqu'on clique sur le drapeau.[/reponse]
[reponse statut="incorrect"]Non, cette affirmation est vraie.
Rappel : un programme Scratch a besoin d'un événement déclencheur. Le plus courant est le bloc « quand drapeau vert cliqué ». Sans lui, le programme ne démarre pas en cliquant sur le drapeau.[/reponse]
[/qcm]

[solution]
Cette affirmation est vraie. Un programme Scratch a besoin d'un bloc chapeau (comme « quand drapeau vert cliqué ») pour démarrer.
[/solution]
[/etape]

QCM Bilan : Scratch et algorithmes

[enonce]
Ce QCM bilan couvre l'ensemble du chapitre : variables, instructions conditionnelles, boucles et programmes de calcul. Choisir la bonne réponse parmi les 4 propositions.
[/enonce]

[etape]
On considère le programme suivant :

Programme Scratch combinant variables et conditionnelle

Si l'utilisateur entre $14$, que dit le lutin ?
[qcm]
[option]« Impair »[/option]
[option correct="true"]« Pair »[/option]
[option]$0$[/option]
[option]Rien n'est affiché.[/option]
[reponse statut="correct"]Exact !
Le bloc « mod » donne le reste de la division. Ici, $14 \div 2 = 7$, reste $0$. La condition $0 = 0$ est vraie : le lutin dit « Pair ».[/reponse]
[reponse motif="« Impair »"]Non.
$14$ est divisible par $2$ : son reste dans la division par $2$ vaut $0$. La condition « $n \mod 2 = 0$ » est donc vraie.[/reponse]
[reponse motif="$0$"]Non.
Le programme n'affiche pas la valeur de la condition. Il affiche soit « Pair », soit « Impair », selon que la condition est vraie ou fausse.[/reponse]
[reponse motif="Rien n'est affiché."]Non.
La structure « si ... alors ... sinon » exécute toujours l'un des deux blocs. Un message sera donc affiché.[/reponse]
[reponse statut="incorrect"]Non.
$14 \mod 2 = 0$, la condition est vraie, le lutin dit « Pair ».[/reponse]
[/qcm]
[/etape]

[etape]
On considère le programme suivant :

Programme Scratch combinant boucle et compteur conditionnel

Que dit le lutin (le nombre de valeurs paires entre $1$ et $6$) ?
[qcm]
[option]$2$[/option]
[option correct="true"]$3$[/option]
[option]$6$[/option]
[option]$4$[/option]
[reponse statut="correct"]Bonne réponse !
Les valeurs de $i$ testées sont $1, 2, 3, 4, 5, 6$. La condition « $i$ pair » est vraie pour $i = 2, 4, 6$ : on incrémente $c$ trois fois. Donc $c = 3$.[/reponse]
[reponse motif="$2$"]Non.
Compter avec attention : les valeurs paires entre $1$ et $6$ sont $2$, $4$ et $6$ — il y en a trois.[/reponse]
[reponse motif="$6$"]Non.
$6$ est le nombre total de tours de boucle. Or $c$ n'est incrémenté que lorsque la condition est vraie, donc seulement pour les valeurs paires de $i$.[/reponse]
[reponse motif="$4$"]Non.
Si l'on incluait $0$, il y aurait $4$ pairs entre $0$ et $6$. Mais ici $i$ commence à $1$ et atteint au maximum $6$.[/reponse]
[reponse statut="incorrect"]Non.
Les valeurs paires de $i \in \{1; 2; 3; 4; 5; 6\}$ sont $2$, $4$, $6$. On compte $3$ valeurs.[/reponse]
[/qcm]
[/etape]

[etape]
Soit le programme de calcul :

  • Choisir un nombre $x$
  • Lui ajouter $7$
  • Multiplier le résultat par $2$
  • Soustraire $4$

Quelle expression algébrique correspond à ce programme ?
[qcm]
[option]$x + 7 \times 2 - 4$[/option]
[option]$2x + 14 + 4$[/option]
[option correct="true"]$2(x + 7) - 4$[/option]
[option]$x + 14 - 4$[/option]
[reponse statut="correct"]Bravo !
On suit l'ordre des instructions : $x \rightarrow x + 7 \rightarrow 2(x + 7) \rightarrow 2(x + 7) - 4$. L'expression est $2(x + 7) - 4$ (qui se développe aussi en $2x + 10$).[/reponse]
[reponse motif="$x + 7 \times 2 - 4$"]Non.
Sans parenthèses, cette expression vaut $x + 14 - 4 = x + 10$ (à cause de la priorité de la multiplication). Or il faut multiplier la somme $x + 7$ entière par $2$.[/reponse]
[reponse motif="$2x + 14 + 4$"]Non.
La dernière instruction est « soustraire $4$ », pas « ajouter $4$ ». Il faut écrire $- 4$.[/reponse]
[reponse motif="$x + 14 - 4$"]Non.
Cette expression suppose que l'on a ajouté $14$ à $x$. Or on multiplie $x + 7$ par $2$, ce qui donne $2x + 14$, pas $x + 14$.[/reponse]
[reponse statut="incorrect"]Non.
On suit l'ordre : ajouter 7 donne $x + 7$, puis on multiplie ce résultat par $2$ : $2(x + 7) = 2x + 14$, et on soustrait $4$ : $2x + 10$.[/reponse]
[/qcm]
[/etape]

[etape]
On considère le programme suivant :

Programme Scratch tracé d'un polygone régulier inconnu

Le tracé est-il une figure fermée ?
[qcm]
[option correct="true"]Oui, car $9 \times 40 = 360°$ : le lutin revient à son orientation de départ.[/option]
[option]Non, car $40°$ ne divise pas $360$.[/option]
[option]Non, car il faudrait au moins $10$ côtés pour fermer.[/option]
[option]Oui, mais seulement parce que la longueur $40$ est un diviseur de $360$.[/option]
[reponse statut="correct"]Excellent !
Le lutin tourne $9$ fois de $40°$, soit un total de $9 \times 40 = 360°$ : il retrouve son orientation initiale et la figure se referme. C'est un polygone régulier à $9$ côtés.[/reponse]
[reponse motif="Non, car $40°$ ne divise pas $360$."]Non.
$40°$ divise bien $360$ : $\dfrac{360}{40} = 9$. C'est précisément la condition qui permet à la figure d'être un polygone régulier fermé.[/reponse]
[reponse motif="Non, car il faudrait au moins $10$ côtés pour fermer."]Non.
Le nombre de côtés nécessaire dépend de l'angle. Pour un angle de $40°$, il faut $\dfrac{360}{40} = 9$ côtés.[/reponse]
[reponse motif="Oui, mais seulement parce que la longueur $40$ est un diviseur de $360$."]Non.
La fermeture d'un polygone tracé en boucle dépend du produit (nombre de tours) × (angle de rotation) = $360°$, pas de la longueur des côtés. La longueur change la taille de la figure, pas sa fermeture.[/reponse]
[reponse statut="incorrect"]Non.
La figure se ferme dès que (nombre de tours) × (angle de rotation) = $360°$. Ici $9 \times 40 = 360°$ : oui, c'est fermé.[/reponse]
[/qcm]
[/etape]

[etape]
On considère le programme de calcul suivant, écrit en Scratch :

Programme Scratch implémentant un programme de calcul

Quelle expression algébrique correspond au résultat affiché en fonction de $x$ ?
[qcm]
[option]$3x$[/option]
[option correct="true"]$x^2 + 3x$[/option]
[option]$x \times 3x$[/option]
[option]$2x + 3$[/option]
[reponse statut="correct"]Tu as raison !
La variable $r$ reçoit d'abord $x \times x = x^2$, puis on lui ajoute $3 \times x = 3x$. Le résultat affiché est $x^2 + 3x$.[/reponse]
[reponse motif="$3x$"]Non.
La première instruction stocke $x \times x$ dans $r$, ce qui correspond à $x^2$. La deuxième n'efface pas cette valeur, elle l'augmente.[/reponse]
[reponse motif="$x \times 3x$"]Non.
La deuxième instruction « ajouter $3 \times x$ à $r$ » est une addition, pas une multiplication. Il faut additionner les deux contributions.[/reponse]
[reponse motif="$2x + 3$"]Non.
La première instruction calcule $x \times x = x^2$, pas $2x$. Et la seconde ajoute $3x$, pas $3$.[/reponse]
[reponse statut="incorrect"]Non.
On a $r = x^2$ après la première instruction, puis on ajoute $3x$. Donc $r = x^2 + 3x$.[/reponse]
[/qcm]
[/etape]

[etape]
On considère le programme suivant :

Programme Scratch combinant boucle et conditionnelle

Que dit le lutin ?
[qcm]
[option]$100$[/option]
[option]$16$[/option]
[option correct="true"]$256$[/option]
[option]$32$[/option]
[reponse statut="correct"]Bravo !
A chaque tour, $n$ devient $n^2$. Les valeurs successives sont : $n = 2$, puis $n = 4$, puis $n = 16$, puis $n = 256$. A $n = 16$, la condition $16 > 100$ est fausse : la boucle continue. A $n = 256$, la condition $256 > 100$ devient vraie : la boucle s'arrête.[/reponse]
[reponse motif="$100$"]Non.
La boucle ne s'arrête pas exactement à $100$. Les valeurs prises par $n$ sont des carrés successifs : $2, 4, 16, 256, ...$ — la première à dépasser $100$ est $256$.[/reponse]
[reponse motif="$16$"]Non.
A $n = 16$, la condition $16 > 100$ est encore fausse : la boucle effectue donc un tour supplémentaire et calcule $n = 16 \times 16 = 256$.[/reponse]
[reponse motif="$32$"]Non.
A chaque tour, on calcule $n \times n$ ($n$ multiplié par lui-même), pas $n \times 2$. Les valeurs ne sont donc pas $2, 4, 8, 16, 32$ mais $2, 4, 16, 256$.[/reponse]
[reponse statut="incorrect"]Non.
Les valeurs successives de $n$ sont $2, 4, 16, 256$. A $n = 256 > 100$, la boucle s'arrête.[/reponse]
[/qcm]
[/etape]

QCM : Notion d’algorithme et vocabulaire Scratch

[enonce]
Ce QCM porte sur la notion d'algorithme et le vocabulaire de Scratch. Pour chaque question, choisir la bonne réponse parmi les 4 propositions.
[/enonce]

[etape]
Quelle est la définition correcte d'un algorithme ?
[qcm]
[option]Un programme écrit obligatoirement dans le logiciel Scratch.[/option]
[option correct="true"]Une suite finie d'instructions exécutées dans un ordre précis pour résoudre un problème.[/option]
[option]Un calcul mathématique effectué à la main.[/option]
[option]Un dessin réalisé par un lutin.[/option]
[reponse statut="correct"]Exact !
Un algorithme est une méthode systématique : une suite finie d'instructions, dans un ordre précis, qui permet d'arriver à un résultat.[/reponse]
[reponse motif="Un programme écrit obligatoirement dans le logiciel Scratch."]Non.
Il ne faut pas confondre algorithme et programme. Un algorithme peut être écrit en français ; le traduire dans Scratch (ou un autre langage) est une étape supplémentaire.[/reponse]
[reponse motif="Un calcul mathématique effectué à la main."]Non.
Un algorithme peut servir à calculer, mais sa portée est plus large : il décrit une suite d'instructions pour résoudre n'importe quel type de problème (tracer une figure, trier une liste...).[/reponse]
[reponse motif="Un dessin réalisé par un lutin."]Non.
C'est une utilisation possible d'un programme Scratch, mais ce n'est pas la définition d'un algorithme.[/reponse]
[reponse statut="incorrect"]Non.
Un algorithme est une suite finie d'instructions, exécutées dans un ordre précis, qui permet de résoudre un problème.[/reponse]
[/qcm]
[/etape]

[etape]
Dans Scratch, à quoi sert le bloc quand drapeau vert cliqué ?
[qcm]
[option]A arrêter le programme.[/option]
[option]A faire avancer le lutin.[/option]
[option correct="true"]A déclencher l'exécution du programme.[/option]
[option]A effacer la scène.[/option]
[reponse statut="correct"]C'est bien ça !
C'est un bloc « chapeau » du menu Événements : il indique le point de départ du programme, qui se lance quand on clique sur le drapeau vert au-dessus de la scène.[/reponse]
[reponse motif="A arrêter le programme."]Non.
Ce bloc déclenche le programme, il ne l'arrête pas. Pour arrêter, on utilise plutôt « stop tout » dans le menu Contrôle.[/reponse]
[reponse motif="A faire avancer le lutin."]Non.
Faire avancer le lutin se fait avec le bloc « avancer de ... pas » (menu Mouvement). Le drapeau vert sert à lancer le programme.[/reponse]
[reponse motif="A effacer la scène."]Non.
Pour effacer la scène, on utilise le bloc « effacer tout » du menu Stylo. Le drapeau vert sert uniquement à démarrer le programme.[/reponse]
[reponse statut="incorrect"]Non.
Le bloc « quand drapeau vert cliqué » est un bloc chapeau qui sert à démarrer le programme.[/reponse]
[/qcm]
[/etape]

[etape]
Dans quel menu de blocs trouve-t-on le bloc demander ... et attendre ?
[qcm]
[option]Mouvement[/option]
[option]Apparence[/option]
[option correct="true"]Capteurs[/option]
[option]Variables[/option]
[reponse statut="correct"]Bonne réponse !
Le bloc « demander ... et attendre » se trouve dans le menu Capteurs (bleu clair). Il affiche une question à l'utilisateur et stocke sa saisie dans la variable spéciale « réponse ».[/reponse]
[reponse motif="Mouvement"]Non.
Le menu Mouvement (bleu) contient les blocs qui font bouger le lutin (avancer, tourner...). Ce qui concerne la saisie utilisateur est dans le menu Capteurs.[/reponse]
[reponse motif="Apparence"]Non.
Le menu Apparence (violet) contient les blocs « dire » et « penser » pour afficher un message. Pour demander une information, c'est le menu Capteurs.[/reponse]
[reponse motif="Variables"]Non.
Le menu Variables (orange) contient les blocs « mettre à » et « ajouter à ». Le bloc « demander » se trouve dans le menu Capteurs.[/reponse]
[reponse statut="incorrect"]Non.
Le bloc « demander ... et attendre » se trouve dans le menu Capteurs.[/reponse]
[/qcm]
[/etape]

[etape]
On considère le programme de calcul suivant :

  • Choisir un nombre
  • Le multiplier par 4
  • Ajouter 3 au résultat

Quel est le résultat obtenu pour le nombre de départ $5$ ?
[qcm]
[option]$32$[/option]
[option correct="true"]$23$[/option]
[option]$20$[/option]
[option]$35$[/option]
[reponse statut="correct"]Bravo !
On applique les instructions dans l'ordre : $5 \times 4 = 20$, puis $20 + 3 = 23$.[/reponse]
[reponse motif="$32$"]Non.
Attention à l'ordre des instructions : il faut multiplier d'abord, puis ajouter. L'opération « (5 + 3) × 4 » donnerait 32, mais ce n'est pas l'ordre du programme.[/reponse]
[reponse motif="$20$"]Non.
On a bien $5 \times 4 = 20$, mais il reste une instruction à exécuter : « ajouter 3 ».[/reponse]
[reponse motif="$35$"]Non.
Le facteur du programme est 4, pas 7. Vérifier la lecture des instructions.[/reponse]
[reponse statut="incorrect"]Non.
On suit l'ordre des instructions : $5 \times 4 = 20$, puis $20 + 3 = 23$.[/reponse]
[/qcm]
[/etape]

[etape]
Que désigne-t-on par les données d'entrée d'un algorithme ?
[qcm]
[option]Le résultat affiché à la fin de l'exécution.[/option]
[option correct="true"]Les informations fournies au départ pour pouvoir lancer les calculs.[/option]
[option]Les blocs de couleur orange du menu Variables.[/option]
[option]Les instructions exécutées une par une dans le programme.[/option]
[reponse statut="correct"]Tu as raison !
Les données d'entrée sont les informations fournies au départ : un nombre saisi par l'utilisateur, des paramètres, etc. Elles s'opposent à la sortie (le résultat) et au traitement (les instructions).[/reponse]
[reponse motif="Le résultat affiché à la fin de l'exécution."]Non.
Le résultat affiché à la fin est la sortie de l'algorithme. L'entrée correspond aux informations fournies au départ.[/reponse]
[reponse motif="Les blocs de couleur orange du menu Variables."]Non.
Les blocs orange servent à manipuler des variables, mais ce n'est pas la définition des données d'entrée. L'entrée concerne les informations fournies au départ.[/reponse]
[reponse motif="Les instructions exécutées une par une dans le programme."]Non.
Les instructions exécutées correspondent au traitement, pas à l'entrée. L'entrée, ce sont les informations de départ.[/reponse]
[reponse statut="incorrect"]Non.
Les données d'entrée sont les informations fournies au départ (par exemple, le nombre saisi par l'utilisateur).[/reponse]
[/qcm]
[/etape]

[etape]
Parmi les énoncés suivants, lequel n'est pas un algorithme ?
[qcm]
[option]Une recette de cuisine pour préparer une omelette.[/option]
[option]La méthode pour résoudre une équation du premier degré.[/option]
[option correct="true"]Une liste de courses contenant pain, lait et beurre.[/option]
[option]Le programme : « choisir un nombre, le doubler, retrancher 4 ».[/option]
[reponse statut="correct"]Exactement !
Une liste de courses énumère des éléments mais ne donne pas une suite d'instructions à exécuter dans un ordre précis : ce n'est pas un algorithme.[/reponse]
[reponse motif="Une recette de cuisine pour préparer une omelette."]Non.
Une recette est bien un algorithme : c'est une suite finie d'instructions (casser les œufs, battre, cuire...) exécutées dans un ordre précis pour obtenir un résultat.[/reponse]
[reponse motif="La méthode pour résoudre une équation du premier degré."]Non.
Cette méthode est un algorithme : elle décrit une suite d'étapes systématiques (regrouper les $x$, isoler $x$, diviser...) pour résoudre n'importe quelle équation du premier degré.[/reponse]
[reponse motif="Le programme : « choisir un nombre, le doubler, retrancher 4 »."]Non.
C'est un programme de calcul, donc une suite d'instructions à exécuter dans un ordre précis : c'est un algorithme.[/reponse]
[reponse statut="incorrect"]Non.
Une liste (de courses, par exemple) n'est pas un algorithme : elle énumère des éléments sans imposer d'ordre d'exécution. Une recette ou une méthode de calcul, en revanche, est bien un algorithme.[/reponse]
[/qcm]
[/etape]