Scratch – Motif de deux triangles équilatéraux et variable côté – Brevet Asie 2024

On donne le programme suivant.

Remarque

Rappel. L'instruction « s'orienter à 90 » signifie que le lutin se dirige vers la droite.

Script principal :

Script principal Scratch : quand drapeau cliqué, aller à x=-100 y=0, s'orienter à 90, effacer tout, mettre côté à 80, appel du bloc Motif

Définition du bloc Motif :

Définition du bloc Motif : stylo en position d'écriture, répéter 3 fois (avancer de côté pas, tourner droite de 120 degrés), répéter 3 fois (avancer de côté pas, tourner gauche de 120 degrés), relever le stylo

Dans cet exercice, aucune justification n'est attendue.

  1. À quelles coordonnées le lutin se positionne-t-il juste après avoir cliqué sur le drapeau vert ?
  2. En prenant 1 cm pour 20 pas, dessiner en vraie grandeur la figure obtenue en exécutant le script principal.
  3. On modifie le script principal de trois façons différentes. Associer chaque script à la figure qui lui correspond.

    Script n°1 :

    Script 1 modifié : répéter 3 fois (Motif, avancer de 100 pas)

    Script n°2 :

    Script 2 modifié : répéter 3 fois (Motif, mettre côté à côté * 1.2)

    Script n°3 :

    Script 3 modifié : répéter 3 fois (Motif, tourner droite de 120 degrés)

    Les trois figures à associer aux scripts sont les suivantes :

    Figure A :

    Trois losanges identiques alignés horizontalement, espacés régulièrement, chacun ayant ses angles aigus de 60^{\circ} au sommet et à la base et ses angles obtus de 120^{\circ} à gauche et à droite

    Figure B :

    Trois losanges concentriques de tailles croissantes partageant le même sommet de gauche, le plus petit à l'intérieur du moyen, lui-même à l'intérieur du plus grand

    Figure C :

    Trois losanges identiques disposés autour d'un sommet commun en formant une rosace, chacun tourné de 120^{\circ} par rapport au précédent ; l'union des trois forme un hexagone régulier
  4. Dans cette question on s'intéresse au script n°2 (celui où l'on multiplie la variable « côté » par 1,2 à chaque tour).

    1. Combien de fois le bloc « Motif » est-il exécuté ?
    2. Quelle est la valeur de la variable « côté » à la fin de ce script ?

Corrigé

  1. L'instruction « aller à x : $ -100 $ y : 0 » place le lutin au point de coordonnées $ (-100\,;\,0) $.
  2. Le bloc « Motif » trace deux triangles équilatéraux successifs partageant un même côté horizontal :

    • la première boucle « répéter 3 fois (avancer + tourner droite 120°) » trace un triangle équilatéral pointant vers le bas ;
    • la seconde boucle « répéter 3 fois (avancer + tourner gauche 120°) » repart du même point de départ et trace un triangle équilatéral pointant vers le haut.

    L'assemblage des deux triangles forme un losange (rhombe régulier) dont les angles sont 60° et 120° et dont les côtés mesurent 80 pas, soit $ 80 \div 20 = 4 $ cm sur le dessin.

    Losange formé par deux triangles équilatéraux assemblés sur leur base horizontale, côté 4 cm, angles aigus 60^{\circ} à gauche et à droite, angles obtus 120^{\circ} en haut et en bas
  3. Script 1 (« avancer de 100 pas » entre chaque Motif) : entre deux losanges, le lutin se déplace en ligne droite de 100 pas, sans tourner. Il trace donc trois losanges identiques alignés horizontalement et séparés. C'est la Figure A.

    Script 2 (« mettre côté à côté × 1,2 ») : la taille du losange est multipliée par 1,2 à chaque tour. On obtient trois losanges concentriques de tailles croissantes. C'est la Figure B.

    Script 3 (« tourner droite de 120 degrés ») : entre chaque losange, le lutin pivote de 120° autour du point de départ, puis trace un nouveau losange à partir de ce point. On obtient trois losanges disposés autour d'un sommet commun (rosace). C'est la Figure C.

    Remarque

    La numérotation A/B/C peut différer dans le sujet original ; ce qui compte est de relier la modification du script à l'effet géométrique produit.

    1. Le bloc « répéter 3 fois » du script principal exécute la boucle 3 fois ; à chaque tour, on appelle « Motif » exactement une fois.

      Le bloc « Motif » est donc exécuté 3 fois.

    2. La variable « côté » est mise à jour après le tracé de chaque Motif, dans la boucle. On obtient successivement :

      • au départ : $ \text{côté} = 80 $ ;
      • après le 1ᵉʳ tour : $ \text{côté} = 80 \times 1{,}2 = 96 $ ;
      • après le 2ᵉ tour : $ \text{côté} = 96 \times 1{,}2 = 115{,}2 $ ;
      • après le 3ᵉ tour : $ \text{côté} = 115{,}2 \times 1{,}2 = 138{,}24 $.

      À la fin du script, la variable « côté » vaut 138,24.

Suivre un programme Scratch avec boucle

[enonce]
On considère le programme Scratch suivant :

Programme Scratch : boucle répéter 3 fois avec accumulation dans une variable résultat

L'utilisateur entre le nombre $5$.
Suivre les étapes pour déterminer ce que dit le lutin, puis généraliser.
[/enonce]

[etape]
À chaque passage dans la boucle, le programme effectue deux actions. Lesquelles ?
[qcm]
[option]Il multiplie x par 2, puis ajoute x à résultat[/option]
[option]Il ajoute 2 à résultat, puis augmente x de 2[/option]
[option correct="true"]Il ajoute la valeur de x à résultat, puis augmente x de 2[/option]
[option]Il ajoute x à résultat, puis remet x à 0[/option]
[reponse statut="correct"]Correct !
À chaque tour, le programme additionne d'abord x à résultat, puis augmente x de 2. La variable x change donc d'un tour à l'autre.[/reponse]
[reponse motif="Il multiplie x par 2, puis ajoute x à résultat"]Non.
Le bloc « ajouter à x 2 » signifie $x + 2$, pas $x \times 2$. Et l'ajout à résultat se fait avant la modification de x.[/reponse]
[reponse motif="Il ajoute 2 à résultat, puis augmente x de 2"]Non.
Le premier bloc ajoute x (la variable) à résultat, pas le nombre 2. Relire les deux instructions dans la boucle.[/reponse]
[reponse motif="Il ajoute x à résultat, puis remet x à 0"]Non.
Le bloc « ajouter à x 2 » augmente x de 2, il ne remet pas x à 0. La valeur de x grandit à chaque tour.[/reponse]
[reponse statut="incorrect"]Non.
Lire les deux blocs dans l'ordre : d'abord « ajouter à résultat x », puis « ajouter à x 2 ».[/reponse]
[/qcm]
[/etape]

[etape]
L'utilisateur a entré le nombre $5$.

Au premier tour : résultat $= 0 + 5 = 5$, puis $x$ passe à $7$.

Calculer la valeur de résultat après le deuxième tour de boucle.

résultat $=$ [[res2]]
[math id="res2" attendu="12"]
[reponse statut="correct"]Bonne réponse !
Au deuxième tour, on ajoute $x = 7$ à résultat : $5 + 7 = 12$. Puis $x$ passe à $9$.[/reponse]
[reponse motif="10"]Attention, la variable $x$ a été modifiée à la fin du premier tour.
Au début du deuxième tour, $x$ ne vaut plus $5$. Quelle valeur a-t-elle maintenant ?[/reponse]
[reponse motif="14"]La variable $x$ vaut $7$ au début du deuxième tour, pas $9$.
On ajoute $x$ à résultat avant d'augmenter $x$ de $2$.[/reponse]
[reponse motif="7"]La variable résultat accumule les valeurs : elle ne repart pas de $0$ à chaque tour.
Résultat valait $5$ après le premier tour, et on y ajoute la nouvelle valeur de $x$.[/reponse]
[reponse statut="incorrect"]Au deuxième tour, $x$ vaut $7$ (car $5 + 2 = 7$ au tour précédent).
On ajoute cette valeur à résultat qui valait $5$.[/reponse]
[aide essai="2"]Au premier tour, $x$ est passé de $5$ à $7$. Au deuxième tour, on ajoute cette nouvelle valeur de $x$ à résultat.[/aide]
[aide essai="3"]Résultat valait $5$ après le premier tour. La variable $x$ vaut $7$. Calculer $5 + 7$.[/aide]
[/math]
[solution]Au deuxième tour : résultat $= 5 + 7 = 12$, puis $x = 7 + 2 = 9$.[/solution]
[/etape]

[etape]
Après deux tours : résultat $= 12$ et $x = 9$.

Que dit le lutin à la fin du programme ?

