π
<-
Chat plein-écran
[^]

BAC S 2019 Amérique Nord plante toutes calcs sauf NumWorks

Toutes les news concernant les examens (BAC, DNB, etc.) et concours scolaires

BAC S 2019 Amérique Nord plante toutes calcs sauf NumWorks

Unread postby critor » 29 May 2019, 16:48

Ce mardi, c'était l'épreuve de Mathématiques du BAC S 2019 en Amérique du Nord.

Petite particularité dans l'exercice 3 sur une suite positive d'écroissante définie par récurrence. En avant-dernière question
B.4.a
, pour une fois il n'était pas demandé d'interpréter, modifier ou compléter un algorithme, mais d'en écrire un intégralement. Un algorithme de seuil, retournant à partir de quel rang les termes de la suite passent en-dessous de
10-p
.

Pour référence, voici l'algorithme en question transcrit en
Python
:
Code: Select all
from math import *
def algo(p):
  n=0
  u=1.
  while u>10**-p:
    u=u-log(1+u)
    n=n+1
    print(n,u)
  return n


La question suivante
B.4.b
et dernière en était l'application, demandant la réponse de l'algorithme pour
p=15
. Heureusement cela pouvait être obtenu sans algorithme pour ceux qui avaient bloqué sur la question précédente.

Pour référence, avec
$mathjax$u_5\approx 3,95\times 10^{-14}$mathjax$
et
$mathjax$u_6\approx 7,80\times 10^{-28}$mathjax$
, la réponse attendue est
n=6
.

Cela n'a peut-être l'air de rien mais ce fut en pratique une hécatombe pour nos calculatrices graphiques et programmables, puisque la quasi totalité a soit donné des résultats aberrants, soit n'a retourné aucun résultat partant alors en boucle infinie, et ce que l'on code l'algorithme ou utilise l'application dédiée aux suites ! :o
Que l'outil calculatrice ait été utilisé pour chercher ou confirmer le résultat, de quoi gaspiller dans tous les cas de précieuses minutes à chercher en vain ce qui peut bien clocher ! :mj:

Les
Casio Graph
programmées dans leur langage historique ne renvoyaient jamais de réponse, partant en boucle infinie. Le problème est visualisable dans l'application
Récurrence
, la suite devenant stationnaire à partir du rang
n=5
sans avoir atteint le seuil souhaité. Pareil si tu utilisais l'application
KhiCAS
sur
Graph 90+E
ou sur
Graph 35+E II
. Pareil également sur
fx-CP400
,
fx-92+ Spéciale Collège
ou encore
Lexibook GC3000FR
. :mj:
Par contre, pas de problème si tu codais l'algorithme avec l'application
Python
intégrée aux
Graph 90+E
et
Graph 35+E II
, ou avec l'application
CasioPython
rajoutée...

Les
TI-82/83/84
programmées dans leur langage historique renvoyaient un résultat faux,
n=5
. Le tableau de valeurs de la suite nous permet là encore de comprendre ce qui se passe, la suite devient stationnaire à partir du rang
n=5
en franchissant le seuil demandé, mais avec une valeur aberrante puisque négative alors que nous sommes sur une suite positive selon les questions précédentes. :mj:
Par contre, aucun problème si tu codais l'algorithme pour le module externe
TI-Python
via l'application
PyAdaptr
de la
TI-83 Premium CE
...

Sur la
HP Prime
programmée dans son langage historique, pareil on obtient
n=5
. L'application
Suite
permet de constater le problème, avec une première valeur négative aberrante au rang 5 avant que la suite ne devienne stationnaire. :mj:
Par contre, aucun problème si tu codais l'algorithme en utilisant l'étiquette #cas indiquant à l'interpréteur d'utiliser le moteur CAS pour les calculs, étiquette d'ailleurs obligatoire si tu décidais d'opter pour l'écriture à la
Python
...

Sur
TI-Nspire
programmée dans son langage historique on obtient par chance
n=6
, juste parce que la première valeur aberrante négative est bien tombée. Le problème est là encore visualisable avec le tableau de valeurs de la suite. :mj:
Par contre, aucun problème du tout si tu codais l'algorithme pour l'application
MicroPython
...



