Répondre :
Dans cet exercice, tu dois comprendre ce que fait le programme.
Voici une retraduction du programme :
Quand l'utilisateur clique sur le drapeau vert, alors l'interface lui demande un nombre à choisir. Ce nombre qu'on appellera réponse est rangé dans la variable x.
Si x < 2, alors y = x*x - 9
Sinon, y = 2*x*x -8
Le programme affiche alors la valeur y pendant deux secondes.
1) Si l'utilisateur choisit comme réponse 0.
Alors x = 0.
Comme x < 2, on passe dans la première branche.
Et y = 0 * 0 - 9 = - 9
Le script affichera alors -9.
Si l'utilisateur choisit comme réponse 4.
Alors x = 4.
Comme x n'est pas strictement inférieur à 2, on passe dans la deuxième branche.
Et y = 2 * 4 * 4 - 9 = 32 - 9 = 23
Le script affichera alors 23.
Si l'utilisateur choisit comme réponse 16.
Alors x = 16.
Comme x n'est pas strictement inférieur à 2, on passe dans la deuxième branche.
Et y = 2 * 16 * 16 - 9 = 32 - 9 = 503
Le script affichera alors 503.
2) Pour trouver les cas où le script afficherait 0, il faut évaluer les deux branches possibles.
Dans la première branche : y = x*x - 9
Donc on a y = 0, si x*x - 9 = 0
Donc si x*x = 9
Donc si x = 3 ou x = -3
Or pour passer dans cette branche, on doit forcément avoir x < 2.
Donc la seule réponse possible pour cette première branche est x = -3
Dans la deuxième branche : 2*x*x -8
Donc on a y = 0, si 2*x*x -8 = 0
Donc si 2*x*x = 8
Donc si x*x = 4
Donc si x = 2 ou x = -2
Or pour passer dans cette branche, on doit forcément avoir [tex]x \geq 2[/tex].
Donc la seule réponse possible pour cette première branche est x = 2
On peut donc conclure : le script renverra 0 si et seulement si le nombre en entrée et -3 ou 2.
3) Dans la première branche :
y = x*x - 9
Or [tex]x^{2} \geq 0[/tex]
Donc [tex]x^{2} - 9 \geq -9[/tex]
Donc [tex]y\geq -9[/tex]
Dans la deuxième branche :
2*x*x -8
Or [tex]x^{2} \geq 0[/tex]
Donc [tex]2x^{2} \geq 0[/tex]
Donc [tex]2x^{2} - 8 \geq -8[/tex]
Donc [tex]y\geq -8[/tex]
Le script n'affichera donc jamais -10.
4) Nous souhaitons modifier le script pour que lorsque l'utilisateur rentre le nombre 0, alors le script affiche -10.
Pour cela, il faut modifier les conditions du script.
Après "mettre x à réponse", il faut rajouter la condition suivante :
si x = 0 alors:
mettre y à -10
sinon
si x < 2 alors :
mettre y à x*x-9
sinon
mettre y à 2*x*x-8
Attention : il faut bien mettre les anciennes conditions (si x<2 et sinon) dans le sinon de la nouvelle condition (si x=0)