Le lutin dit [[res3]]
[math id="res3" attendu="21"]
[reponse statut="correct"]Bravo !
Au troisième et dernier tour : résultat $= 12 + 9 = 21$. Le lutin dit $21$.[/reponse]
[reponse motif="15"]La variable $x$ ne reste pas à $5$ tout au long du programme.
Elle augmente de $2$ à chaque tour. Au troisième tour, combien vaut $x$ ?[/reponse]
[reponse motif="27"]Attention, la boucle ne fait que $3$ tours, pas $4$.
Après le troisième ajout, le programme sort de la boucle et affiche résultat.[/reponse]
[reponse statut="incorrect"]Il reste un seul tour de boucle. La variable $x$ vaut $9$ et résultat vaut $12$.
Calculer la somme de ces deux valeurs.[/reponse]
[aide essai="2"]Au troisième tour, $x = 9$. On ajoute cette valeur à résultat qui vaut $12$.[/aide]
[aide essai="3"]Calculer $12 + 9$.[/aide]
[/math]
[solution]Troisième tour : résultat $= 12 + 9 = 21$. Le lutin dit $21$.[/solution]
[/etape]

[etape]
On relance le programme en entrant le nombre $1$ cette fois.

Que dit le lutin ?

Le lutin dit [[res4]]
[math id="res4" attendu="9"]
[reponse statut="correct"]Exactement !
Les valeurs successives de $x$ sont $1$, $3$ et $5$.
Le résultat est $1 + 3 + 5 = 9$.[/reponse]
[reponse motif="3"]La variable $x$ change à chaque tour : elle augmente de $2$.
Les trois valeurs de $x$ ne sont pas toutes égales à $1$.[/reponse]
[reponse motif="6"]Attention, la variable $x$ augmente de $2$ à chaque tour, pas de $1$.
Quelles sont les trois valeurs successives de $x$ ?[/reponse]
[reponse motif="15"]La boucle ne fait que $3$ tours, pas $5$.
Les valeurs de $x$ s'arrêtent au troisième tour.[/reponse]
[reponse statut="incorrect"]Reprendre la méthode : $x$ part de $1$ et augmente de $2$ à chaque tour.
Lister les trois valeurs de $x$, puis les additionner.[/reponse]
[aide essai="2"]Les valeurs successives de $x$ sont : $1$, puis $1 + 2$, puis...[/aide]
[aide essai="3"]Les trois valeurs sont $1$, $3$ et $5$. Calculer leur somme.[/aide]
[/math]
[solution]Tour 1 : $x = 1$, résultat $= 1$.
Tour 2 : $x = 3$, résultat $= 1 + 3 = 4$.
Tour 3 : $x = 5$, résultat $= 4 + 5 = 9$.
Le lutin dit $9$.[/solution]
[/etape]

[etape]
Avec $5$, le lutin dit $21$. Avec $1$, le lutin dit $9$.

Si l'utilisateur entre un nombre $n$, quelle expression donne le résultat affiché par le lutin ?
[qcm]
[option]$3n + 2$[/option]
[option]$n + 6$[/option]
[option correct="true"]$3n + 6$[/option]
[option]$3n + 4$[/option]
[reponse statut="correct"]C'est bien ça !
Les trois valeurs de $x$ sont $n$, $n + 2$ et $n + 4$.
Leur somme est $n + (n + 2) + (n + 4) = 3n + 6$.
Vérification : pour $n = 5$, on obtient $3 \times 5 + 6 = 21$ et pour $n = 1$, on obtient $3 \times 1 + 6 = 9$.[/reponse]
[reponse motif="$3n + 2$"]Non.
Vérifier avec $n = 5$ : $3 \times 5 + 2 = 17$, mais le lutin affiche $21$.
L'expression ne correspond pas aux résultats observés.[/reponse]
[reponse motif="$n + 6$"]Non.
Vérifier avec $n = 5$ : $5 + 6 = 11$, mais le lutin affiche $21$.
Il faut additionner les trois valeurs successives de $x$, pas seulement la première.[/reponse]
[reponse motif="$3n + 4$"]Non.
Vérifier avec $n = 1$ : $3 \times 1 + 4 = 7$, mais le lutin affiche $9$.
Reprendre la somme $n + (n + 2) + (n + 4)$ et développer.[/reponse]
[reponse statut="incorrect"]Non.
Les trois valeurs de $x$ sont $n$, $n + 2$ et $n + 4$.
Calculer leur somme et vérifier avec $n = 5$ (résultat attendu : $21$).[/reponse]
[/qcm]
[/etape]

QCM : Programmes Scratch avancés

[enonce]
Ce QCM porte sur des programmes Scratch avancés. Pour chaque question, lire attentivement le programme proposé puis choisir la bonne réponse parmi les 4 propositions.
[/enonce]

[etape]
On considère le programme Scratch suivant :

Programme Scratch : somme des cinq premiers multiples de 3

Que dit le lutin ?
[qcm]
[option]$15$[/option]
[option]$30$[/option]
[option correct="true"]$45$[/option]
[option]$75$[/option]
[reponse statut="correct"]Exact !
A chaque tour, on ajoute $k$ à $s$ puis on augmente $k$ de $3$ :
Tour 1 : $k = 3$, $s = 3$.
Tour 2 : $k = 6$, $s = 9$.
Tour 3 : $k = 9$, $s = 18$.
Tour 4 : $k = 12$, $s = 30$.
Tour 5 : $k = 15$, $s = 45$.
Le programme calcule $3 + 6 + 9 + 12 + 15 = 45$.[/reponse]
[reponse motif="$15$"]Non.
Le programme ne calcule pas $5 \times 3 = 15$. La variable $k$ change à chaque tour : elle prend les valeurs $3, 6, 9, 12, 15$. Il faut additionner toutes ces valeurs.[/reponse]
[reponse motif="$30$"]Non.
La boucle fait $5$ tours, pas $4$. Les valeurs de $k$ sont $3, 6, 9, 12, 15$ et il faut les additionner toutes les cinq.[/reponse]
[reponse motif="$75$"]Non.
Le programme additionne les valeurs de $k$ (pas $15 \times 5$). Les valeurs sont $3, 6, 9, 12, 15$ et leur somme est $3 + 6 + 9 + 12 + 15$.[/reponse]
[reponse statut="incorrect"]Non.
La variable $k$ prend les valeurs $3, 6, 9, 12, 15$ et le programme calcule leur somme : $3 + 6 + 9 + 12 + 15 = 45$.[/reponse]
[/qcm]
[/etape]

[etape]
On considère le programme Scratch suivant :

Programme Scratch : calcul de (x+1) au carré

Quelle expression algébrique ce programme calcule-t-il ?
[qcm]
[option]$x^2 + 1$[/option]
[option correct="true"]$x^2 + 2x + 1$[/option]
[option]$2x^2 + 2x + 1$[/option]
[option]$x^2 + x + 1$[/option]
[reponse statut="correct"]Bonne réponse !
Le programme calcule $r = x + 1$, puis $r = r \times r = (x + 1)^2$.
En développant : $(x + 1)^2 = x^2 + 2x + 1$.[/reponse]
[reponse motif="$x^2 + 1$"]Non.
Le programme ne calcule pas $x^2$ puis n'ajoute pas $1$. Il calcule d'abord $r = x + 1$, puis $r = r \times r = (x + 1)^2$.
En développant $(x+1)^2$, on obtient un terme en $2x$ qu'il ne faut pas oublier.[/reponse]
[reponse motif="$2x^2 + 2x + 1$"]Non.
Le développement de $(x+1)^2$ donne $x^2 + 2 \times x \times 1 + 1^2 = x^2 + 2x + 1$. Le coefficient de $x^2$ est $1$, pas $2$.[/reponse]
[reponse motif="$x^2 + x + 1$"]Non.
Le développement de $(x+1)^2$ est $x^2 + 2x + 1$, pas $x^2 + x + 1$. Il faut appliquer l'identité remarquable $(a+b)^2 = a^2 + 2ab + b^2$.[/reponse]
[reponse statut="incorrect"]Non.
Le programme calcule $(x + 1)^2 = x^2 + 2x + 1$.[/reponse]
[/qcm]
[/etape]

[etape]
On considère le programme Scratch suivant :

Programme Scratch : somme des nombres pairs de 1 à 6 avec condition

Que dit le lutin ?
[qcm]
[option]$21$[/option]
[option correct="true"]$12$[/option]
[option]$9$[/option]
[option]$6$[/option]
[reponse statut="correct"]C'est bien ça !
La condition « $i$ mod $2 = 0$ » est vraie uniquement quand $i$ est pair.
La variable $i$ prend les valeurs $1, 2, 3, 4, 5, 6$ et seuls les nombres pairs sont ajoutés à $s$ : $s = 2 + 4 + 6 = 12$.[/reponse]
[reponse motif="$21$"]Non.
Le programme n'additionne pas tous les nombres de $1$ à $6$. La condition « $i$ mod $2 = 0$ » filtre les nombres pairs uniquement. Seuls $2$, $4$ et $6$ sont ajoutés à $s$.[/reponse]
[reponse motif="$9$"]Non.
Le programme additionne les nombres pairs, pas les nombres impairs. L'opération $i$ mod $2$ donne le reste de la division par $2$ : le résultat est $0$ quand $i$ est pair.[/reponse]
[reponse motif="$6$"]Non.
Il y a trois nombres pairs entre $1$ et $6$ ($2$, $4$ et $6$), et il faut les additionner tous les trois, pas seulement le dernier.[/reponse]
[reponse statut="incorrect"]Non.
Le programme additionne les nombres pairs de $1$ à $6$ : $s = 2 + 4 + 6 = 12$.[/reponse]
[/qcm]
[/etape]

