Classes Python pour pyromaths

Les propositions de correctifs ou d'exercices pour Pyromaths.

Modérateur : Développeurs

Avatar de l’utilisateur
Jérôme
Administrateur - Site Admin
Messages : 1130
Inscription : 26 août 2006, 13:10
Localisation : Nantes
Contact :

Classes Python pour pyromaths

Message par Jérôme » 18 oct. 2008, 19:11

Bonsoir, suite à un message d'Arnaud concernant le code de Pyromaths, j'ai jeté un oeil sur les classes dans Python. J'en ai créé deux dans le fichier /pyro_classes.py. il s'agit de la classe Fractions qui permet d'effectuer les 4 opérations avec des fractions et de la classe Littéral qui permet d'effectuer des opérations sur les expressions littérales.
Je viens de les transférer sur le svn. Si vous avez le temps de regarder ce que j'ai fait et de me dire ce que vous en pensez,ce serait bien sympa. Je ne suis pas développeur et je ne suis pas certain d'avoir fait ce qu'il fallait.
Jérôme
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
Arnaud
Critique officiel de pyromaths
Messages : 609
Inscription : 26 août 2006, 21:49
Localisation : Allemagne
Contact :

Re: Classes Python pour pyromaths

Message par Arnaud » 18 oct. 2008, 22:40

Oula, fallait pas prendre ma remarque au pied de la lettre !

Je me suis rendu compte cet après-midi que j'avais rencontré le principe "une classe = un fichier" plutôt dans les scripts php.
Quand je dis "classe", cela signifie "class" en anglais ( fort la traduction ), et donc il s'agit de programmation orientée objet.
Par exemple pour le fichier pyromaths.py, tu définis plusieurs classes, à savoir l'interface graphique et le programme en lui-même, choses que j'aurais séparées, de sorte que la modification ultérieure d'un élément n'ait pas d'effets indésirables sur l'autre.
Encore une fois je ne suis pas programmeur, je retranscris simplement ce que j'ai pu voir dans d'autres programmes.
Maintenant, l'interface graphique est une classe qui n'est appelée qu'une seule fois, donc il faut se demander si c'est réellement utile de séparer.
Par contre, pour les méthodes - objets qui existent dans chaque niveau, faut voir ( je n'ai pas encore regardé ).

Avatar de l’utilisateur
Arnaud
Critique officiel de pyromaths
Messages : 609
Inscription : 26 août 2006, 21:49
Localisation : Allemagne
Contact :

Re: Classes Python pour pyromaths

Message par Arnaud » 05 janv. 2009, 18:01

Bon, je viens de regarder, et effectivement, cela correspond à ce que j'entendais pour la programmation orientée objet.
Mais apparemment cette classe n'est pas encore utilisée dans le programme, ou je me trompe ?
Tu as créé un objet nommé fraction défini par deux attributs : numérateur, dénominateur.
A partir de là on peut définir comme tu l'as fait les 4 opérations élémentaires en tant que méthodes, mais de plus la simplification et la comparaison.

Créer un exercice sur les fractions peut alors se faire de la manière suivante :
- générer un tableau "frac" de n fractions,
- générer un tableau "op" de n-1 opérations ( les opérations entre les fractions ),
- écrire l'exercice revient à lire les tableaux frac et op alternativement dans l'ordre,
- malheureusement pour le corrigé....ce n'est pas aussi simple...il faut aussi prendre en compte la priorité des opérations.

On peut ainsi créer un dossier contenant toutes les classes, et on peut créer des classes pour les expressions ( sous forme de tableaux ), pour l'interface graphique, pour un document tex, etc.... et les méthodes qui vont bien.
L'avantage est d'éviter la multiplication du code, de centraliser les propriétés pour un élément donné ( juste besoin de modifier wx_classe.py pour l'interface graphique par exemple ).

Encore une fois, je parle beaucoup, j'essaye de passer aux tests ce soir.

Avatar de l’utilisateur
Jérôme
Administrateur - Site Admin
Messages : 1130
Inscription : 26 août 2006, 13:10
Localisation : Nantes
Contact :

Re: Classes Python pour pyromaths

Message par Jérôme » 05 janv. 2009, 19:00

Salut Arnaud et bonne année.
La classe fraction sert dans le module fractions de 4e et 5e. Mais il y a surement moyen de faire mieux que ce que j'ai fait. Je te laisse y jeter un oeil si tu veux.
Bonne soirée.
Pyromaths génère des fiches d'exercices et leur corrigé en toute simplicité.
Un programme multi-plateformes libre et gratuit sous licence GPL

Répondre