Sujet DNB Pro 2017 Polynésie septembre exercice 5.
Question 1)
Au départ le chat a pour coordonnées -200 et 0 comme l'indique l'instruction d'initialisation
aller à x: -200 y: 0
.Question 2)
Le lutin est orienté vers la droite comme l'indique l'instruction d'initialisation
s'orienter à 90
.Le groupe A le faisant simplement avancer, ne peut donc le conduire qu'à la poubelle verte, et l'instruction conditionnelle est donc à compléter avec le mot verre.
Le groupe B conduit le lutin à la poubelle jaune. Son instruction conditionnelle est donc à compléter avec le mot plastique.
Le groupe C conduit le lutin à la poubelle bleue. Son instruction conditionnelle est donc à compléter avec le mot carton.
Vérifions en codant le programme sur calculatrice. Quelques adaptations sont à faire.
La fenêtre de la calculatrice diffère de la fenêtre Scratch:
Nous avons donc environ 2,5 fois moins horizontalement et 7,7 fois moins verticalement.
http://wes.casio.com/math/index.php?q=I ... 03F901F902
La calculatrice confirme alors bien que lorsque l'on saisit 1, 2 ou 3, le lutin va respectivement dans le vert, jaune ou bleu :
La fenêtre de la calculatrice diffère de la fenêtre Scratch:
calculatrice | Scratch | |
abscisses | de -95 à +96 (191 de largeur) | de -240 à +240 (480 de largeur) |
ordonnées | de -23 à +23 (46 de hauteur) | de -180 à +180 (360 de hauteur) |
Nous avons donc environ 2,5 fois moins horizontalement et 7,7 fois moins verticalement.
- L'instruction
aller à x: -200 y: 0
a donc pour but de positionner le lutin à gauche. Remplaçons-la paraller à x: -95 y: 0
. - L'instruction
s'orienter à 90
a pour but d'orienter le lutin vers la droite. Sur calculatrice c'est à remplacer pars'orienter à 0
. - Pour que la figure soit affichée, il faut lui appliquer un facteur de réduction qui pourra aller de 1 jusqu'à 7,7. Je propose de rajouter une première ligne au script en affectant ce facteur à la variable M, par exemple 1,5. Pour toutes les instructions avancer, il suffira alors de systématiquement diviser les paramètres par M. Si malgré cela l'affichage déborde toujours de l'écran, il suffira juste de modifier la seule première ligne du script en augmentant progressivement le facteur : 2 puis 2,5 et ainsi de suite.
- L'instruction tourner de la calculatrice ne gère que les rotations anti-horaires. Pour les rotations horaires, on peut lui spécifier l'opposé de la valeur du paramètre.
- On ne peut pas saisir carton, verre et plastique sur la calculatrice, mais remplaçons-les respectivement par 1, 2 et 3.
- Code: Tout sélectionner
4,5→M
?→D
Stylo écrit
Si D=1 Alors
Avancer de 350÷M pixels
Fin
Si D=2 Alors
Avancer de 250÷M pixels
Tourner de ↺ - 90degrés
Avancer de 100÷M pixels
Tourner de ↺ 90 degrés
Avancer de 100÷M pixels
Fin
Si D=3 Alors
Avancer de 250÷M pixels
Tourner de ↺ 90 degrés
Avancer de 100÷M pixels
Tourner de ↺ -90 degrés
Avancer de 100÷M pixels
Fin
http://wes.casio.com/math/index.php?q=I ... 03F901F902
La calculatrice confirme alors bien que lorsque l'on saisit 1, 2 ou 3, le lutin va respectivement dans le vert, jaune ou bleu :
Question 3)
Les instructions
aller à x: -200 y: 0
et demander ...
précèdent ici la boucle. Il s'en suit deux défauts :- après une première itération de la boucle le conduisant à une des poubelles, le lutin ne va pas revenir à sa position initiale mais va continuer au-delà des poubelles
- après la première itération de la boucle, le programme ne redemandera pas quel est le nouvel objet, et traitera donc finalement 5 fois le même objet
répéter 5 fois
est à placer avant ces deux instructions.On peut coder le programme sur calculatrice pour confirmer qu'il ne fonctionne pas correctement :
http://wes.casio.com/math/index.php?q=I ... 03F901F902
La calculatrice confirme bien que ça ne va pas :
Et enfin pour vérifier notre justification, il suffit d'effectuer la correction et de constater que le programme fonctionne maintenant correctement :
http://wes.casio.com/math/index.php?q=I ... 03F901F902
- Code: Tout sélectionner
22→M
S'orienter à 0 dégrés
Aller à x=-95 ; y=0
?→D
Stylo écrit
Répéter 5
Si D=1 Alors
Avancer de 350÷M pixels
Fin
Si D=2 Alors
Avancer de 250÷M pixels
Tourner de ↺ - 90degrés
Avancer de 100÷M pixels
Tourner de ↺ 90 degrés
Avancer de 100÷M pixels
Fin
Si D=3 Alors
Avancer de 250÷M pixels
Tourner de ↺ 90 degrés
Avancer de 100÷M pixels
Tourner de ↺ -90 degrés
Avancer de 100÷M pixels
Fin
⤴
http://wes.casio.com/math/index.php?q=I ... 03F901F902
La calculatrice confirme bien que ça ne va pas :
Et enfin pour vérifier notre justification, il suffit d'effectuer la correction et de constater que le programme fonctionne maintenant correctement :
- Code: Tout sélectionner
4,5→M
S'orienter à 0 dégrés
Répéter 5
Aller à x=-95 ; y=0
?→D
Stylo écrit
Si D=1 Alors
Avancer de 350÷M pixels
Fin
Si D=2 Alors
Avancer de 250÷M pixels
Tourner de ↺ - 90degrés
Avancer de 100÷M pixels
Tourner de ↺ 90 degrés
Avancer de 100÷M pixels
Fin
Si D=3 Alors
Avancer de 250÷M pixels
Tourner de ↺ 90 degrés
Avancer de 100÷M pixels
Tourner de ↺ -90 degrés
Avancer de 100÷M pixels
Fin
Stylo relevé
⤴
http://wes.casio.com/math/index.php?q=I ... 03F901F902