«liée à une mauvaise conception de ce que sont les nombres.»
... dans les machines.
Non, je veux vraiment dire "dans les têtes de ceux qui pratiquent les maths !"*
", bien que la discussion porte initialement sur des 0.xxxx "finis","
C'est bien ce que je disais: c'est un problème de compréhension des nombres.
Car 0.2345 est une notation raccourcie pour écrire une... fraction décimale ! En l'occurrence 2345/10000. C'est donc une fraction toute bête (enfin, plus compliquée que 1/3 quand même).
Dire que ce décimal, c'est à dire cette fraction, est finie n'a aucun sens. (j'ai bien vu que tu avais mis des guillemets mais malgré tout, on voit là la confusion qui règne). C'est le développement en base 10 qui est fini. Dans une autre base, le développement sera différent et ne sera plus forcément fini. Ce n'est pas une propriété intrinsèque du nombre mais une propriété liée au choix d'une base. Ce problème de conception est le fil conducteur du journal en fait.
Pour l'étude des programmes d'enseignement, rien à redire, les classes primaires ont été évoqués bien en amont dans ce fil (probablement pour évoquer la simplicité intuitive des calculs demandés et non pas la réalité pédagogique de la chose).
Évoquées peut être, mais pour dire des choses fausses très souvent. Dans la discussion, certains ont avancé que 0.1 + 0.2 était un calcul de CE2. Or ce n'est pas du tout comme ça dans la réalité. C'est un calcul de CM2 qu'on fait après avoir découvert les rationnels et ça change absolument tout. En effet, ceux qui ont appris les maths dans cet ordre seront très probablement surpris de l'importance que tu accordes aux fractions décimales et pas aux autres (comme si elles avaient un intérêt supérieur aux autres fractions et qu'il faille absolument, juste pour elles, des résultats exacts avec une machine !).
Dans les petites classes, les professeurs qui utilisent la calculatrice, font d'abord des calculs avec les fractions et les élèves, dès leurs premiers calculs (genre 2/3) voient qu'une calculatrice fait des approximations pour écrire les résultats et ne donne que très rarement un résultat juste. Les élèves voient donc les erreurs de la calculatrice même pour leurs tout premiers calculs. Le résultat donné par Python n'aura donc rien de surprenant pour eux puisque c'est ce qui s'est passé dès le début de leur utilisation de la calculatrice.
Comprends-tu que si tu "exiges" de l'exactitude sur les calculs avec les fractions décimales du type \frac{n}/{10^k} (les décimaux) alors que tu ne l'exiges pas sur des fractions plus "simples" du type 2/3, c'est uniquement parce que tu accordes une importance étrange aux décimaux (liée certainement à la façon dont on a présenté les nombres dans ton parcours scolaire). C'est pour ça que je parle de problème de conception des nombres pour ceux qui trouvent étrange ce qui se passe avec les floats. Ce sujet n'est pas vraiment un problème informatique, mais un problème lié à des conceptions mathématique biaisées par un apprentissage qui a focalisé inutilement sur les décimaux (en gros les générations qui ont fait un CM1 avant 2008).
[^] # Re: Que disent les programmes du primaire
Posté par snowball (site web personnel) . En réponse au journal [Humour] vers un monde différent. Évalué à 3.
Non, je veux vraiment dire "dans les têtes de ceux qui pratiquent les maths !"*
C'est bien ce que je disais: c'est un problème de compréhension des nombres.
Car 0.2345 est une notation raccourcie pour écrire une... fraction décimale ! En l'occurrence 2345/10000. C'est donc une fraction toute bête (enfin, plus compliquée que 1/3 quand même).
Dire que ce décimal, c'est à dire cette fraction, est finie n'a aucun sens. (j'ai bien vu que tu avais mis des guillemets mais malgré tout, on voit là la confusion qui règne). C'est le développement en base 10 qui est fini. Dans une autre base, le développement sera différent et ne sera plus forcément fini. Ce n'est pas une propriété intrinsèque du nombre mais une propriété liée au choix d'une base. Ce problème de conception est le fil conducteur du journal en fait.
Évoquées peut être, mais pour dire des choses fausses très souvent. Dans la discussion, certains ont avancé que 0.1 + 0.2 était un calcul de CE2. Or ce n'est pas du tout comme ça dans la réalité. C'est un calcul de CM2 qu'on fait après avoir découvert les rationnels et ça change absolument tout. En effet, ceux qui ont appris les maths dans cet ordre seront très probablement surpris de l'importance que tu accordes aux fractions décimales et pas aux autres (comme si elles avaient un intérêt supérieur aux autres fractions et qu'il faille absolument, juste pour elles, des résultats exacts avec une machine !).
Dans les petites classes, les professeurs qui utilisent la calculatrice, font d'abord des calculs avec les fractions et les élèves, dès leurs premiers calculs (genre 2/3) voient qu'une calculatrice fait des approximations pour écrire les résultats et ne donne que très rarement un résultat juste. Les élèves voient donc les erreurs de la calculatrice même pour leurs tout premiers calculs. Le résultat donné par Python n'aura donc rien de surprenant pour eux puisque c'est ce qui s'est passé dès le début de leur utilisation de la calculatrice.
Comprends-tu que si tu "exiges" de l'exactitude sur les calculs avec les fractions décimales du type \frac{n}/{10^k} (les décimaux) alors que tu ne l'exiges pas sur des fractions plus "simples" du type 2/3, c'est uniquement parce que tu accordes une importance étrange aux décimaux (liée certainement à la façon dont on a présenté les nombres dans ton parcours scolaire). C'est pour ça que je parle de problème de conception des nombres pour ceux qui trouvent étrange ce qui se passe avec les floats. Ce sujet n'est pas vraiment un problème informatique, mais un problème lié à des conceptions mathématique biaisées par un apprentissage qui a focalisé inutilement sur les décimaux (en gros les générations qui ont fait un CM1 avant 2008).