[etape]
On considère le programme Scratch suivant :

Programme Scratch : somme géométrique avec doublement

Que dit le lutin ?
[qcm]
[option]$16$[/option]
[option correct="true"]$30$[/option]
[option]$32$[/option]
[option]$60$[/option]
[reponse statut="correct"]Bravo !
A chaque tour, on ajoute $\text{terme}$ à $s$ puis on double $\text{terme}$ :
Tour 1 : terme $= 2$, $s = 2$.
Tour 2 : terme $= 4$, $s = 6$.
Tour 3 : terme $= 8$, $s = 14$.
Tour 4 : terme $= 16$, $s = 30$.
Le programme calcule $2 + 4 + 8 + 16 = 30$.[/reponse]
[reponse motif="$16$"]Non.
$16$ est la dernière valeur de $\text{terme}$, pas la somme. Le programme affiche $s$, c'est-à-dire la somme $2 + 4 + 8 + 16$.[/reponse]
[reponse motif="$32$"]Non.
$32$ serait la valeur de $\text{terme}$ après le 5e doublement, mais la boucle ne fait que $4$ tours. Et le programme affiche $s$ (la somme), pas $\text{terme}$.[/reponse]
[reponse motif="$60$"]Non.
Il faut bien additionner les valeurs de $\text{terme}$ au moment où elles sont ajoutées, pas après le doublement. La somme est $2 + 4 + 8 + 16$.[/reponse]
[reponse statut="incorrect"]Non.
Les valeurs ajoutées sont $2, 4, 8, 16$ et leur somme vaut $s = 2 + 4 + 8 + 16 = 30$.[/reponse]
[/qcm]
[/etape]

[etape]
On considère le programme Scratch suivant :

Programme Scratch : construction d'un enchaînement de nombres (Fibonacci)

Que dit le lutin ?
[qcm]
[option]$8$[/option]
[option correct="true"]$13$[/option]
[option]$21$[/option]
[option]$20$[/option]
[reponse statut="correct"]Exactement !
A chaque tour, on calcule $c = a + b$, puis $a$ prend la valeur de $b$ et $b$ prend la valeur de $c$. Déroulons :
$a = 1, b = 1$ : $1 + 1 = 2 \leqslant 20$, $c = 2$, $a = 1, b = 2$.
$a = 1, b = 2$ : $1 + 2 = 3 \leqslant 20$, $c = 3$, $a = 2, b = 3$.
$a = 2, b = 3$ : $2 + 3 = 5 \leqslant 20$, $c = 5$, $a = 3, b = 5$.
$a = 3, b = 5$ : $3 + 5 = 8 \leqslant 20$, $c = 8$, $a = 5, b = 8$.
$a = 5, b = 8$ : $5 + 8 = 13 \leqslant 20$, $c = 13$, $a = 8, b = 13$.
$a = 8, b = 13$ : $8 + 13 = 21 > 20$, la boucle s'arrête.
Le lutin dit $b = 13$.[/reponse]
[reponse motif="$8$"]Non.
Quand $a = 5$ et $b = 8$, la condition $5 + 8 = 13 \leqslant 20$ est encore vraie. La boucle continue un tour de plus.[/reponse]
[reponse motif="$21$"]Non.
$21$ est la valeur de $a + b$ qui fait s'arrêter la boucle, mais le lutin affiche $b$ (pas $a + b$). A ce moment, $b = 13$.[/reponse]
[reponse motif="$20$"]Non.
La boucle ne s'arrête pas quand la somme vaut exactement $20$. Les sommes successives sont $2, 3, 5, 8, 13, 21$. La boucle s'arrête quand la somme dépasse $20$, c'est-à-dire à $21$, et $b$ vaut alors $13$.[/reponse]
[reponse statut="incorrect"]Non.
En déroulant la boucle, les valeurs de $b$ sont $1, 2, 3, 5, 8, 13$. La boucle s'arrête quand $a + b = 21 > 20$, et le lutin dit $b = 13$.[/reponse]
[/qcm]
[/etape]

[etape]
On compare les deux programmes Scratch suivants, exécutés avec $x = 5$ :

Programme A :

Programme Scratch A : ajouter 3 puis multiplier par 2

Programme B :

Programme Scratch B : multiplier par 2 puis ajouter 3

Quelle est la différence entre le résultat du programme A et celui du programme B ?
[qcm]
[option]$0$ (même résultat)[/option]
[option correct="true"]$3$[/option]
[option]$6$[/option]
[option]$5$[/option]
[reponse statut="correct"]Tu as raison !
Programme A : $r = 5$, puis $r = 5 + 3 = 8$, puis $r = 8 \times 2 = 16$.
Programme B : $r = 5$, puis $r = 5 \times 2 = 10$, puis $r = 10 + 3 = 13$.
La différence est $16 - 13 = 3$.[/reponse]
[reponse motif="$0$ (même résultat)"]Non.
L'ordre des opérations change le résultat. « Ajouter $3$ puis multiplier par $2$ » ne donne pas le même résultat que « multiplier par $2$ puis ajouter $3$ ». Il faut dérouler chaque programme.[/reponse]
[reponse motif="$6$"]Non.
Il faut dérouler chaque programme séparément.
Programme A : $5 + 3 = 8$, puis $8 \times 2 = 16$.
Programme B : $5 \times 2 = 10$, puis $10 + 3 = 13$.
La différence est $16 - 13$.[/reponse]
[reponse motif="$5$"]Non.
Il faut calculer les résultats de chaque programme.
Programme A : $(5 + 3) \times 2 = 16$.
Programme B : $5 \times 2 + 3 = 13$.
Puis faire la différence entre ces deux résultats.[/reponse]
[reponse statut="incorrect"]Non.
Programme A donne $(5 + 3) \times 2 = 16$ et programme B donne $5 \times 2 + 3 = 13$. La différence est $16 - 13 = 3$.[/reponse]
[/qcm]
[/etape]

QCM : Lecture de programmes Scratch

[enonce]
Ce QCM porte sur la lecture de programmes Scratch. Pour chaque question, lire attentivement le programme proposé puis choisir la bonne réponse parmi les 4 propositions.
[/enonce]

[etape]
On considère le programme Scratch suivant :

Programme Scratch : affectation et ajout dans une variable

Que dit le lutin ?
[qcm]
[option]$4$[/option]
[option]$6$[/option]
[option correct="true"]$10$[/option]
[option]$24$[/option]
[reponse statut="correct"]Exact !
La variable $a$ reçoit la valeur $4$, puis on lui ajoute $6$ : $a = 4 + 6 = 10$.[/reponse]
[reponse motif="$4$"]Non.
La première instruction donne bien la valeur $4$ à $a$, mais la deuxième instruction ajoute $6$. Il faut tenir compte de toutes les instructions.[/reponse]
[reponse motif="$6$"]Non.
Le bloc « ajouter $6$ à $a$ » ne remplace pas la valeur, il l'ajoute à la valeur actuelle de $a$. Il faut calculer $4 + 6$.[/reponse]
[reponse motif="$24$"]Non.
Le bloc « ajouter » effectue une addition, pas une multiplication. Il faut calculer $4 + 6$, pas $4 \times 6$.[/reponse]
[reponse statut="incorrect"]Non.
On suit les blocs dans l'ordre : $a = 4$, puis $a = 4 + 6 = 10$.[/reponse]
[/qcm]
[/etape]

[etape]
On considère le programme Scratch suivant :

Programme Scratch : deux affectations successives

Que dit le lutin ?
[qcm]
[option]$8$[/option]
[option correct="true"]$3$[/option]
[option]$11$[/option]
[option]$5$[/option]
[reponse statut="correct"]Bonne réponse !
Le bloc « mettre $a$ à $3$ » remplace la valeur précédente ($8$) par $3$. L'ancienne valeur est effacée.[/reponse]
[reponse motif="$8$"]Non.
La deuxième instruction « mettre $a$ à $3$ » remplace la valeur $8$. Lorsqu'on affecte une nouvelle valeur, l'ancienne est effacée.[/reponse]
[reponse motif="$11$"]Non.
Le bloc « mettre à » remplace la valeur, il ne l'ajoute pas. Il ne faut pas confondre « mettre à » et « ajouter à ».[/reponse]
[reponse motif="$5$"]Non.
Le bloc « mettre à » remplace la valeur, il ne la soustrait pas. Il ne faut pas calculer $8 - 3$.[/reponse]
[reponse statut="incorrect"]Non.
Le second « mettre $a$ à $3$ » remplace l'ancienne valeur : $a = 3$.[/reponse]
[/qcm]
[/etape]

