Page 1 sur 1

Correction algo exo 2 BAC S 2015 (Amérique du Nord - juin)

Message non luPosté: 03 Juin 2015, 12:26
de critor
Correction algo exercice n°2 (suites + algo) du sujet de Maths du BAC S 2015 en Amérique du Nord.

Question 1)b)
Il y a deux affectations récurrentes à compléter dans la boucle, pour les deux suites récurrentes (xn) et (yn).
On pourrait donc proposer :
Code: Tout sélectionner
t prend la valeur x
x prend la valeur 0.8x-0.6y
y prend la valeur 0.6x+0.8y

Ce qui est faux. En effet, la première affectation récurrente modifie la variable x et nous fait donc perdre sa valeur dont on avait besoin à pour l'affectation récurrente de y suivante.

C'est pour cela que l'algorithme proposé sauvegarde la valeur de x dans la variable t. D'où deux propositions possibles :
Code: Tout sélectionner
t prend la valeur x
x prend la valeur 0.8x-0.6y
y prend la valeur 0.6t+0.8y

ou encore
Code: Tout sélectionner
t prend la valeur x
x prend la valeur 0.8t-0.6y
y prend la valeur 0.6t+0.8y


Il nous est possible en situation d'examen de vérifier la justesse de cet algorithme. En effet nous avons suite à la question 1)a) les valeurs des termes x0, x0, y0, x1, y1, x2, y2.
Rajoutons donc une simple instruction d'affichage des valeurs dans la boucle, et traduisons cet algorithme pour notre calculatrice graphique.


Algorithme
Programme
Code: Tout sélectionner
Variables :
   i, x, y, t : nombres réels
Initialisation :
   x prend la valeur -3
   y prend la valeur 4
Traitement :
   Pour i allant de 0 à 20
   |   t prend la valeur x
   |   x prend la valeur 0.8t-0.6y
   |   y prend la valeur 0.6t+0.8y
   FinPour
Code: Tout sélectionner
-3→X
4→Y
For(I,0,20
   Pause {I,X,Y
   X→T
   0.8T-0.6Y→X
   0.6T+0.8Y→Y
End

Code: Tout sélectionner
Define amerns2015()=
Prgm
   -3→x
   4→y
   For i,0,20
      Disp {i,x,y}
      x→t
      0.8t-0.6y→x
      0.6t+0.8y→y
   End
EndPrgm
Code: Tout sélectionner
-3→X
4→Y
For 0→I To 20
   {I,X,Y}◢
   X→T
   0.8T-0.6Y→X
   0.6T+0.8Y→Y
Next

Code: Tout sélectionner
-3⇒x
4⇒y
For 0⇒i To 20
   Print {i,x,y}
   x→t
   0.8t-0.6x→x
   0.6t+0.8y→y
Next
Code: Tout sélectionner
EXPORT AMERNS2015()
BEGIN
   X:=-3;
   Y:=4;
   FOR I FROM 0 TO 20 DO
      PRINT({I,X,Y});
      T:=X;
      X:=0.8*T-0.6*Y;
      Y:=0.6*T+0.8*Y;
   END;
END;