Page 1 of 1

Correction algo BAC ES/L (Nouvelle Calédonie - mars 2014)

Unread postPosted: 12 Mar 2014, 21:01
by critor
Voici ce soir la correction de l'algorithme tombé à l'épreuve de Mathématiques commune aux BAC ES et L 2013, ce mois-ci en Nouvelle Calédonie (mars 2014).

Il s'agit de l'exercice 4 noté sur 5 points, et donc à traiter de préférence en moins de 45 minutes:


Question 5)a)
On nous demande donc une espèce de trace de l'algorithme, présenter l'état des variables au cours de son exécution.
Il va donc nous falloir d'une façon ou d'une autre évaluer cet algorithme.

Le tableau fourni à compléter suggère qu'il y a 3 passages dans la boucle représentés par 3 étapes en plus de l'initialisation.
Habituellement, chaque étape représente ou l'état en fin de boucle, ou l'état en début de boucle.
Or, ce n'est pas le cas ici... Ce tableau est en effet assez étrange, au sens où les valeurs présentées dans les cinq premières colonnes sont calculées non pas à partir des valeurs de a et b de la même étape mais de celles de l'étape précédente.
L'état décrit par une ligne de ce tableau correspond donc à un état intermédiaire en milieu de boucle, lorsque l'on a effectué les calculs des 4 premières colonnes mais pas encore modifié les valeurs de a et b.

Si on a pu déterminer cet endroit exact, l'intérêt est que l'on peut donc demander directement à notre calculatrice graphique de nous sortir le tableau, en modifiant l'algorithme avec un affichage au bon endroit:
Code: Select all
Variables:
   a,b,m et r sont des nombres réels
Initialisation:
   Affecter à a la valeur 3
   Affecter à b la valeur 3,05
Entrée:
   Saisir r
Traitement:
   TANT QUE b-a>r
      Affecter à m la valeur (a+b)/2
      Afficher b-a, b-a>r, m, f(m), f(m)>0, a, b (*)
      SI f(m)>0
         ALORS Affecter à a la valeur m
         SINON Affecter à b la valeur m
      FIN SI
   FIN TANT QUE
Sortie:
   Afficher a
   Afficher b
(*) ligne rajoutée

Il faudra juste prendre soin sur notre calculatrice de définir la fonction f. Cela peut être fait directement dans le code du programme, solution que je présente ci-après. Mais on peut aussi parfaitement définir la même fonction dans l'application dédiée de la calculatrice, avant de lancer le programme.

Sur TI-76/82/83/84, nous utiliserons Y1 variable système spéciale pouvant recevoir l'expression d'une fonction.
Toutefois, cette variable n'est pas une fonction pour autant pour la calculatrice: f(5) ne s'obtient pas en tapant Y1(5) qui est une simple multiplication pour la calculatrice, mais en affectant la variable de la fonction pour ensuite faire appel à son expression.
Nous avons en prime une commande sympa nous permettant d'effectuer en même temps l'arrondi demandé par l'énoncé.
Les tests afficheront 1 lorsqu'ils seront vrais, et 0 lorsque faux.
Enfin, l'affichage de l'état intermédiaire étant très long, nous remplacerons l'instruction usuelle 'Disp' par 'Pause', qui comme son nom l'indique permet de suspendre le programme mais aussi de permettre à l'utilisateur de faire défiler le résultat.
Voici ce que ça nous donne:
ImageImage Image

Sur Casio Graph/fx-CG, nous ferons quasiment les mêmes remarques. C'est le même genre de langage non-fonctionnel, à la différence que je ne crois pas qu'il existe d'instruction pour arrondir.
Afin de limiter le nombre de captures d'écrans, je mets parfois plusieurs instructions sur une même ligne de code, séparées par le symbole deux-points. Vous pouvez parfaitement aller à la ligne à la place.
ImageImage

Sur TI-Nspire/89/92/Voyage, nous avons enfin la notion de fonction, mais aussi de tests.
Donc plus besoin d'affecter la variable de la fonction avant d'y faire appel, et les tests afficheront en anglais true/false.
On peut à nouveau arrondir directement dans le programme.
ImageImage Image

Sur Casio Classpad/fx-CP c'est presque pareil, à part que lorsque l'on veut afficher le résultat d'un test il faut en forcer l'évaluation à l'aide de la fonction 'judge'.
Comme sur les Casio ci-dessus, je ne connais pas de moyen rapide ou simple d'arrondir directement dans le programme.

Enfin sur HP-39gII/Prime, il y a plusieurs façons de définir une fonction. J'en retiens une qui a l'avantage de fonctionner sur les deux modèles en faisant appel à la variable système F1.
Et là, nous pouvons à nouveau arrondir correctement:
Image Image

D'où le tableau final, à compléter à partir des résultats affichés dans le sens de lecture, de gauche à droite et de haut en bas, en commençant à la 1ère ligne avant-dernière colonne:

b-ab-a>rmf(m)f(m)>0ab
Initialisation33,05
étape 10,05vrai3,0250,485vrai3,0253,05
étape 20,025vrai3,03750,218vrai3,03753,05
étape 30,0125vrai3,043750,082vrai3,043753,05
On confirme d'ailleurs que ce tableau tel que demandé n'est pas très logique, puisque la colonne f(m)>0 ne sert à rien, étant toujours à vrai.


Question 5)b)
Cet algorithme effectue par dichotomie un encadrement de la solution α de l'équation f(x)=0, sur l'intervalle [3;3,05] de la question 4)d).
Il s'articule autour d'une boucle "tant que" ayant pour condition de poursuite b-a>r.
La sortie de boucle fait donc suite à la réalisation de la condition contraire: b-a≤r, c'est-à-dire b-a≤0,01.
L'algorithme recherche donc un encadrement de α d'amplitude inférieure à 0,01 et donc plus précis, qui est ici 3,04375≤α≤3,05.



Téléchargements :

Re: Correction algo BAC ES/L (Nouvelle Calédonie - mars 2014

Unread postPosted: 13 Mar 2014, 10:42
by Bisam
La concavité (convexité) est au programme de Terminale ? Ainsi que le lien entre la convexité et les tangentes ? Ce n'est même plus au programme de Maths Sup !

Je confirme en tout cas qu'il est dommage d'avoir choisi un exemple où l'algorithme de dichotomie reste toujours du même côté du zéro de la fonction !

Re: Correction algo BAC ES/L (Nouvelle Calédonie - mars 2014

Unread postPosted: 16 Mar 2014, 11:56
by Laurae
Bisam wrote:La concavité (convexité) est au programme de Terminale ? Ainsi que le lien entre la convexité et les tangentes ? Ce n'est même plus au programme de Maths Sup !

Je confirme en tout cas qu'il est dommage d'avoir choisi un exemple où l'algorithme de dichotomie reste toujours du même côté du zéro de la fonction !


En ES elle y est depuis longtemps en Terminale :)

Re: Correction algo BAC ES/L (Nouvelle Calédonie - mars 2014

Unread postPosted: 16 Mar 2014, 12:06
by Excale
Bisam wrote:Ce n'est même plus au programme de Maths Sup !

Gné? Les élèves ont trop râlé contre les inégalités de convexité cachées?