Traduire un programme de calcul en Scratch

On considère le programme de calcul suivant :

  • Choisir un nombre.
  • Ajouter $ 5 $ au nombre choisi.
  • Multiplier le résultat par $ 3 $.
  • Soustraire $ 2 $ au résultat précédent.
  • Annoncer le résultat final.
  1. Calculer le résultat obtenu lorsqu'on choisit le nombre $ 4 $.
  2. Calculer le résultat obtenu lorsqu'on choisit le nombre $ -1 $.
  3. Le programme Scratch ci-dessous traduit ce programme de calcul. Recopier et compléter les deux blocs notés « ... » :

    Programme Scratch à compléter pour traduire le programme de calcul
  4. Vérifier que le programme Scratch complété affiche bien les résultats trouvés aux questions 1 et 2.

Corrigé

  1. On suit les instructions, dans l'ordre, en partant du nombre $ 4 $ :
    $ 4 + 5 = 9 $
    $ 9 \times 3 = 27 $
    $ 27 - 2 = 25 $

    Le résultat final est $\mathbf{25}$.

  2. On reprend la même démarche avec le nombre $ -1 $ :
    $ -1 + 5 = 4 $
    $ 4 \times 3 = 12 $
    $ 12 - 2 = 10 $

    Le résultat final est $\mathbf{10}$.

  3. Pour respecter le programme de calcul, on multiplie par $ 3 $ puis on soustrait $ 2 $. Le programme complété s'écrit donc :

    Programme Scratch complété qui multiplie par 3 puis soustrait 2
  4. On suit la valeur de la variable resultat pour le nombre $ 4 $ :

    • après le bloc « mettre resultat à réponse » : $ 4 $ ;
    • après « ajouter $ 5 $ à resultat » : $ 4 + 5 = 9 $ ;
    • après « mettre resultat à resultat $ \times 3 $ » : $ 9 \times 3 = 27 $ ;
    • après « mettre resultat à resultat $ - 2 $ » : $ 27 - 2 = 25 $.

    Le lutin affiche $ 25 $, ce qui correspond bien au résultat de la question 1. De même, pour le nombre $ -1 $, le lutin affiche $ 10 $.

Pour réviser : Traduire un programme de calcul en Scratch

QCM : Programmes de calcul traduits en Scratch

[enonce]
Ce QCM porte sur la traduction d'un programme de calcul en programme Scratch. Pour chaque question, choisir la bonne réponse parmi les 4 propositions.
[/enonce]

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

  • Choisir un nombre.
  • Ajouter $4$ au nombre.
  • Multiplier le résultat par $3$.
  • Annoncer le résultat.

Pour le nombre de départ $5$, quel est le résultat final ?
[qcm]
[option]$15$[/option]
[option]$19$[/option]
[option correct="true"]$27$[/option]
[option]$24$[/option]
[reponse statut="correct"]Bonne réponse !
On suit les étapes : $5 + 4 = 9$, puis $9 \times 3 = 27$. Le résultat final est $27$.[/reponse]
[reponse motif="$15$"]Non.
Le calcul $5 \times 3$ ne correspond pas au programme. Il manque l'étape « ajouter $4$ ».[/reponse]
[reponse motif="$19$"]Non.
Attention à l'ordre des opérations : on additionne $4$, puis on multiplie par $3$. La multiplication ne porte pas seulement sur le $4$.[/reponse]
[reponse motif="$24$"]Non.
Le calcul $4 \times 3 + ...$ n'est pas correct. Le programme de calcul ajoute d'abord $4$ au nombre choisi, puis multiplie le tout par $3$.[/reponse]
[reponse statut="incorrect"]Non.
On applique les étapes dans l'ordre : $5 + 4 = 9$, puis $9 \times 3 = 27$.[/reponse]
[/qcm]
[/etape]

[etape]
On veut traduire en Scratch le programme de calcul : « Choisir un nombre. Multiplier par $7$. Annoncer le résultat. »

