module décimaux sixième

Les informations utiles aux développeurs de Pyromaths.

Modérateur: Développeurs

module décimaux sixième

Messagede tala » Lun 19 Jan 2009, 17:26

Je jette actuellement un coup d'œil au module décimaux de sixième. Je dois avouer que j'ai des difficultés à comprendre la fonction nombreATrouver().
Elle génère des nombres décimaux dont certains ont une partie décimale composée de nombreux zéros.
La fonction sepmilliers() du module outils, d'après les commentaires :
# Insère les espaces fines pour séparer les milliers et remplace le point
# décimal par une virgule
Mais, pour "rattraper" le pb", cette fonction tronque les parties décimales au 3° chiffre après la virgule.
Exemples de sorties obtenues avec ces deux fonctions :

99.900000000000006 ---> '99,9'

8070.0200000000004 ---> '8\\,070,02'
Ne serait-il pas plus cohérent de corriger nombreATrouver à la base pour qu'elle produise directement des nombres utilisables par les élèves ?
Bon, je crois avoir trouvé mon souci : les expressions :
Code: Tout sélectionner
10 **(-random.randrange(1, 4))
et
Code: Tout sélectionner
10 **(-random.randrange(4, 7))
sont mal évaluées par l'interpréteur qui renvoie des résultats très proches mais pas rigoureusement exacts.
Nous pourrions arrondir les résultats de cette fonction à un certain rang.
En cherchant des renseignements sur la toile, j'ai constaté que les pbs d'arrondis étaient fréquents avec python. D'autres parmi vous ont-ils constaté des résultats bizarres ?
Dernière édition par tala le Lun 19 Jan 2009, 19:19, édité 2 fois.
tala
 
Messages: 6
Inscription: Sam 13 Déc 2008, 18:40

Re: module décimaux sixième

Messagede Jérôme » Lun 19 Jan 2009, 19:16

Le problème est que les réels sous Python sont des nombres à virgule flottante et que je ne vois pas comment rendre ces nombres "propres". La solution serait peut-être de n'utiliser que des rationnels avec numérateur et dénominateur entiers. Il faudrait alors créer une classe pour l'affichage de ces nombres. A creuser.
Mais peut-être que je me fourvoie totalement... :?: Dites-moi.
Pyromaths génère des fiches d'exercices et leur corrigé en toute simplicité.
Un programme multi-plateformes libre et gratuit sous licence GPL
Avatar de l’utilisateur
Jérôme
Administrateur - Site Admin
 
Messages: 1067
Inscription: Sam 26 Aoû 2006, 13:10
Localisation: Nantes

Re: module décimaux sixième

Messagede tala » Lun 19 Jan 2009, 19:49

Je me figure mal le travail nécessaire pour changer les décimaux dans l'ensemble de pyromaths. C'est sans doute loin d'être une urgence. Pour alimenter éventuellement les réflexions de chacun, j'ai appris l'existence d'un module decimal, interne à python, qui gère de manière plus propre les décimaux. La syntaxe parait assez lourde. Peut-être est-il plus efficace de repartir des rationnels ou même de ne rien changer si les erreurs restent invisibles des fiches d'exercices. A bientôt.
tala
 
Messages: 6
Inscription: Sam 13 Déc 2008, 18:40

Re: module décimaux sixième

Messagede Jérôme » Lun 19 Jan 2009, 20:21

Je crois qu'elles sont effectivement invisibles. Mais ça peut valoir le coup d'y jeter un oeil.
Pyromaths génère des fiches d'exercices et leur corrigé en toute simplicité.
Un programme multi-plateformes libre et gratuit sous licence GPL
Avatar de l’utilisateur
Jérôme
Administrateur - Site Admin
 
Messages: 1067
Inscription: Sam 26 Aoû 2006, 13:10
Localisation: Nantes


Retourner vers Documentation

Qui est en ligne

Utilisateurs parcourant ce forum: Aucun utilisateur enregistré et 2 invités

cron