Mais qu'est-ce que c'est que ça, un sujet sponsorisé
NumWorks / Python
?... :P


Pour comprendre un peu mieux ce qui se passe, rappelons que pour les nombres non entiers nos calculatrices travaillent en virgule flottante, soit au format
$mathjax$\pm M\times 2^{E-E_{min}}$mathjax$
avec
$mathjax$M\in [1;2[$mathjax$
.

Or, toutes les calculatrices n'accordent pas le même nombre de bits pour coder la mantisse
M
de ces nombres, ce qui limite leur nombre de chiffres significatifs.

C'est-à-dire que pour tout calcul donnant un résultat non décimal, notre calculatrice commet une petite erreur. Et lorsque l'on réutilise ce résultat dans un nouveau calcul, comme c'est notamment le cas dans le cadre d'algorithmes sur des suites définies par récurrence, il peut arriver que cela empire l'erreur, jusqu'à donner des résultats aberrants...

Voici la transcription en
Python
d'un algorithme permettant de calculer les nombres de bits et de chiffres significatifs utilisables pour les mantisses de flottants, ceci en appelant respectivement precm(2) et precm(10) :
Code: Select all
def precm(b):
  k,b=0,float(b)
  while 1+b**-k-1>0:
    k+=1
  return k


Précisons que selon les modèles de calculatrices, le test devra être réalisé deux fois, car bien souvent l'environnement
Python
utilisera un moteur de calcul spécifique totalement déconnecté du reste de l'écosystème de la calculatrice.

Voici le petit classement de différents modèles/configurations en termes de précision binaire et décimale qui en découle, où nous allons de plus indiquer en rouge lorsque cela ne permet pas de répondre correctement au sujet qui nous intéresse ici :
modèles
bits
chiffres
significatifs
Graph 90+E / fx-CG50
(appli Python)

Graph 35+E II
(appli Python)

Graph 35/75/85/95 USB / fx-9750GII/9860G
(appli CasioPython)

NumWorks
(appli Python)

TI-83 Premium CE Edition Python
(appli Python)

TI-83 Premium CE
(module externe TI-Python)

TI-Nspire
(appli MicroPython)
5316
HP Prime
(vue CAS)
4815
NumWorks
(hors appli Python)

Graph 90+E / fx-CG10/20/50
(appli KhiCAS)

Graph 35+E II
(appli KhiCAS)

TI-82/85/86/89/92 / Voyage 200
TI-Nspire
(hors appli MicroPython)
4514
TI-81
41
13
fx-92 Collège 2D / Spéciale Collège / fx-ES/EX
Graph 90+E / fx-CG50
(hors applis Python/KhiCAS)

Graph 35/75/85/95 USB / fx-9750GII/9860G
(hors appli CasioPython et KhiCAS)

fx-CG10/20
(hors appli KhiCAS)

Sharp EL-9900/9950
TI-83 Premium CE Edition Python
(hors appli Python)

TI-83 Premium CE
(sans module externe TI-Python)

TI-83 / TI-83 Plus
TI-82 Stats/Plus/Advanced
TI-73/76.fr/84
40
13
HP Prime
(hors vue CAS)
38
12
Lexibook GC3000FR
35
11
TI-Primaire Plus
34
11
TI-Collège Plus / 30/34/36 MultiView
32
10
fx-CP400/CG500 / Classpad
31
10


Voilà donc l'explication, ça semble clair, c'est un problème de précision. Les modèles/configurations qui calculent sur 45 bits et moins sont incapables de fournir une réponse correcte. Hors la plupart des modèles ne dépassent pas les 40 bits dans le contexte de leur moteur de calcul historique.

A partir de 48 bits et plus, c'est bon. Les implémentations
Python
pour nos calculatrices utilisent presque toutes pour la mantisse le standard à 53 bits dit en
"double précision"
, ce qui explique qu'elles ne soient pas concernées par le problème.

La
NumWorks
est un cas particulier puisque même en dehors de son application
Python
et donc limitée à 45 bits, elle trouve des valeurs cohérentes et fournit ainsi le bon résultat. Peut-être que cela vient du fait que la calculatrice n'évalue pas directement les expressions sur 45 bits, mais commence par faire appel à son moteur de calcul littéral intégré, et ce même lorsque l'on fait intervenir des nombres en écriture décimale.

Il est certes déjà arrivé que certains sujets de BAC posent des questions qui dérangent nos calculatrices, mais uniquement dans le cadre d'une conjecture et pour enchaîner ensuite sur une série de questions qui vont démontrer que la calculatrice s'est trompée, ce qui en sera la conclusion.

Ce n'est clairement pas le cas ici puisqu'il s'agit de la dernière question de l'exercice. C'est donc une grave erreur de l'auteur du sujet qui sans doute n'a pas fait l'effort de tester son énoncé avec une calculatrice
'normale'
comme celles dont disposent la majorité des candidats, mais avec la
NumWorks
ou plus probablement directement dans l'environnement
Python
de son ordinateur. Grave erreur de ne pas avoir pensé aux différences que cela impliquait au niveau du moteur de calcul numérique ! :mj:
A la décharge de l'auteur du sujet, le fait que l'institution pousse à fond au
Python
à tous les étages.

Les candidats ici équipés en calculatrices
NumWorks
ont donc été avantagés, ainsi que la minorité qui a utilisé le
Python
sur un autre modèle pour résoudre l'exercice.
Même si l'on doit pouvoir trouver des candidats passionnés par le
Python
, ainsi que des enseignants de Terminale qui n'ont fait travailler que le
Python
cette année, rappelons que le premier programme imposant officiellement le
Python
n'est arrivé que pour la rentrée 2017 en Seconde. Il s'agit donc probablement d'une minorité qui a ainsi été privilégiée
(ce qui ne veut absolument pas dire que c'est moins grave)
. Les candidats au BAC 2019 n'auraient jamais dû être ainsi discriminés selon leur affinité avec le
Python
puisque ce langage n'était pas une exigence des textes les concernant. :#non#:



Ce qui est à craindre c'est que ce cafouillage ne soit pas isolé, et que d'autres sujets à venir n'aient été testés qu'en
Python
sur l'ordinateur des auteurs. Dans ton intérêt nous ne pouvons donc que te conseiller si tu ne l'as pas déjà fait d'opter sans attendre pour une configuration conforme aux nouveaux programmes du lycée et donc aux habitudes des concepteurs de sujets, et de prendre l'habitude de coder tes algorithmes systématiquement en
Python
et non plus dans le langage historique de ta calculatrice.

Des solutions qui ne te coûteront pas le moindre centime existent :
Mises à jour logicielles gratuites :


Si tu as une
Casio Graph 90+E / fx-CG50
, mets-la à jour en version
3.20
et utilise dorénavant l'application
Python
intégrée pour coder :

Si tu as une
Casio Graph 35+E II
, mets-la à jour en version
3.10
et utilise dorénavant l'application
Python
intégrée pour coder :
logiciel de mise à jour
Graph 35+E II 3.10
pour
Windows


Si tu as une
Casio Graph 75/85/95
, installe et utilise l'application
CasioPython
.

Si tu as une
Casio Graph 35+
, installe-lui le système
Graph 75 2.05
, puis procède comme au point précédent.

Si tu as une
TI-Nspire
, installe
Ndless
, puis installe et utilise l'application
MicroPython
.

Si tu as une
HP Prime
, mets-la à jour en version
14181
et code désormais en cochant toujours
CAS
:

Si tu as une
Lexibook GC3000FR
jette-la par la fenêtre plutôt que de recopier ce qu'elle peut bien te raconter, c'est gratuit et c'est dans ton intérêt. :troll:


Que tu ne rentres pas dans les cas ci-dessus ou que tu aies peur de te lancer dans des manipulations à la veille de l'examen, voici maintenant les solutions nécessitant un achat, limitées aux plus pertinentes et aux moins chères :
Mises à jour matérielles payantes :


Si tu as la
TI-83 Premium CE
, rajoute-lui le module externe
TI-Python
qui ne coûte vraiment pas grand chose et installe l'application
PyAdaptr
associée :

Si tu as une
TI-82/84
ou autre
TI-83
, il te faut une
TI-83 Premium CE
. Aucun problème de prise en main, tu y retrouveras les mêmes touches, menus et interfaces. Tu peux au choix prendre :

Si tu as une
TI-Nspire CX II
, remplace-la par un ancien modèle
TI-Nspire CX
,
TI-Nspire CM
ou
TI-Nspire
monochrome puis procède comme au bloc précédent.

Si tu as une
Casio Graph 25+/35+
, remplace-la au choix par une
Graph 75/85/95
puis procède comme au bloc précédent. Aucun problème de prise en main, mêmes touches, menus et interfaces.

Si tu as la
Casio Graph 35+E
, la
Graph 35+USB
ou une
Graph 25/75/85/95
, remplace-la au choix par :

Si tu as une
Casio fx-CG10/20
, remplace-la par une
Graph 90+E
. Prise en main immédiate puisque mêmes touches, menus et interfaces.

Ou sinon suis le message que fait passer
(involontairement ?...)
l'auteur du sujet et achète une
NumWorks
, même si selon nous un changement pour un modèle au fonctionnement complètement différent à la veille de l'examen n'est pas une bonne idée.


Téléchargement
:
sujet et corrigés
Image
User avatar
critorAdmin.
Niveau 18: DC (Deus ex Calculatorum)
Niveau 18: DC (Deus ex Calculatorum)
Level up: 96.7%
 
Posts: 33347
Images: 8672
Joined: 25 Oct 2008, 00:00
Location: Montpellier
Gender: Male
Calculator(s):
Class: Lycée
YouTube: critor3000
Twitter: critor2000
Facebook: critor.ti

Re: BAC S 2019 Amérique Nord plante toutes calcs sauf NumWor

Unread postby parisse » 29 May 2019, 17:21

L'auteur du sujet n'est pas tres au fait de l'analyse numerique, de meme que les profs qui ont teste et l'IG et l'universitaire de service qui sont cense controler le sujet. Calculer 1+u_n avec u_n proche de 0, c'est perdre enormement en precision numerique (et obtenir 1 si u_n est petit). C'est d'ailleurs pour cela qu'il existe sur les HP en mode numerique et peut-etre ailleurs une fonction LNP1 pour calculer ln(1+x) (ou EXPM1 pour calculer exp(x)-1).
Ca n'a rien a voir avec le langage, et on pourra planter n'importe quel systeme de calcul en flottants avec un exemple adapte.
User avatar
parisseVIP++
Niveau 11: LV (Légende Vivante)
Niveau 11: LV (Légende Vivante)
Level up: 76.3%
 
Posts: 1767
Joined: 13 Dec 2013, 16:35
Gender: Not specified

Online

Re: BAC S 2019 Amérique Nord plante toutes calcs sauf NumWor

Unread postby Lephe » 29 May 2019, 18:58

Voilà un problème un peu embarassant qui n'aurait peut-être pas dû passer inaperçu ; le 10⁻¹⁵ devrait éveiller des soupçons. (Pas un problème à lui tout seul on est d'accord, enfin parisse a déjà bien expliqué.)

Je vois que tu n'as cité aucune source, est-ce que ce défaut a été porté correctement aux oreilles de l'administration ?
User avatar
LephePartner
Niveau 9: IC (Compteur Infatigable)
Niveau 9: IC (Compteur Infatigable)
Level up: 9.8%
 
Posts: 208
Joined: 15 Jun 2018, 19:53
Gender: Male

Re: BAC S 2019 Amérique Nord plante toutes calcs sauf NumWor

Unread postby jean-baptiste boric » 29 May 2019, 19:02

En effet, les nombres à virgule flottante sont sensibles de par leur construction à l'écart (en ordre de grandeur) de leurs opérandes, ce qui entraîne une perte de précision par arrondi après chaque opération. Dans le cas de la NumWorks hors Python, le fait que ça passe de justesse est peut-être dû à un heureux hasard impliquant la libc d'OpenBSD récupérée pour leurs calculs en virgule flottante, les autres calculatrices utilisant probablement d'autres libc/algorithmes ayant des comportements différents.
User avatar
jean-baptiste boricPremium
Niveau 9: IC (Compteur Infatigable)
Niveau 9: IC (Compteur Infatigable)
Level up: 40.8%
 
Posts: 272
Joined: 21 Dec 2015, 22:22
Gender: Not specified
GitHub: boricj

Re: BAC S 2019 Amérique Nord plante toutes calcs sauf NumWor

Unread postby critor » 29 May 2019, 20:22

Lephe wrote:Voilà un problème un peu embarassant qui n'aurait peut-être pas dû passer inaperçu ; le 10⁻¹⁵ devrait éveiller des soupçons.

Tu as raison, l'intervention d'un 10-15 dans un contexte où l'on part de 1 aurait dû faire tilt chez tout enseignant habitué aux outils utilisés par les candidats, c'est-à-dire à la calculatrice graphique avec usuellement ses 13-14 chiffres significatifs maximum.

Lephe wrote:Je vois que tu n'as cité aucune source, est-ce que ce défaut a été porté correctement aux oreilles de l'administration ?

Je n'ai personnellement rien reporté. J'ignore la part de candidats embêtés, si ceux qui ont buté là-dessus se sont donné la peine d'alerter le surveillant, ou si ils n'ont tout simplement pas considéré que c'était de leur faute ou de la faute de leur calculatrice.

En tous cas ce n'est pas très étonnant qu'une erreur aussi grave n'ait pas de retentissement dans la presse, vu que ça se passe à l'étranger, que ça ne concerne pas non plus la presse locale du pays en question, et vu le faible effectif impliqué
(certes les 2 lycées à Montréal et 1 à Québec, mais seulement 8 à l'échelle continentale de tout le Canada)
...

Il ne faudrait pas que quelque chose comme ça arrive en Métropole, et malheureusement dans le contexte de l'algorithmique et donc du Python il est à craindre que de plus en plus d'auteurs de sujets fassent ainsi l'économie des tests sur calculatrice.
"Pourquoi m'embêter à aller chercher la calculatrice alors que j'ai le Python sous la main ?..."
Ben voilà.
Image
User avatar
critorAdmin.
Niveau 18: DC (Deus ex Calculatorum)
Niveau 18: DC (Deus ex Calculatorum)
Level up: 96.7%
 
Posts: 33347
Images: 8672
Joined: 25 Oct 2008, 00:00
Location: Montpellier
Gender: Male
Calculator(s):
Class: Lycée
YouTube: critor3000
Twitter: critor2000
Facebook: critor.ti

Re: BAC S 2019 Amérique Nord plante toutes calcs sauf NumWor

Unread postby parisse » 29 May 2019, 20:49

Oui, tant que c'est un sujet hors metropole ca ne peut pas avoir beaucoup d'echo mediatique. Mais je trouve que c'est quand meme inquietant que personne n'ait reagi.
User avatar
parisseVIP++
Niveau 11: LV (Légende Vivante)
Niveau 11: LV (Légende Vivante)
Level up: 76.3%
 
Posts: 1767
Joined: 13 Dec 2013, 16:35
Gender: Not specified

Re: BAC S 2019 Amérique Nord plante toutes calcs sauf NumWor

Unread postby critor » 29 May 2019, 20:55

Pas personne non plus.

Me concernant c'est annales2maths.com qui m'a fait part du problème en rédigeant sa correction, sachant que personnellement je ne m'étais pas dégagé de créneau entre hier et aujourd'hui pour faire/corriger le sujet :
https://www.annales2maths.com/solution- ... -mai-2019/

Mais après, ce ne sont pas tous les rédacteurs de corrigés qui se donnent la peine de contextualiser avec les outils
(calculatrices graphiques)
que les prochains candidats vont utiliser.
Image
User avatar
critorAdmin.
Niveau 18: DC (Deus ex Calculatorum)
Niveau 18: DC (Deus ex Calculatorum)
Level up: 96.7%
 
Posts: 33347
Images: 8672
Joined: 25 Oct 2008, 00:00
Location: Montpellier
Gender: Male
Calculator(s):
Class: Lycée
YouTube: critor3000
Twitter: critor2000
Facebook: critor.ti

Re: BAC S 2019 Amérique Nord plante toutes calcs sauf NumWor

Unread postby critor » 29 May 2019, 22:21

Problème également évoqué dans la correction-vidéo HansAmble, avec constatation du problème sur Graph 85 et TI-83 Premium CE, puis passage sur la NumWorks.
A partir de 23:42 : https://www.youtube.com/watch?v=R-XjJJOW1U0&t=1422s
Image
User avatar
critorAdmin.
Niveau 18: DC (Deus ex Calculatorum)
Niveau 18: DC (Deus ex Calculatorum)
Level up: 96.7%
 
Posts: 33347
Images: 8672
Joined: 25 Oct 2008, 00:00
Location: Montpellier
Gender: Male
Calculator(s):
Class: Lycée
YouTube: critor3000
Twitter: critor2000
Facebook: critor.ti

Re: BAC S 2019 Amérique Nord plante toutes calcs sauf NumWor

Unread postby wawachief » 30 May 2019, 10:35

La numworks donne bien la bonne réponse n=6 mais avec un résultat faux quand même car elle donne u6=4,9E-17 au lieu de 7.8E-28 !!! Je ne suis pas sûr du coup qu'on puisse dire qu'elle donne a bonne réponse, c'est plus un coup de bol car avec p=17 elle se plante ! La seule calculatrice que j'ai qui me donne la bonne réponse est la DM42 de swissmicros (ou free42 sur smartphone).
User avatar
wawachief
Niveau 4: MC (Membre Confirmé)
Niveau 4: MC (Membre Confirmé)
Level up: 50%
 
Posts: 44
Joined: 10 Nov 2013, 08:57
Gender: Not specified
Calculator(s):

Re: BAC S 2019 Amérique Nord plante toutes calcs sauf NumWor

Unread postby critor » 30 May 2019, 10:44

Merci.

Mais tout système travaillant en virgule flottante avec un nombre de bits limité finira par faire intervenir des valeurs aberrantes et répondre faux en augmentant
p
.
Image
User avatar
critorAdmin.
Niveau 18: DC (Deus ex Calculatorum)
Niveau 18: DC (Deus ex Calculatorum)
Level up: 96.7%
 
Posts: 33347
Images: 8672
Joined: 25 Oct 2008, 00:00
Location: Montpellier
Gender: Male
Calculator(s):
Class: Lycée
YouTube: critor3000
Twitter: critor2000
Facebook: critor.ti

Next

Return to News Examens / Concours

Who is online

Users browsing this forum: No registered users and 1 guest

-
Search
-
Featured topics
Concours TI-Planet-Casio de rentrée 2019. 3 défis pour plus d'une 15aine de calculatrices graphiques et nombre de goodies sortant de l'ordinaire ! :D
Comparaisons des meilleurs prix pour acheter sa calculatrice !
12
-
Donations / Premium
For more contests, prizes, reviews, helping us pay the server and domains...

Discover the the advantages of a donor account !
JoinRejoignez the donors and/or premium!les donateurs et/ou premium !


Partner and ad
Notre partenaire Jarrety 
-
Stats.
527 utilisateurs:
>500 invités
>21 membres
>6 robots
Record simultané (sur 6 mois):
6892 utilisateurs (le 07/06/2017)
-
Other interesting websites
Texas Instruments Education
Global | France
 (English / Français)
Banque de programmes TI
ticalc.org
 (English)
La communauté TI-82
tout82.free.fr
 (Français)