Quelle est la première instruction Scratch à utiliser pour récupérer le nombre saisi par l'utilisateur ?
[qcm]
[option]dire « Choisis un nombre »[/option]
[option correct="true"]demander « Choisis un nombre » et attendre[/option]
[option]mettre nombre à $0$[/option]
[option]ajouter nombre à $0$[/option]
[reponse statut="correct"]Exact !
Le bloc « demander ... et attendre » (menu Capteurs) affiche la question, attend la saisie de l'utilisateur, et range cette saisie dans la variable spéciale « réponse ».[/reponse]
[reponse motif="dire « Choisis un nombre »"]Non.
Le bloc « dire » affiche un message dans une bulle au-dessus du lutin, mais il ne récupère aucune saisie de l'utilisateur.[/reponse]
[reponse motif="mettre nombre à $0$"]Non.
Cette instruction donne à la variable la valeur $0$, mais elle ne permet pas à l'utilisateur de choisir le nombre.[/reponse]
[reponse motif="ajouter nombre à $0$"]Non.
Cette instruction n'a pas de sens : on ne sait pas d'où viendrait le nombre à ajouter. Il faut d'abord récupérer la saisie de l'utilisateur.[/reponse]
[reponse statut="incorrect"]Non.
C'est le bloc « demander ... et attendre » qui pose la question et attend la réponse de l'utilisateur.[/reponse]
[/qcm]
[/etape]

[etape]
Le programme Scratch suivant traduit un programme de calcul :

Programme Scratch : demander, mettre n à réponse, ajouter 6, multiplier par 2, dire

Si l'utilisateur saisit $4$, qu'affiche le lutin ?
[qcm]
[option]$10$[/option]
[option]$14$[/option]
[option correct="true"]$20$[/option]
[option]$48$[/option]
[reponse statut="correct"]Bravo !
On suit le programme : $n$ reçoit $4$, puis $n = 4 + 6 = 10$, puis $n = 10 \times 2 = 20$. Le lutin affiche $20$.[/reponse]
[reponse motif="$10$"]Non.
La quatrième instruction modifie encore $n$ avant l'affichage. Il faut prendre en compte la multiplication par $2$.[/reponse]
[reponse motif="$14$"]Non.
La dernière instruction n'ajoute pas $4$ : elle multiplie par $2$. Refaire le calcul avec une multiplication.[/reponse]
[reponse motif="$48$"]Non.
Le calcul $4 \times (6 + 2) \times ... $ ne correspond pas. Il faut suivre les instructions une par une, dans l'ordre.[/reponse]
[reponse statut="incorrect"]Non.
On déroule pas à pas : $n = 4$, puis $n = 10$, puis $n = 20$. Le lutin dit $20$.[/reponse]
[/qcm]
[/etape]

[etape]
Le programme Scratch ci-dessus correspond à quel programme de calcul ?
[qcm]
[option]Choisir un nombre, multiplier par $6$, ajouter $2$.[/option]
[option correct="true"]Choisir un nombre, ajouter $6$, multiplier par $2$.[/option]
[option]Choisir un nombre, ajouter $2$, multiplier par $6$.[/option]
[option]Choisir un nombre, multiplier par $2$, ajouter $6$.[/option]
[reponse statut="correct"]Tu as raison !
On retrouve, dans l'ordre des blocs : « ajouter $6$ » puis « multiplier par $2$ ». Le programme de calcul correspondant est : choisir un nombre, ajouter $6$, multiplier par $2$.[/reponse]
[reponse motif="Choisir un nombre, multiplier par $6$, ajouter $2$."]Non.
L'ordre des opérations est inversé. Lire les blocs Scratch de haut en bas et regarder dans quel ordre $n$ est modifiée.[/reponse]
[reponse motif="Choisir un nombre, ajouter $2$, multiplier par $6$."]Non.
Les nombres ont été permutés. Vérifier les valeurs $6$ et $2$ qui apparaissent dans les blocs.[/reponse]
[reponse motif="Choisir un nombre, multiplier par $2$, ajouter $6$."]Non.
L'ordre est inversé : le bloc « ajouter $6$ » apparaît avant le bloc « multiplier par $2$ » dans le programme.[/reponse]
[reponse statut="incorrect"]Non.
Les blocs s'exécutent de haut en bas : on ajoute $6$ d'abord, puis on multiplie par $2$.[/reponse]
[/qcm]
[/etape]

