Sujet DNB Pro 2017 Métropole septembre exercice 6.
Question 1 :

En tenant compte des éventuelles boucles répéter, les 3 programmes A, B et C tracent chacun :
- 2 segments de longueur 50
- 2 segments de longueur 30
Le programme B quant à lui alterne les longueurs de segments, ce qui correspond donc à la figure 2.
Vérifions en codant le programme A 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 bien la figure 1.
Codons de même le programme B sur calculatrice.
http://wes.casio.com/math/index.php?q=I ... 03F901F902
La calculatrice confirme bien la figure 2.
Codons de même le programme C sur calculatrice.
http://wes.casio.com/math/index.php?q=I ... 03F901F902
La calculatrice confirme bien la figure 1.
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.
- Pour que la figure soit affichée, il faut lui donc 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
s'orienter à 90
a pour but d'orienter le lutin vers la droite. Sur calculatrice c'est à remplacer pars'orienter à 0
.
- Code Scratch : Select all
2,5→M
Stylo écrit
S'orienter à 0 degrés
Avancer de 50÷M pixels
Tourner de ↺ 90 degrés
Avancer de 50÷M pixels
Tourner de ↺ 90 degrés
Avancer de 30÷M pixels
Tourner de ↺ 90 degrés
Avancer de 30÷M pixels

http://wes.casio.com/math/index.php?q=I ... 03F901F902
La calculatrice confirme bien la figure 1.
Codons de même le programme B sur calculatrice.
- Code Scratch : Select all
1,5→M
Stylo écrit
S'orienter à 0 degrés
Répéter 2
Avancer de 50÷M pixels
Tourner de ↺ 90 degrés
Avancer de 30÷M pixels
Tourner de ↺ 90 degrés
⤴

http://wes.casio.com/math/index.php?q=I ... 03F901F902
La calculatrice confirme bien la figure 2.
Codons de même le programme C sur calculatrice.
- Code Scratch : Select all
2,5→M
Stylo écrit
S'orienter à 0 degrés
Répéter 2
Avancer de 50÷M pixels
Tourner de ↺ 90 degrés
⤴
Répéter 2
Avancer de 30÷M pixels
Tourner de ↺ 90 degrés
⤴

http://wes.casio.com/math/index.php?q=I ... 03F901F902
La calculatrice confirme bien la figure 1.
Question 2 :

Le bloc Motif trace consécutivement 4 segments de même longueur (70) avec des angles de 90°. Il dessine donc un carré de côté 70.
Vérifions de même à la calculatrice.
La calculatrice confirme bien un carré.
La calculatrice confirme bien un carré.
Question 3 :

Une fois le stylo baissé, à aucun moment au cours du tracer on ne relève le stylo. On exclut donc la figure 3 et il s'agit donc par élimination de la figure 4.
Vérifions de même à la calculatrice. D'autres petites adaptations sont à faire :
La calculatrice confirme bien la figure 4.
- La calculatrice ne permet pas de définir de bloc. Le seul appel au bloc Motif est donc à remplacer par son contenu.
Ajouter 100 à x
aurait pu être traduit par une affectationx+100→x
. Mais la calculatrice ne permet pas d'affecter les variables x et y. On peut ruser en disant au lutin d'aller à telles coordonnées, ce qui affectera simultanément les variables x et y :Aller à x=x+100;y=y
.
- Code Scratch : Select all
3→M
Aller à x=0; y=0
Stylo écrit
Répéter 2
Stylo écrit
Répéter 4
Avancer de 70÷M pixels
Tourner de ↺ 90 degrés
⤴
Aller à x=x+100÷M; y=y
⤴

La calculatrice confirme bien la figure 4.