Considérons aujourd'hui la question d'algorithmique tombée samedi 21 février au concours d'admission à Sciences Po, dans l'exercice Vrai/Faux à justifier - un concours ouvert aux élèves de Terminale sous réserve d'obtention du Baccalauréat entre temps.
La question ci-contre fait donc appel à la compétence "savoir exécuter un algorithme", afin de pouvoir dire si le résultat proposé est vrai ou faux.
Méthode n°1 : On peut exécuter l'algorithme à la main, en réalisant ce que l'on appelle une "trace de l'algorithme". C'est un tableau où l'on décrit pour chaque instruction (en ligne), l'état mémoire de la machine exécutant l'algorithme, avec en colonnes:
toutes les variables
les tests de boucles 'Tant que' éventuelles
La voici :
Le résultat affiché étant la valeur de la variable 'I', il est donc de 5 et non de 6. La proposition est fausse : l'algorithme répond 5.
Méthode n°2 : A mon avis, la seule mention du bon résultat suffit comme justification. La trace est ici quand même assez longue à réaliser. Dans ce cas, si vous êtes à l'aise, une autre méthode beaucoup plus rapide est possible presque sans effort à la machine. Il suffit tout simplement de traduire l'algorithme en un programme pour votre calculatrice graphique, outil autorisé à ce concours, et de lui demander le résultat. Voici ci-dessous les programmes pour l'ensemble des modèles actuellement en circulation :
Variables: N, P, S, I Début Saisir (N) Saisir (P) S prend la valeur 1 I prend la valeur N Tant que S<P et I>0 S prend la valeur S×I I prend la valeur I-1 Fin Tant que Afficher I Fin
Considérons aujourd'hui la question d'algorithmique qui vient de tomber à l'épeuve de maths du BAC ES/L en Nouvelle Calédonie (mars 2015).
Il s'agit d'un algorithme de dichotomie destinée à approcher la solution d'une équation, et le sujet demande de décrire son exécution à l'aide d'une trace partielle à compléter.
Méthode n°1 : On peut exécuter l'algorithme à la main, en réalisant la trace complète de l'algorithme. C'est un tableau où l'on décrit pour chaque instruction (en ligne), l'état mémoire de la machine exécutant l'algorithme, avec en colonnes:
toutes les variables
les tests d'instructions et boucles conditionnelles éventuelles
La voici :
a
b
y
Tant que b-a>0.1
Si y>1
Commentaire
a prend la valeur 4
4
b prend la valeur 5
4
5
Vrai
y prend la valeur f((a+b)/2)
4
5
≈0.894
Faux
1ère itération Tant que
b prend la valeur (a+b)/2
4
4.5
≈0.894
Vrai
Cas sinon du Si.
y prend la valeur f((a+b)/2)
4
4.5
≈1.059
Vrai
2ème itération Tant que
a prend la valeur (a+b)/2
4.25
4.5
≈1.059
Vrai
Cas alors du Si.
y prend la valeur f((a+b)/2)
4.25
4.5
≈0.974
Faux
3ème itération Tant que
b prend la valeur (a+b)/2
4.25
4.375
≈1.059
Vrai
Cas sinon du Si.
y prend la valeur f((a+b)/2)
4.25
4.375
≈1.016
Vrai
4ème itération Tant que
a prend la valeur (a+b)/2
4.3125
4.375
≈1.016
Faux
Cas alors du Si.
Ce que demande l'énoncé est un résumé de cette trace, avec une seule ligne par itération de la boucle Tant que. Ce résumé étant partiellement complété, on remarque en comparant avec la trace complète ci-dessus que c'est l'état des variables en fin d'itération qui est attendu.
D'où la trace partielle suivante :
(a+b)/2
y
a
b
b-a
Sortie
1ère boucle Tant que
4.25
0.894
4
4.5
0.5
1ère boucle Tant que
4.375
1.059
4.25
4.5
0.25
1ère boucle Tant que
4.3125
0.974
4.25
4.375
0.125
1ère boucle Tant que
4.34375
1.016
4.3125
4.375
0.0625
4.34375
L'algorithme répond donc 4.34375 comme valeur approchée de la solution α de l'équation f(x)=1 sur l'intervalle [4;5]. On en déduit donc pour la question 3)c) que α≈4.3.
Méthode n°2 : Si tu es doté d'une calculatrice graphique et que tu sais la programmer, tu peux obtenir ces résultats de façon beaucoup plus simple et rapide. Il suffit simplement de programmer sur ta calculatrice graphique un algorithme légèrement modifié. Nous allons tout simplement rajouter, en fin de boucle, une instruction affichant les informations demandées par l'énoncé, et il te suffira juste de les recopier. Voici ci-dessous les programmes pour l'ensemble des modèles actuellement en circulation :
Initialisation : a prend la valeur 4 b prend la valeur 5 Traitement : Tant que b-a>0,1 faire y prend la valeur f((a+b)/2) Si y>1 alors a prend la valeur (a+b)/2 sinon b prend la valeur (a+b)/2 FinSi Fin Tant que Sortie : Afficher (a+b)/2
Chaîne►Equ("(25X-32)e^(-X)",Y1 4→A 5→B While B-A>0.1 Y1((A+B)/2)→Y If Y>1 Then (A+B)/2→A Else (A+B)/2→B End Pause {(A+B)/2,arrondir(Y,3),A,B,B-A End (A+B)/2
String►Equ("(25X-32)e^(-X)",Y1 4→A 5→B While B-A>0.1 Y1((A+B)/2)→Y If Y>1 Then (A+B)/2→A Else (A+B)/2→B End Pause {(A+B)/2,round(Y,3),A,B,B-A End (A+B)/2
EXPORT NCALES2015() BEGIN F1:="(25X-32)e^(-X)"; A:=4; B:=5; WHILE B-A>0.1 DO Y:=F1((A+B)/2); IF Y>1 THEN A:=(A+B)/2; ELSE B:=(A+B)/2; END; PRINT({(A+B)/2,ROUND(Y,3),A,B,B-A}); END; PRINT((A+B)/2); END;
Un bon sujet dans le contexte de la compétence "savoir programmer un algorithme sur calculatrice" - même les séries S devraient le regarder
La réforme du mode examen se fait de plus en plus imminente, et rien ne semble plus être capable de l'arrêter.
Il s'agit d'une nouvelle circulaire à venir remplaçant celle du 16 novembre 1999, et imposant l'usage d'une calculatrice graphique munie d'un mode examen à diode à compter du BAC 2018. L'activation du mode examen efface tout ce que le candidat a pu charger dans sa calculatrice (pompes, programmes, applications, utilitaires...) et allume une diode lumineuse, permettant aux surveillants d'épreuves de vérifier que chaque calculatrice est bien en mode examen. Plus d'infos sur la réforme du mode examen par ici ou encore par là.
Chez Texas Instruments, les TI-Nspire CX sont déjà conformes à cette nouvelle règlementation, et le reste de la gamme est en conséquence renouvelé avec les TI-83 Premium CE et TI-82 Advanced à compter de la rentrée 2015, en remplacement des modèles actuels TI-83 Plus.fr USB et TI-82 Plus.
Dans un article précédent, Magali du forum APMEP nous annonçait également le renouvellement de la gamme graphique Casio par de nouveaux modèles munis d'une diode d'examen.
Même si rien n'est encore paru au bulletin officiel, la réforme est désormais presque officialisée. En effet, ce n'est plus un simple secret que l'on s'échange sur les salons enseignants - elle est maintenant clairement suggérée au grand public en grande surface, avec ci-contre un rayon calculatrices Carrefour.
En effet si vous y regardez de plus près, vous noterez que les anciennes TI-83 Plus.fr USB sont désormais munies d'un sticker "autorisée au BAC jusqu'en 2017".
Nous remarquons toutefois que seuls les modèles Texas Instruments semblent arborer ce sticker. Cette information louable pour les élèves arrivant en Seconde à la rentrée 2015 qui ne doivent pas se tromper de modèle, semblerait donc être à l'initiative de Texas Instruments, et non du distributeur Carrefour.