[etape]
Pour traduire le programme de calcul « Choisir un nombre, ajouter $7$, puis multiplier le résultat par $4$ », laquelle des séquences ci-dessous, après la saisie, est correcte ?

(On note $r$ la variable utilisée par le programme.)
[qcm]
[option]ajouter $7$ à $r$ ; ajouter $4$ à $r$.[/option]
[option correct="true"]ajouter $7$ à $r$ ; mettre $r$ à $r \times 4$.[/option]
[option]mettre $r$ à $r \times 4$ ; ajouter $7$ à $r$.[/option]
[option]mettre $r$ à $7$ ; mettre $r$ à $r \times 4$.[/option]
[reponse statut="correct"]C'est bien ça !
On respecte l'ordre du programme de calcul : d'abord on ajoute $7$, puis on remplace $r$ par $r \times 4$. Pour multiplier par un nombre, il faut utiliser « mettre $r$ à $r \times 4$ » car le bloc « ajouter à » ne fait qu'additionner.[/reponse]
[reponse motif="ajouter $7$ à $r$ ; ajouter $4$ à $r$."]Non.
La deuxième étape demande de multiplier par $4$, pas d'ajouter $4$. Le bloc « ajouter à » ne convient pas.[/reponse]
[reponse motif="mettre $r$ à $r \times 4$ ; ajouter $7$ à $r$."]Non.
L'ordre des opérations est inversé. Le programme de calcul demande d'ajouter $7$ avant de multiplier par $4$.[/reponse]
[reponse motif="mettre $r$ à $7$ ; mettre $r$ à $r \times 4$."]Non.
La première instruction écrase la valeur de $r$ par $7$ et fait perdre le nombre choisi. Pour ajouter $7$ sans effacer la valeur, il faut « ajouter $7$ à $r$ ».[/reponse]
[reponse statut="incorrect"]Non.
La bonne séquence est « ajouter $7$ à $r$ » suivie de « mettre $r$ à $r \times 4$ », dans cet ordre.[/reponse]
[/qcm]
[/etape]

[etape]
Pour le programme de calcul « Choisir un nombre, soustraire $3$, multiplier le résultat par $5$, annoncer le résultat », vérification : si l'on choisit $8$, quel résultat le programme Scratch correspondant doit-il afficher ?
[qcm]
[option]$13$[/option]
[option]$37$[/option]
[option correct="true"]$25$[/option]
[option]$40$[/option]
[reponse statut="correct"]Excellent !
On applique les étapes : $8 - 3 = 5$, puis $5 \times 5 = 25$. Le programme doit afficher $25$.[/reponse]
[reponse motif="$13$"]Non.
Le calcul $8 + 5 = 13$ ne correspond pas au programme : il y a une soustraction et une multiplication, pas une addition.[/reponse]
[reponse motif="$37$"]Non.
Le calcul $8 \times 5 - 3 = 37$ ne respecte pas l'ordre des étapes. Le programme demande de soustraire $3$ avant de multiplier.[/reponse]
[reponse motif="$40$"]Non.
Le calcul $8 \times 5 = 40$ ignore la soustraction de $3$. Toutes les étapes du programme doivent être appliquées.[/reponse]
[reponse statut="incorrect"]Non.
On suit les étapes dans l'ordre : $8 - 3 = 5$, puis $5 \times 5 = 25$.[/reponse]
[/qcm]
[/etape]