[etape]
On considère le programme Scratch suivant :

Programme Scratch : boucle répéter avec ajout

Que dit le lutin ?
[qcm]
[option]$5$[/option]
[option]$6$[/option]
[option]$11$[/option]
[option correct="true"]$30$[/option]
[reponse statut="correct"]C'est bien ça !
La boucle ajoute $5$ au compteur six fois : $\text{compteur} = 6 \times 5 = 30$.[/reponse]
[reponse motif="$5$"]Non.
La boucle ne s'exécute pas une seule fois mais six fois. Chaque passage ajoute $5$, donc le résultat est $6 \times 5$.[/reponse]
[reponse motif="$6$"]Non.
La valeur ajoutée à chaque tour est $5$, pas $1$. Et il y a $6$ tours, donc le résultat est $6 \times 5$.[/reponse]
[reponse motif="$11$"]Non.
Il ne faut pas additionner $6 + 5$. La boucle ajoute $5$ six fois : le résultat est $6 \times 5$.[/reponse]
[reponse statut="incorrect"]Non.
La boucle ajoute $5$ six fois en partant de $0$ : $\text{compteur} = 6 \times 5 = 30$.[/reponse]
[/qcm]
[/etape]

[etape]
On considère le programme Scratch suivant :

Programme Scratch : tracé d'un polygone régulier avec boucle

Quelle figure géométrique est tracée ?
[qcm]
[option]Un triangle[/option]
[option]Un carré[/option]
[option]Un pentagone[/option]
[option correct="true"]Un hexagone[/option]
[reponse statut="correct"]Bravo !
La boucle trace $6$ côtés de $50$ pas avec un angle de $60°$. Comme $\dfrac{360}{60} = 6$, on trace un hexagone régulier (polygone à $6$ côtés).[/reponse]
[reponse motif="Un triangle"]Non.
Un triangle régulier a $3$ côtés et un angle de rotation de $\dfrac{360}{3} = 120°$. Ici, la boucle répète $6$ fois avec un angle de $60°$.[/reponse]
[reponse motif="Un carré"]Non.
Un carré a $4$ côtés et un angle de rotation de $\dfrac{360}{4} = 90°$. Ici, la boucle répète $6$ fois avec un angle de $60°$.[/reponse]
[reponse motif="Un pentagone"]Non.
Un pentagone régulier a $5$ côtés et un angle de rotation de $\dfrac{360}{5} = 72°$. Ici, la boucle répète $6$ fois avec un angle de $60°$.[/reponse]
[reponse statut="incorrect"]Non.
Pour identifier le polygone, on calcule $\dfrac{360}{60} = 6$ : c'est un polygone à $6$ côtés, donc un hexagone.[/reponse]
[/qcm]
[/etape]

[etape]
On considère le programme Scratch suivant, dans lequel l'utilisateur entre le nombre $4$ :

Programme Scratch : demander un nombre et calculer son triple

Si l'utilisateur entre $4$, que dit le lutin ?
[qcm]
[option]$4$[/option]
[option]$8$[/option]
[option correct="true"]$12$[/option]
[option]$64$[/option]
[reponse statut="correct"]Exactement !
Le programme calcule $n + n + n = 4 + 4 + 4 = 12$, c'est-à-dire le triple de $n$.[/reponse]
[reponse motif="$4$"]Non.
Le programme ne se contente pas de stocker le nombre : il calcule $n + n + n$. Avec $n = 4$, cela donne $4 + 4 + 4$.[/reponse]
[reponse motif="$8$"]Non.
Le calcul utilise trois fois la variable $n$, pas deux. Il faut calculer $4 + 4 + 4$ et non $4 + 4$.[/reponse]
[reponse motif="$64$"]Non.
Le programme additionne $n$ trois fois, il ne le multiplie pas par lui-même. Il faut calculer $4 + 4 + 4$ et non $4^3$.[/reponse]
[reponse statut="incorrect"]Non.
Le programme calcule $n + n + n = 4 + 4 + 4 = 12$.[/reponse]
[/qcm]
[/etape]

[etape]
On considère le programme Scratch suivant :

Programme Scratch : multiplication dans une variable avec boucle

Que dit le lutin ?
[qcm]
[option]$10$[/option]
[option correct="true"]$13$[/option]
[option]$25$[/option]
[option]$30$[/option]
[reponse statut="correct"]Tu as raison !
Pas à pas : $x = 2$, puis $x = 2 \times 5 = 10$, puis $x = 10 + 3 = 13$.[/reponse]
[reponse motif="$10$"]Non.
Le calcul $2 \times 5 = 10$ est correct, mais il reste un bloc : « ajouter $3$ à $x$ ». Il faut calculer $10 + 3$.[/reponse]
[reponse motif="$25$"]Non.
Le deuxième bloc calcule $x \times 5$, pas $x^5$. Et il ne faut pas oublier le troisième bloc qui ajoute $3$.[/reponse]
[reponse motif="$30$"]Non.
Attention à l'ordre : on multiplie d'abord par $5$ ($x = 10$), puis on ajoute $3$. Le calcul $2 \times (5 + 3) \times ... = 30$ ne respecte pas l'ordre des blocs. Le résultat correct est $10 + 3$.[/reponse]
[reponse statut="incorrect"]Non.
En suivant les blocs : $x = 2$, puis $x = 2 \times 5 = 10$, puis $x = 10 + 3 = 13$.[/reponse]
[/qcm]
[/etape]

QCM : Exécution d’algorithmes

[enonce]
Ce QCM porte sur l'exécution d'algorithmes : il faut suivre les instructions pas à pas pour déterminer le résultat. Pour chaque question, choisir la bonne réponse parmi les 4 propositions.
[/enonce]

[etape]
On exécute l'algorithme suivant :

  • Mettre $a$ à $5$
  • Mettre $b$ à $a + 3$
  • Mettre $a$ à $b \times 2$

Quelles sont les valeurs de $a$ et $b$ à la fin ?
[qcm]
[option]$a = 5$ et $b = 8$[/option]
[option correct="true"]$a = 16$ et $b = 8$[/option]
[option]$a = 16$ et $b = 16$[/option]
[option]$a = 13$ et $b = 8$[/option]
[reponse statut="correct"]Exact !
Pas à pas : $a = 5$, puis $b = 5 + 3 = 8$, puis $a = 8 \times 2 = 16$.
A la fin, $a = 16$ et $b = 8$.[/reponse]
[reponse motif="$a = 5$ et $b = 8$"]Non.
Les deux premières étapes sont correctes ($a = 5$, $b = 8$), mais il reste la troisième instruction : $a$ est modifiée et prend la valeur $b \times 2$.[/reponse]
[reponse motif="$a = 16$ et $b = 16$"]Non.
La valeur de $a$ est correcte, mais $b$ n'est pas modifiée par la troisième instruction. Seule la variable $a$ change à la dernière étape.[/reponse]
[reponse motif="$a = 13$ et $b = 8$"]Non.
A la troisième étape, on calcule $a = b \times 2$, pas $a = a + b$. Il faut utiliser la valeur de $b$ (qui vaut $8$) et la multiplier par $2$.[/reponse]
[reponse statut="incorrect"]Non.
En suivant chaque instruction : $a = 5$, puis $b = 5 + 3 = 8$, puis $a = 8 \times 2 = 16$.[/reponse]
[/qcm]
[/etape]

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

  • Choisir un nombre $x$
  • Calculer son carré
  • Soustraire $3$ fois le nombre de départ
  • Ajouter $2$

Pour $x = 5$, quel est le résultat ?
[qcm]
[option]$2$[/option]
[option correct="true"]$12$[/option]
[option]$22$[/option]
[option]$38$[/option]
[reponse statut="correct"]Bonne réponse !
On suit les étapes : $x^2 = 25$, puis $25 - 3 \times 5 = 25 - 15 = 10$, puis $10 + 2 = 12$.[/reponse]
[reponse motif="$2$"]Non.
Attention, « soustraire $3$ fois le nombre de départ » signifie soustraire $3 \times 5 = 15$, pas soustraire $3$ puis le nombre $5$.
Il faut calculer $25 - 15 + 2$.[/reponse]
[reponse motif="$22$"]Non.
L'erreur vient du calcul de la soustraction. Il faut soustraire $3 \times x = 3 \times 5 = 15$, et non pas seulement $3$.
Le calcul correct est $25 - 15 + 2 = 12$.[/reponse]
[reponse motif="$38$"]Non.
Attention, l'instruction dit « soustraire » et non « ajouter ». Il faut calculer $25 - 15$, pas $25 + 15$.[/reponse]
[reponse statut="incorrect"]Non.
Le calcul étape par étape : $5^2 = 25$, puis $25 - 3 \times 5 = 10$, puis $10 + 2 = 12$.[/reponse]
[/qcm]
[/etape]

[etape]
On exécute l'algorithme suivant :

  • Mettre $\text{nombre}$ à $10$
  • Si $\text{nombre} > 10$ alors afficher « grand »
  • Sinon afficher « petit ou égal »

