Exercice 3 — Une variable dans une boucle
Un script Scratch contient les instructions suivantes : mettre x à 5, puis répéter 3 fois le bloc « mettre x à (x × 2 + 1) », puis dire x. Quelle valeur est affichée à la fin ? Quelle valeur faudrait-il donner à x au départ pour que le script affiche 7 ?
Voir la correction
On suit l'évolution de la variable x à chaque passage dans la boucle, en partant de x = 5.
Premier passage : x = 5 × 2 + 1 = 11. Deuxième passage : x = 11 × 2 + 1 = 23. Troisième passage : x = 23 × 2 + 1 = 47.
Le script affiche donc 47.
Pour la seconde question, on remonte la boucle à l'envers en inversant chaque étape (retrancher 1, puis diviser par 2) : avant le troisième passage x valait 7 − 12 = 3, avant le deuxième 3 − 12 = 1, et avant le premier 1 − 12 = 0.
Il faudrait donc partir de x = 0 : en effet 0 → 1 → 3 → 7.