Page 1 sur 1

Correction algo exo 4 Obligatoire BAC S 2016, Liban mai 2016

Message non luPosté: 31 Mai 2016, 13:36
de critor
Correction algorithme exercice n°4 Obligatoire du sujet de Maths du BAC S de mai 2016 au Liban.

Vrai/Faux - affirmation 5)
Pour savoir si l'algorithme répond bien ce qui est proposé, on peut le programmer rapidement sur notre calculatrice graphique.
Pour mieux comprendre son comportement, rajoutons un affichage de l'état des variables et du test de la condition de poursuite du Tant que en fin de boucle.


Algorithme
Programme
Code: Tout sélectionner
Variables :
   X et Y sont des réels
Initialisation :
   X prend la valeur 0
   Y prend la valeur 3/10
Traitement :
   Tant que Y<0,5
      X prend la valeur X+0.01
      Y prend prend la valeur 3/(4+6e^(-2X))
      Afficher X, Y et Y<0,5
   Fin Tant que
Sortie :
   Afficher X
Code: Tout sélectionner
0→X
3/10→Y
While Y<0.5
   X+0.01→X
   3/(4+6e^(-2X))→Y
   Disp {X,Y,Y<0.5}
End
X

Code: Tout sélectionner
Define liban2016so()=
Func
   Local x,y
   0→x
   3/10→y
   While y<0.5
      x+0.01→x
      3/(4+6∙e^(-2x))→y
      Disp {x,y,y<0.5}
   EndWhile
   Return x
EndFunc
Code: Tout sélectionner
0→X
3/10→Y
While Y<0.5
   X+0.01→X
   3÷(4+6e^-2X)→Y
   {X,Y,Y<0.5}◢
Next
X

Code: Tout sélectionner
0⇒x
3/10⇒y
While y<0.5
   x+0.01⇒x
   3/(4+6e^(-2x))⇒y
   Print {x,y,y<0.5}
WhileEnd
Print x
Code: Tout sélectionner
EXPORT LIBAN2016SO()
BEGIN
   X:=0;
   Y:=3/10;
   WHILE Y<0.5 DO
      X:=X+0.01;
      Y:=3/(4+6*e^(-2*X));
      PRINT({X,Y,Y<0.5})
   END;
   PRINT(X)
END;


D'après la calculatrice, l'algorithme répond donc 0,55 et non 0,54.
La proposition est fausse.

Reste maintenant à justifier cette réponse conformément aux consignes du Vrai/Faux.
Si l'on est à l'aise avec le fonctionnement de la boucle Tant que, on peut faire un raisonnement par l'absurde.


Supposons que l'algorithme réponde 0,54.
Donc en fin d'algorihme, la variable X vaudrait 0,54.

L'algorithme s'articule autour d'une unique boucle Tant que, de condition de poursuite Y<0,5.
Donc en fin d'algorithme, la condition contraire Y≥0,5 serait vraie.

La dernière affectation effectuée à la fin de l'ultime itération de la boucle Tant que est Y prend prend la valeur 3/(4+6e^(-2X)).
Or, si nous effectuons le calcul avec X=0,54 on a :
$mathjax$Y=\frac{3}{4+6e^{-2X}}\\
\phantom{Y}=\frac{3}{4+6e^{-2×0.54}}\\
\phantom{Y}=\frac{3}{4+6e^{-1.08}}\\
\phantom{Y}\approx 0,496888$mathjax$


Donc Y<0,5 d'où contradiction : l'algorithme ne peut pas se terminer dans ce contexte.

Donc l'hypothèse que l'algorithme réponde 0,54 est fausse.

Si l'on ne maîtrise pas suffisamment cette approche, on peut également justifier en fournissant les dernières étapes de la trace de l'algorithme, visible ci-dessus sur les captures d'écran de calculatrices.