Page 1 of 1

Correction algo exo 4 BAC ES/L, Inde, avril 2016

Unread postPosted: 21 Apr 2016, 12:43
by critor
Correction algo exercice n°4 Obligatoire du sujet de Maths du BAC ES/L d'avril 2016 en Inde.

Question 2)a)
On nous demande de compléter une sorte de trace de l'algorithme, ici un tableau avec l'état de deux variables et d'un test à chaque itération de la boucle tant que.
Il est très facile d'obtenir cela en programmant l'algorithme sur la calculatrice, et en y rajoutant une simple instruction affichant ce qui nous est demandé en fin de boucle.
Voici les programmes pour calculatrices graphiques actuelles :


Algorithme
Programme
Code: Select all
Variables :
   n est un entier naturel
   u est un nombre réel
Traitement :
   Affecter à u la valeur 5700
   Affecter à n la valeur 0
   Tant que u>4500 faire
      u prend la valeur 1,015×u-300
      n prend la valeur n+1
      Afficher u, n et u>4500
   Fin Tant que
Sortie :
   Afficher n
Code: Select all
5700→U
0→N
While U>4500
   1.015U-300→U
   N+1→N
   Disp {arrondir(U,2),N,U>4500
End
N

Code: Select all
5700→U
0→N
While U>4500
   1.015U-300→U
   N+1→N
   Disp {round(U,2),N,U>4500
End
N

Code: Select all
Define indeso16()=
Func
   Local u,n
   5700→u
   0→n
   While u>4500
      1.015∙u-300→u
      n+1→n
      disp round(u,2),n,u>4500
   EndWhile
   Return n
EndFunc
Code: Select all
5700→U
0→N
While U>4500
   1.015U-300→U
   N+1→N
   {U,N,U>4500}◢
WhileEnd
N

Code: Select all
SetDecimal
5700⇒u
0⇒n
While u>4500
   1.015u-300⇒u
   N+1⇒N
   Print {u,n,judge(u>4500)}
WhileEnd
Print n
Ne pas oublier le 'SetDecimal' en début de programme,
pour obtenir les résultats en écriture décimale.
Code: Select all
EXPORT INDESO16()
BEGIN
   U:=5700;
   N:=0;
   WHILE U>4500 DO
      U:=1.015*U-300;
      N:=N+1;
      PRINT({ROUND(U,2),N,U>4500})
   END;
   PRINT(N)
END;


D'où la réponse affichée qu'il n'y a plus qu'à recopier :


Valeur de u57005484,55267,785046,804822,504594,844363,76
Valeur de n0123456
u>4500 (vrai/faux)vraivraivraivraivraivraifaux


Question 2)b)
La valeur affichée en fin d'algorithme est la valeur de la variable n, et donc ici 6.

L'algorithme s'articule autour d'une boucle tant que, de condition de poursuite u>4500.
Il se termine donc sur la réalisation de la condition contraire : u≤4500.

Or, la variable n, initialisée à 0 et incrémentée de 1 dans la boucle est donc un indice.
De plus, la variable u, initialisée à u0=5700 et affectée dans la boucle avec la même relation de récurrence que la suite (un) contient donc la valeur du terme un

Cet algorithme détermine donc la plus petite valeur de n vérifiant un≤4500.