Quel message est affiché ?
[qcm]
[option]« grand »[/option]
[option correct="true"]« petit ou égal »[/option]
[option]« grand » puis « petit ou égal »[/option]
[option]Aucun message[/option]
[reponse statut="correct"]C'est bien ça !
La condition teste si $10 > 10$, ce qui est faux (car $10$ n'est pas strictement supérieur à $10$). On passe donc dans le « sinon » et le message affiché est « petit ou égal ».[/reponse]
[reponse motif="« grand »"]Non.
Attention à la condition : $10 > 10$ est faux, car $10$ n'est pas strictement supérieur à lui-même. Il faut bien distinguer $>$ (strictement supérieur) de $\geqslant$ (supérieur ou égal).[/reponse]
[reponse motif="« grand » puis « petit ou égal »"]Non.
Dans une instruction conditionnelle « si ... alors ... sinon », on exécute une seule des deux branches, jamais les deux.[/reponse]
[reponse motif="Aucun message"]Non.
L'instruction « si ... alors ... sinon » couvre les deux cas possibles : la condition est soit vraie, soit fausse. Un message sera toujours affiché.[/reponse]
[reponse statut="incorrect"]Non.
La condition $10 > 10$ est fausse, donc on exécute le bloc « sinon » : le message affiché est « petit ou égal ».[/reponse]
[/qcm]
[/etape]

[etape]
On exécute l'algorithme suivant :

  • Mettre $s$ à $0$
  • Répéter $10$ fois : ajouter $2$ à $s$

Quelle est la valeur de $s$ à la fin ?
[qcm]
[option]$2$[/option]
[option]$12$[/option]
[option correct="true"]$20$[/option]
[option]$1024$[/option]
[reponse statut="correct"]Bravo !
La boucle ajoute $2$ à $s$ dix fois : $s = 10 \times 2 = 20$.[/reponse]
[reponse motif="$2$"]Non.
La boucle ne s'exécute pas une seule fois mais dix fois. Chaque passage ajoute $2$, donc après $10$ passages on obtient $10 \times 2$.[/reponse]
[reponse motif="$12$"]Non.
Il ne faut pas additionner $10 + 2$. La boucle ajoute $2$ dix fois, ce qui donne $10 \times 2$.[/reponse]
[reponse motif="$1024$"]Non.
La boucle effectue une addition (pas une multiplication). On ajoute $2$ dix fois : $s = 0 + 2 + 2 + \ldots + 2 = 20$, et non pas $2^{10} = 1024$.[/reponse]
[reponse statut="incorrect"]Non.
La boucle ajoute $2$ à $s$ dix fois en partant de $0$ : $s = 0 + 2 \times 10 = 20$.[/reponse]
[/qcm]
[/etape]

[etape]
On exécute l'algorithme suivant, qui échange les valeurs de deux variables :

  • Mettre $a$ à $3$
  • Mettre $b$ à $5$
  • Mettre $c$ à $a$
  • Mettre $a$ à $b$
  • Mettre $b$ à $c$

Quelles sont les valeurs de $a$ et $b$ à la fin ?
[qcm]
[option]$a = 3$ et $b = 5$[/option]
[option]$a = 5$ et $b = 5$[/option]
[option]$a = 3$ et $b = 3$[/option]
[option correct="true"]$a = 5$ et $b = 3$[/option]
[reponse statut="correct"]Exactement !
On suit pas à pas : $a = 3$, $b = 5$, $c = 3$ (copie de $a$), $a = 5$ (prend la valeur de $b$), $b = 3$ (prend la valeur de $c$, l'ancienne valeur de $a$).
Les valeurs de $a$ et $b$ ont été échangées.[/reponse]
[reponse motif="$a = 3$ et $b = 5$"]Non.
Les valeurs changent au cours de l'algorithme. La variable $c$ sert de mémoire temporaire pour permettre l'échange. Il faut suivre chaque instruction dans l'ordre.[/reponse]
[reponse motif="$a = 5$ et $b = 5$"]Non.
Attention à la dernière instruction : $b$ prend la valeur de $c$, pas celle de $a$. Et $c$ contient l'ancienne valeur de $a$ (stockée à la troisième étape).[/reponse]
[reponse motif="$a = 3$ et $b = 3$"]Non.
La quatrième instruction modifie $a$ : elle prend la valeur de $b$, qui vaut $5$. Il faut bien distinguer les différentes étapes.[/reponse]
[reponse statut="incorrect"]Non.
Cet algorithme échange les valeurs de $a$ et $b$ en utilisant $c$ comme variable temporaire. A la fin, $a = 5$ et $b = 3$.[/reponse]
[/qcm]
[/etape]

[etape]
On exécute l'algorithme suivant :

  • Mettre $n$ à $1$
  • Répéter tant que $n \leqslant 100$ : mettre $n$ à $n \times 3$

Quelle est la valeur de $n$ à la fin ?
[qcm]
[option]$81$[/option]
[option]$100$[/option]
[option correct="true"]$243$[/option]
[option]$300$[/option]
[reponse statut="correct"]Tu as raison !
On multiplie par $3$ tant que $n \leqslant 100$ :
$n = 1$, puis $3$, puis $9$, puis $27$, puis $81$, puis $243$.
Quand $n = 243$, la condition $243 \leqslant 100$ est fausse : la boucle s'arrête.[/reponse]
[reponse motif="$81$"]Non.
Quand $n = 81$, la condition $81 \leqslant 100$ est encore vraie, donc la boucle continue. Il faut effectuer une multiplication de plus : $81 \times 3 = 243$.[/reponse]
[reponse motif="$100$"]Non.
La boucle ne s'arrête pas à exactement $100$. Elle s'arrête quand $n$ dépasse $100$. Comme on multiplie par $3$, les valeurs successives sont $1, 3, 9, 27, 81, 243$.[/reponse]
[reponse motif="$300$"]Non.
On multiplie $n$ par $3$ à chaque tour (pas $100 \times 3$). Les valeurs successives sont $1, 3, 9, 27, 81, 243$.[/reponse]
[reponse statut="incorrect"]Non.
Les valeurs successives de $n$ sont : $1, 3, 9, 27, 81, 243$. La boucle s'arrête quand $n = 243 > 100$.[/reponse]
[/qcm]
[/etape]

QCM : Bases des algorithmes

[enonce]
Ce QCM porte sur les bases des algorithmes : définition, variables et programmes de calcul. Pour chaque question, choisir la bonne réponse parmi les 4 propositions.
[/enonce]

[etape]
Qu'est-ce qu'un algorithme ?
[qcm]
[option]Un logiciel de programmation[/option]
[option]Un programme écrit obligatoirement en Python ou en 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 unique[/option]
[reponse statut="correct"]Exact !
Un algorithme est une méthode systématique composée d'étapes bien définies, exécutées les unes après les autres, pour résoudre un problème.[/reponse]
[reponse motif="Un logiciel de programmation"]Non.
Un algorithme n'est pas un logiciel. C'est une méthode de résolution, qui peut être décrite en français, en pseudo-code ou dans un langage de programmation.[/reponse]
[reponse motif="Un programme écrit obligatoirement en Python ou en Scratch"]Non.
Un algorithme peut être décrit en français (en langage naturel) sans aucun langage de programmation. Le traduire en Scratch ou en Python est une étape supplémentaire, pas une obligation.[/reponse]
[reponse motif="Un calcul mathématique unique"]Non.
Un algorithme n'est pas un simple calcul : c'est une suite d'instructions (il peut y en avoir plusieurs) qui décrit une méthode complète pour résoudre un problème.[/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 un algorithme, une variable $x$ contient la valeur $5$.
On exécute l'instruction : « mettre $x$ à $8$ ».

Quelle est la valeur de $x$ après cette instruction ?
[qcm]
[option]$5$[/option]
[option correct="true"]$8$[/option]
[option]$13$[/option]
[option]$40$[/option]
[reponse statut="correct"]Bonne réponse !
L'instruction « mettre $x$ à $8$ » remplace l'ancienne valeur par $8$. La valeur $5$ est effacée.[/reponse]
[reponse motif="$5$"]Non.
L'instruction « mettre à » remplace l'ancienne valeur. Après « mettre $x$ à $8$ », la variable $x$ ne contient plus $5$.[/reponse]
[reponse motif="$13$"]Non.
Attention, « mettre $x$ à $8$ » ne signifie pas « ajouter $8$ à $x$ ». Cette instruction remplace la valeur actuelle par $8$, elle n'ajoute rien.[/reponse]
[reponse motif="$40$"]Non.
Il ne faut pas confondre « mettre à » avec une multiplication. L'instruction « mettre $x$ à $8$ » remplace simplement la valeur par $8$.[/reponse]
[reponse statut="incorrect"]Non.
L'instruction « mettre $x$ à $8$ » remplace la valeur actuelle de $x$ par $8$, quelle que soit l'ancienne valeur.[/reponse]
[/qcm]
[/etape]

[etape]
On exécute les deux instructions suivantes :

  • Mettre $\text{score}$ à $8$
  • Ajouter $5$ à $\text{score}$

Quelle est la valeur de $\text{score}$ à la fin ?
[qcm]
[option]$5$[/option]
[option]$8$[/option]
[option correct="true"]$13$[/option]
[option]$40$[/option]
[reponse statut="correct"]C'est bien ça !
On donne d'abord la valeur $8$ à $\text{score}$, puis on ajoute $5$ : on obtient $8 + 5 = 13$.[/reponse]
[reponse motif="$5$"]Non.
La première instruction donne la valeur $8$, puis la seconde ajoute $5$. Le résultat n'est pas uniquement la valeur ajoutée.[/reponse]
[reponse motif="$8$"]Non.
La première instruction donne bien la valeur $8$, mais la seconde ajoute $5$ à cette valeur. Il faut tenir compte des deux instructions.[/reponse]
[reponse motif="$40$"]Non.
L'instruction « ajouter $5$ » effectue une addition, pas une multiplication. Il faut calculer $8 + 5$.[/reponse]
[reponse statut="incorrect"]Non.
On exécute les instructions dans l'ordre : $\text{score} = 8$, puis $\text{score} = 8 + 5 = 13$.[/reponse]
[/qcm]
[/etape]

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

  • Choisir le nombre $5$
  • Multiplier par $3$
  • Ajouter $2$

Quel est le résultat ?
[qcm]
[option]$15$[/option]
[option correct="true"]$17$[/option]
[option]$21$[/option]
[option]$11$[/option]
[reponse statut="correct"]Bravo !
On suit les instructions dans l'ordre : $5 \times 3 = 15$, puis $15 + 2 = 17$.[/reponse]
[reponse motif="$15$"]Non.
Le calcul $5 \times 3 = 15$ est correct, mais il reste une étape : il faut encore ajouter $2$ au résultat.[/reponse]
[reponse motif="$21$"]Non.
Attention à l'ordre des opérations. Il faut d'abord multiplier $5 \times 3 = 15$, puis ajouter $2$. Le calcul $(5 + 2) \times 3 = 21$ ne respecte pas l'ordre des instructions.[/reponse]
[reponse motif="$11$"]Non.
Attention, la première opération est une multiplication, pas une addition. Il faut calculer $5 \times 3$ puis ajouter $2$.[/reponse]
[reponse statut="incorrect"]Non.
En suivant l'ordre : $5 \times 3 = 15$, puis $15 + 2 = 17$.[/reponse]
[/qcm]
[/etape]

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

  • Choisir le nombre $10$
  • Soustraire $4$
  • Multiplier par $3$

Quel est le résultat ?
[qcm]
[option correct="true"]$18$[/option]
[option]$26$[/option]
[option]$6$[/option]
[option]$42$[/option]
[reponse statut="correct"]Exactement !
On suit les instructions dans l'ordre : $10 - 4 = 6$, puis $6 \times 3 = 18$.[/reponse]
[reponse motif="$26$"]Non.
Attention à l'ordre des instructions. Il faut d'abord soustraire $4$, puis multiplier par $3$. Le calcul $10 \times 3 - 4 = 26$ inverse les deux opérations.[/reponse]
[reponse motif="$6$"]Non.
Le calcul $10 - 4 = 6$ est correct, mais ce n'est pas le résultat final. Il reste une étape : multiplier par $3$.[/reponse]
[reponse motif="$42$"]Non.
La première opération est « soustraire $4$ », pas « ajouter $4$ ». Le calcul $(10 + 4) \times 3 = 42$ confond les deux opérations.[/reponse]
[reponse statut="incorrect"]Non.
En suivant l'ordre des instructions : $10 - 4 = 6$, puis $6 \times 3 = 18$.[/reponse]
[/qcm]
[/etape]

[etape]
On exécute les instructions suivantes :

  • Mettre $n$ à $0$
  • Ajouter $4$ à $n$
  • Ajouter $4$ à $n$
  • Ajouter $4$ à $n$

Quelle est la valeur de $n$ à la fin ?
[qcm]
[option]$4$[/option]
[option]$8$[/option]
[option correct="true"]$12$[/option]
[option]$64$[/option]
[reponse statut="correct"]Tu as raison !
On part de $n = 0$ et on ajoute $4$ trois fois : $0 + 4 + 4 + 4 = 12$.[/reponse]
[reponse motif="$4$"]Non.
L'instruction « ajouter $4$ » est exécutée trois fois, pas une seule. Chaque instruction s'applique au résultat de la précédente.[/reponse]
[reponse motif="$8$"]Non.
Il y a trois instructions « ajouter $4$ », pas deux. Chaque ajout se fait sur la valeur courante de $n$ : $0 + 4 = 4$, puis $4 + 4 = 8$, puis $8 + 4 = 12$.[/reponse]
[reponse motif="$64$"]Non.
Chaque instruction ajoute $4$ (addition), ce n'est pas une multiplication. Il faut calculer $0 + 4 + 4 + 4$.[/reponse]
[reponse statut="incorrect"]Non.
On exécute chaque instruction dans l'ordre : $n = 0$, puis $n = 4$, puis $n = 8$, puis $n = 12$.[/reponse]
[/qcm]
[/etape]

Vrai/Faux : Lire un programme Scratch

[enonce]
Pour chaque affirmation suivante, lire attentivement le programme Scratch proposé puis indiquer si l'affirmation est Vraie ou Fausse.
[/enonce]

[etape]
On considère le programme Scratch suivant :

Programme Scratch A : affectation et ajout à une variable score

Affirmation : Ce programme affiche 15.
[qcm]
[option correct="true"]Vrai[/option]
[option]Faux[/option]
[reponse statut="correct"]Exact !
La variable score part de 0, on lui ajoute 10 (score = 10), puis 5 (score = 15). Le lutin dit bien 15.[/reponse]
[reponse statut="incorrect"]Non, cette affirmation est vraie.
Il faut suivre les instructions dans l'ordre.
Score = 0, puis on ajoute 10 (score = 10), puis on ajoute 5 (score = 15). Le bloc « dire score » affiche 15.[/reponse]
[/qcm]
[solution]
Cette affirmation est vraie. Score part de 0, plus 10, plus 5 : le lutin affiche 15.
[/solution]
[/etape]

[etape]
On considère le même programme que précédemment, auquel on ajoute un bloc à la fin :

Programme Scratch A modifié : réinitialisation de score à 0 après affichage

Affirmation : A la fin de ce programme, la variable score contient la valeur 15.
[qcm]
[option]Vrai[/option]
[option correct="true"]Faux[/option]
[reponse statut="correct"]Bonne réponse !
Le dernier bloc « mettre score à 0 » remplace la valeur 15 par 0. A la fin du programme, score vaut 0 (même si le lutin a dit 15 juste avant).[/reponse]
[reponse statut="incorrect"]Non, cette affirmation est fausse.
Attention au dernier bloc du programme.
Le lutin dit bien 15, mais le bloc suivant « mettre score à 0 » efface cette valeur. A la fin, score contient 0.[/reponse]
[/qcm]
[solution]
Cette affirmation est fausse. Le dernier bloc remet score à 0 : la variable contient 0 à la fin, même si le lutin a affiché 15.
[/solution]
[/etape]

[etape]
On considère le programme Scratch suivant :

Programme Scratch B : calcul avec deux variables x et y

Affirmation : Ce programme affiche 10.
[qcm]
[option correct="true"]Vrai[/option]
[option]Faux[/option]
[reponse statut="correct"]C'est bien ça !
La variable x vaut 7, puis y prend la valeur $7 + 3 = 10$. Le lutin dit 10.[/reponse]
[reponse statut="incorrect"]Non, cette affirmation est vraie.
Il suffit de suivre les blocs dans l'ordre.
$x = 7$, puis $y = x + 3 = 7 + 3 = 10$. Le bloc « dire y » affiche bien 10.[/reponse]
[/qcm]
[solution]
Cette affirmation est vraie. Avec $x = 7$, on obtient $y = 7 + 3 = 10$.
[/solution]
[/etape]

[etape]
On considère toujours le programme précédent.

Affirmation : Si on échange les deux blocs « mettre » (en mettant d'abord $y$ puis $x$), le programme affiche le même résultat.
[qcm]
[option]Vrai[/option]
[option correct="true"]Faux[/option]
[reponse statut="correct"]Correct !
Si on met d'abord « mettre y à x + 3 » avant « mettre x à 7 », la variable x n'a pas encore reçu la valeur 7 au moment du calcul de y. Le résultat serait différent (il dépendrait de l'ancienne valeur de x).[/reponse]
[reponse statut="incorrect"]Non, cette affirmation est fausse.
L'ordre des instructions est important.
Le calcul de $y$ utilise la valeur de $x$. Si on définit $y$ avant $x$, la variable $x$ n'a pas encore sa valeur 7, et le résultat de $y = x + 3$ sera différent.[/reponse]
[/qcm]
[solution]
Cette affirmation est fausse. Inverser les deux blocs change le résultat car $y$ dépend de la valeur de $x$, qui doit être définie avant.
[/solution]
[/etape]

[etape]
On considère le programme Scratch suivant :

Programme Scratch C : trois variables avec dépendances

Affirmation : A la fin de ce programme, la variable $a$ vaut 4.
[qcm]
[option]Vrai[/option]
[option correct="true"]Faux[/option]
[reponse statut="correct"]Bravo !
La variable $a$ est modifiée par la troisième instruction : $a = 4$, puis $b = 4 \times 2 = 8$, puis $a = 8 + 1 = 9$. A la fin, $a$ vaut 9.[/reponse]
[reponse statut="incorrect"]Non, cette affirmation est fausse.
Le piège est de croire que $a$ garde sa valeur initiale.
Le troisième bloc « mettre a à b + 1 » remplace l'ancienne valeur de $a$.
Exécution : $a = 4$, $b = 8$, puis $a = 8 + 1 = 9$.[/reponse]
[/qcm]
[solution]
Cette affirmation est fausse. Le troisième bloc modifie $a$ : $b = 4 \times 2 = 8$, puis $a = 8 + 1 = 9$.
[/solution]
[/etape]

[etape]
On considère toujours le programme précédent.

Affirmation : A la fin de ce programme, la variable $b$ vaut 8.
[qcm]
[option correct="true"]Vrai[/option]
[option]Faux[/option]
[reponse statut="correct"]Exactement !
La variable $b$ prend la valeur $a \times 2 = 4 \times 2 = 8$ et n'est plus modifiée ensuite.[/reponse]
[reponse statut="incorrect"]Non, cette affirmation est vraie.
Rappel : une variable ne change que si un bloc la modifie explicitement.
$b = a \times 2 = 4 \times 2 = 8$. Le troisième bloc modifie $a$, mais pas $b$. La variable $b$ reste à 8.[/reponse]
[/qcm]
[solution]
Cette affirmation est vraie. $b = 4 \times 2 = 8$, et aucun bloc ne la modifie ensuite.
[/solution]
[/etape]

Vrai/Faux : Raisonner sur un algorithme

[enonce]
Pour chaque affirmation suivante, exécuter mentalement l'algorithme proposé puis indiquer si l'affirmation est Vraie ou Fausse.
[/enonce]

[etape]
On considère l'algorithme suivant :

  • Mettre $a$ à 3
  • Mettre $b$ à $a + 2$
  • Mettre $a$ à $a + b$

Affirmation : A la fin de cet algorithme, la variable $a$ vaut 5.
[qcm]
[option]Vrai[/option]
[option correct="true"]Faux[/option]
[reponse statut="correct"]Correct !
Suivons l'exécution pas à pas :
$a = 3$, puis $b = 3 + 2 = 5$, puis $a = 3 + 5 = 8$.
A la fin, $a$ vaut 8 (et non 5).[/reponse]
[reponse statut="incorrect"]Non, cette affirmation est fausse.
La troisième instruction modifie la variable $a$.
Exécution : $a = 3$, $b = 3 + 2 = 5$, puis $a = 3 + 5 = 8$.
La valeur 5, c'est celle de $b$, pas de $a$ à la fin.[/reponse]
[/qcm]
[solution]
Cette affirmation est fausse. Après exécution : $a = 3$, $b = 5$, $a = 3 + 5 = 8$. La variable $a$ vaut 8.
[/solution]
[/etape]

[etape]
On considère l'algorithme suivant :

  • Mettre $s$ à 0
  • Répéter 4 fois : ajouter 3 à $s$

Affirmation : A la fin de cet algorithme, la variable $s$ vaut 12.
[qcm]
[option correct="true"]Vrai[/option]
[option]Faux[/option]
[reponse statut="correct"]Bonne réponse !
La boucle ajoute 3 à $s$ quatre fois : $s = 0$, puis $3$, $6$, $9$, $12$.[/reponse]
[reponse statut="incorrect"]Non, cette affirmation est vraie.
Il suffit de dérouler la boucle.
La variable $s$ part de 0 et on lui ajoute 3 quatre fois : $0 + 3 + 3 + 3 + 3 = 12$.[/reponse]
[/qcm]
[solution]
Cette affirmation est vraie. La boucle ajoute 3 quatre fois à $s = 0$, donc $s = 4 \times 3 = 12$.
[/solution]
[/etape]

[etape]
On considère l'algorithme suivant :

  • Demander un nombre $n$
  • Si $n < 14$ alors afficher « tarif réduit »
  • Sinon afficher « tarif plein »

Affirmation : Si l'utilisateur entre le nombre 14, l'algorithme affiche « tarif réduit ».
[qcm]
[option]Vrai[/option]
[option correct="true"]Faux[/option]
[reponse statut="correct"]C'est bien ça !
La condition est $n < 14$ (strictement inférieur). Or $14$ n'est pas strictement inférieur à $14$, donc c'est le « sinon » qui s'exécute : l'algorithme affiche « tarif plein ».[/reponse]
[reponse statut="incorrect"]Non, cette affirmation est fausse.
Le piège ici est la différence entre « inférieur strict » et « inférieur ou égal ».
La condition teste $n < 14$. Comme $14$ n'est pas strictement inférieur à $14$, la condition est fausse et l'algorithme passe au « sinon » : il affiche « tarif plein ».[/reponse]
[/qcm]
[solution]
Cette affirmation est fausse. La condition $14 < 14$ est fausse, donc l'algorithme affiche « tarif plein ».
[/solution]
[/etape]

[etape]
On considère l'algorithme suivant :

  • Mettre $a$ à 2
  • Répéter 3 fois : mettre $a$ à $a \times 2$

Affirmation : A la fin de cet algorithme, la variable $a$ vaut 16.
[qcm]
[option correct="true"]Vrai[/option]
[option]Faux[/option]
[reponse statut="correct"]Bravo !
On double $a$ trois fois : $a = 2$, puis $4$, $8$, $16$.[/reponse]
[reponse statut="incorrect"]Non, cette affirmation est vraie.
Il faut dérouler la boucle pas à pas.
Départ : $a = 2$.
Tour 1 : $a = 2 \times 2 = 4$.
Tour 2 : $a = 4 \times 2 = 8$.
Tour 3 : $a = 8 \times 2 = 16$.
La variable $a$ vaut bien 16.[/reponse]
[/qcm]
[solution]
Cette affirmation est vraie. En doublant 3 fois : $a = 2$, puis $4$, $8$, $16$.
[/solution]
[/etape]

[etape]
On considère l'algorithme suivant :

  • Mettre $n$ à 1
  • Tant que $n < 20$ : ajouter 5 à $n$

Affirmation : La boucle s'exécute 3 fois.
[qcm]
[option]Vrai[/option]
[option correct="true"]Faux[/option]
[reponse statut="correct"]Exact !
Déroulons la boucle :
$n = 1$ (1 < 20, on ajoute 5) : $n = 6$
$n = 6$ (6 < 20, on ajoute 5) : $n = 11$
$n = 11$ (11 < 20, on ajoute 5) : $n = 16$
$n = 16$ (16 < 20, on ajoute 5) : $n = 21$
$n = 21$ (21 < 20 est faux, on s'arrête).
La boucle s'exécute 4 fois, pas 3.[/reponse]
[reponse statut="incorrect"]Non, cette affirmation est fausse.
Attention, il faut vérifier la condition à chaque tour.
$n = 1, 6, 11, 16$ : à chaque étape, $n < 20$ est vrai, donc on continue. Après le 4e tour, $n = 21$ et la condition est fausse.
La boucle s'exécute bien 4 fois.[/reponse]
[/qcm]
[solution]
Cette affirmation est fausse. La boucle s'exécute 4 fois : $n$ passe par $1, 6, 11, 16, 21$ et s'arrête quand $n = 21$.
[/solution]
[/etape]

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

  • Choisir un nombre
  • Ajouter 4
  • Multiplier le résultat par 3
  • Soustraire 12

Affirmation : Ce programme de calcul donne toujours le triple du nombre de départ.
[qcm]
[option correct="true"]Vrai[/option]
[option]Faux[/option]
[reponse statut="correct"]Tu as raison !
En appelant $x$ le nombre de départ : $(x + 4) \times 3 - 12 = 3x + 12 - 12 = 3x$.
Le résultat est bien toujours le triple du nombre de départ.[/reponse]
[reponse statut="incorrect"]Non, cette affirmation est vraie.
Pour le vérifier, on peut utiliser le calcul littéral.
En appelant $x$ le nombre de départ : $(x + 4) \times 3 - 12 = 3x + 12 - 12 = 3x$.
On peut aussi tester avec $x = 5$ : $5 + 4 = 9$, $9 \times 3 = 27$, $27 - 12 = 15 = 3 \times 5$.[/reponse]
[/qcm]
[solution]
Cette affirmation est vraie. En développant : $(x + 4) \times 3 - 12 = 3x + 12 - 12 = 3x$, le résultat est toujours le triple du nombre de départ.
[/solution]
[/etape]

Vrai/Faux : Notions d’algorithme

[enonce]
Pour chaque affirmation suivante sur les 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 la définition d'un algorithme : une méthode systématique composée d'étapes bien définies, exécutées les unes après les autres.[/reponse]
[reponse statut="incorrect"]Non, cette affirmation est vraie.
Un algorithme est bien une suite finie d'instructions, dans un ordre précis, qui permet de résoudre un problème ou d'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 pour résoudre un problème.
[/solution]
[/etape]

[etape]
Affirmation : Un algorithme doit obligatoirement être écrit dans un langage de programmation comme Scratch ou Python.
[qcm]
[option]Vrai[/option]
[option correct="true"]Faux[/option]
[reponse statut="correct"]Bonne réponse !
Un algorithme peut être décrit en français (on parle de « pseudo-code » ou de description en langage naturel).
Le traduire dans un langage de programmation est une étape supplémentaire, pas une obligation.[/reponse]
[reponse statut="incorrect"]Non, cette affirmation est fausse.
Il ne faut pas confondre algorithme et programme.
Un algorithme peut être écrit en français, sous forme de liste d'instructions. Le traduire en Scratch ou en Python donne un programme, mais l'algorithme existe indépendamment du langage utilisé.[/reponse]
[/qcm]
[solution]
Cette affirmation est fausse. Un algorithme peut être décrit en français (en pseudo-code). Le traduire dans un langage de programmation est facultatif.
[/solution]
[/etape]

[etape]
Affirmation : Une variable est un espace mémoire qui porte un nom et qui peut stocker une valeur (nombre ou texte).
[qcm]
[option correct="true"]Vrai[/option]
[option]Faux[/option]
[reponse statut="correct"]C'est bien ça !
Une variable fonctionne comme une boite étiquetée : elle a un nom (l'étiquette) et contient une valeur que l'on peut lire ou modifier.[/reponse]
[reponse statut="incorrect"]Non, cette affirmation est vraie.
Rappel : une variable est un espace mémoire identifié par un nom.
On peut y stocker un nombre, un texte, ou tout autre type de donnée.[/reponse]
[/qcm]
[solution]
Cette affirmation est vraie. Une variable est un espace mémoire nommé qui stocke une valeur (nombre ou texte).
[/solution]
[/etape]

[etape]
Affirmation : L'instruction « mettre score à 5 » ajoute 5 à la valeur actuelle de la variable score.
[qcm]
[option]Vrai[/option]
[option correct="true"]Faux[/option]
[reponse statut="correct"]Correct !
L'instruction « mettre score à 5 » remplace la valeur actuelle par 5, quelle que soit l'ancienne valeur.
Pour ajouter 5, il faudrait utiliser « ajouter 5 à score ».[/reponse]
[reponse statut="incorrect"]Non, cette affirmation est fausse.
Attention, « mettre à » et « ajouter à » sont deux instructions différentes.
« Mettre score à 5 » remplace l'ancienne valeur par 5 (l'ancienne valeur est effacée). Pour ajouter 5 à la valeur actuelle, on utilise « ajouter 5 à score ».[/reponse]
[/qcm]
[solution]
Cette affirmation est fausse. « Mettre score à 5 » remplace la valeur par 5. Pour ajouter 5, il faut utiliser « ajouter 5 à score ».
[/solution]
[/etape]

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

  • Choisir le nombre 7
  • Multiplier par 2
  • Ajouter 3

Affirmation : Le résultat de ce programme de calcul est 17.
[qcm]
[option correct="true"]Vrai[/option]
[option]Faux[/option]
[reponse statut="correct"]Bravo !
On applique les instructions dans l'ordre : $7 \times 2 = 14$, puis $14 + 3 = 17$.[/reponse]
[reponse statut="incorrect"]Non, cette affirmation est vraie.
Il suffit de suivre les instructions dans l'ordre :
$7 \times 2 = 14$
$14 + 3 = 17$
Le résultat est bien 17.[/reponse]
[/qcm]
[solution]
Cette affirmation est vraie. En appliquant les instructions : $7 \times 2 = 14$, puis $14 + 3 = 17$.
[/solution]
[/etape]

[etape]
Affirmation : L'ordre des instructions dans un algorithme n'a pas d'importance : on obtient toujours le même résultat.
[qcm]
[option]Vrai[/option]
[option correct="true"]Faux[/option]
[reponse statut="correct"]Exactement !
L'ordre est essentiel. Par exemple, « multiplier par 2 puis ajouter 3 » donne un résultat différent de « ajouter 3 puis multiplier par 2 ».[/reponse]
[reponse statut="incorrect"]Non, cette affirmation est fausse.
L'ordre des instructions change le résultat.
Par exemple, en partant de 5 : « multiplier par 2 puis ajouter 3 » donne $5 \times 2 + 3 = 13$, tandis que « ajouter 3 puis multiplier par 2 » donne $(5 + 3) \times 2 = 16$.[/reponse]
[/qcm]
[solution]
Cette affirmation est fausse. L'ordre des instructions est fondamental : changer l'ordre modifie le résultat.
[/solution]
[/etape]

Triangles équilatéraux et variable – Brevet Amérique du Sud 2025

Dans cet exercice, aucune justification n'est attendue

Une élève utilise un logiciel de programmation pour réaliser des dessins à partir d'un triangle équilatéral. Elle crée le bloc « triangle » ci-contre.

Bloc triangle : définir triangle, stylo en position d'écriture, répéter ... fois, avancer de côté pas, tourner droite de ... degrés
  1. Sur la copie, recopier et compléter les lignes 3 et 5 du bloc « triangle » afin qu'il dessine un triangle équilatéral.

    Elle utilise maintenant le bloc « triangle » pour l'intégrer dans différents programmes.

  2. Associer chaque programme au dessin qu'il permet de réaliser.
    On indiquera sur la copie le numéro du dessin et la lettre du programme associé.

    Programme A : quand drapeau cliqué, s'orienter à 90, mettre côté à 20, répéter 4 fois triangle tourner droite de 90 degrés
    Programme B : quand drapeau cliqué, s'orienter à 90, mettre côté à 20, répéter 4 fois triangle avancer de côté pas

    On rappelle que l'instruction

    s'orienter à 90 degrés

    permet de s'orienter vers la droite.

    Dessin 1 : 4 triangles alignés côte à côte, séparés. Dessin 2 : étoile à 4 branches formée de triangles orientés dans les 4 directions. Dessin 3 : 4 triangles accolés en frise.
  3. On s'intéresse maintenant au programme ci-dessous. En prenant 1 cm pour 10 pas, construire sur la copie le dessin obtenu lorsque le programme s'exécute.

    Programme : quand drapeau cliqué, s'orienter à 90, mettre côté à 20, répéter 4 fois triangle mettre côté à côté fois 2

Corrigé

  1. Un triangle équilatéral a 3 côtés, donc la boucle se répète 3 fois (ligne 3).

    L'angle extérieur d'un triangle équilatéral vaut $ 120° $, donc le lutin tourne de 120 degrés (ligne 5).

    Le bloc complété :

    Bloc triangle complété : répéter 3 fois, avancer de côté pas, tourner droite de 120 degrés
  2. Analysons chaque programme :

    Programme A : le lutin trace un triangle, puis tourne de $ 90° $ à droite, trace un nouveau triangle orienté différemment, et ainsi de suite 4 fois. Les 4 triangles sont tracés depuis le même point de départ avec des orientations à $ 90° $ l'une de l'autre. Cela forme une étoile à 4 branches.
    Le programme A correspond au dessin 2.

    Programme B : le lutin trace un triangle, puis avance de « côté » pas (soit 20 pas) vers la droite, trace un nouveau triangle, avance encore, etc. Les 4 triangles sont alignés côte à côte, mais séparés d'un espace car le lutin avance d'un côté entier après chaque triangle. Comme le bloc « triangle » ramène le lutin au point de départ du triangle (car $ 3 \times 120° = 360° $), l'avance de 20 pas décale le départ du triangle suivant.
    Le programme B correspond au dessin 1.

  3. Le programme trace 4 triangles équilatéraux depuis le même point de départ (le lutin revient à sa position initiale après chaque triangle). A chaque itération, la variable « côté » est multipliée par 2 :

    • 1er triangle : côté = 20 pas, soit 2 cm
    • 2e triangle : côté = $ 20 \times 2 = 40 $ pas, soit 4 cm
    • 3e triangle : côté = $ 40 \times 2 = 80 $ pas, soit 8 cm
    • 4e triangle : côté = $ 80 \times 2 = 160 $ pas, soit 16 cm

    On obtient 4 triangles équilatéraux imbriqués, tous partant du même sommet, de côtés 2 cm, 4 cm, 8 cm et 16 cm.

    4 triangles équilatéraux imbriqués de côtés 2, 4, 8 et 16 cm, partant du même sommet en bas à gauche