Propositions diverses

Les propositions de correctifs ou d'exercices pour Pyromaths.

Modérateur : Développeurs

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

Propositions diverses

Message par Arnaud » 15 sept. 2009, 22:42

Un peu pêle-mêle comme déclaration, ça va plaire à Jérôme.

Je pense d'abord à moi et à mes cours, et parfois il y a des exos qui n'apparaissent dans aucun chapitre et qui pourtant sont fondamentaux.
Si on n'arrive pas à classer ces exercices dans un niveau, on peut prévoir un onglet "tous niveaux", on a encore de la place sans que cela devienne gênant.

Si je dis ça, c'est par rapport à un exercice sur la décomposition en facteurs premiers d'un nombre, qu'on fait chez nous en 6e, et qui apparait en France en seconde, alors qu'on en aurait bien besoin avant...
J'ai préparé un exo, avec corrigé, du genre décomposer plusieurs nombres, et utiliser les décompositions pour simplifier des fractions.

Autres idées :

- un exercice sur des abscisses décimales en 6e, ça ne devrait pas être trop long à adapter, vu qu'il existe déjà pour des fractions...
- un exercice sur troncatures, arrondis et encadrements
- un exercice sur les divisions, et divisions par 0,1, etc....
- un exercice sur les divisions euclidiennes,
- je réfléchis sur un exo de démonstration avec les droites remarquables, mais c'est pas pour tout de suite.

Dans le niveau 5e, il manque une majuscule à "repérage".

@Jérôme : tu ne m'avais pas parlé d'un exo sur les probas ?

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

Re: Propositions diverses

Message par Jérôme » 15 sept. 2009, 22:53

Pour les probas, c'est Guillaume qui s'y colle. Je n'ai pas de nouvelles, je suppose donc que ce n'est pas encore terminé.
Plutôt qu'un onglet "tous niveaux", puisqu'on peut à présent mélanger les exos de plusieurs niveaux, je préfèrerais qu'on insère l'exercice dans le niveau le plus faible possible, par exemple 6e dans le cas cité. En tout cas, pleins de bonnes idées.
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: Propositions diverses

Message par Arnaud » 15 sept. 2009, 22:57

Peut-être des idées bonnes ( ou faciles ), mais en tout cas on pêche un peu en géométrie.
Concernant les onglets, je dois dire que je m'en fous, mais le niveau 6e semble pouvoir supporter l'hiver en t-shirt ( ce que je peux sortir comme mauvaises métaphores parfois...bon je vais me coucher je crois ).

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

Re: Propositions diverses

Message par Jérôme » 15 sept. 2009, 23:16

Arnaud a écrit :le niveau 6e semble pouvoir supporter l'hiver en t-shirt
Je comprends pourquoi tu travailles en Allemagne. Ton français fait peur ! :mrgreen:
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: Propositions diverses

Message par Arnaud » 18 sept. 2009, 16:04

L'exercice sur la décomposition en facteurs premiers est quasi-fini :

- décomposition en facteurs d'un ou plusieurs nombres,
- application à la simplification d'une fraction.

Si je rajoute une question sur la simplification d'une racine, le niveau change...

J'ai également fait un exercice sur les arrondis en php, qu'on peut facilement adapter pour obtenir un exercice sur encadrements et troncatures.
Voir ici : http://www.unpeud.info/sixieme
Le temps que je le transcrive en python...

Enfin, une autre idée/demande : les équations du second degré.
J'en ai besoin en 3e, et certains collègues de BEP également pour faire des révisions.

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

Re: Propositions diverses

Message par Jérôme » 18 sept. 2009, 19:08

Arnaud a écrit :Enfin, une autre idée/demande : les équations du second degré.
J'en ai besoin en 3e, et certains collègues de BEP également pour faire des révisions.
il va falloir créer un onglet 2nde alors. Pourquoi pas...
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: Propositions diverses

Message par Arnaud » 18 sept. 2009, 20:59

Théoriquement c'est vu en première en France.
Comme il n'y aura pas beaucoup de propositions pour le moment de ce côté-là, on peut aussi faire un onglet lycée.

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

Re: Propositions diverses

Message par Arnaud » 18 sept. 2009, 22:53

Le script sur les arrondis est transcrit sous python, mais je rencontre un gros problème qui n'est pas apparu sous php :

Code : Tout sélectionner

22:48 arnaud@centre ~% python
Python 2.5.4 (r254:67916, Feb 17 2009, 20:16:45)
[GCC 4.3.3] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>> 266949.0 / 10
26694.900000000001
Idem sous python 3.

Une idée de solution ?

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

Re: Propositions diverses

Message par Arnaud » 19 sept. 2009, 00:36

J'ai eu le même problème avec round, mais j'ai aussi trouvé une solution que je considère comme bancale :

Code : Tout sélectionner

>>> round(18250.212, 2)
18250.209999999999
>>> "%.2f" % (round(18250.212, 2))
'18250.21'
Il me semble que cette écriture n'est pas compatible avec python 3.

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

Re: Propositions diverses

Message par Arnaud » 19 sept. 2009, 01:09

Arnaud a écrit :Il me semble que cette écriture n'est pas compatible avec python 3.
Au temps pour moi, apparemment cette syntaxe est réutilisable :

Code : Tout sélectionner

print("je parle trop %s" % ('vite'))

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

Re: Propositions diverses

Message par Arnaud » 19 sept. 2009, 10:11


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

Re: Propositions diverses

Message par Jérôme » 19 sept. 2009, 11:05

Je crois bien que la fonction outils.sepmilliers(nb, mathenvironment=0) gère ce problème d'affichage des floats. je te laisse tester. :)
Sinon, l'onglet Lycée me semble être une bonne idé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

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

Re: Propositions diverses

Message par Arnaud » 26 sept. 2009, 22:33

J'ai un peu avancé.
Pour le second degré, j'ai fonctionné avec une classe de polynômes du second degré :

Code : Tout sélectionner

class poly2:
    def __init__(self, a, b, c):
        if a == 0:
            print "Erreur de définition ! a doit être différent de 0."
        self.a = a
        self.b = b
        self.c = c
        self.delta = suppr0(b**2 - 4*a*c)
        if self.delta > 0:
            self.signedelta = "strictement positif"
            self.nbrac = 2
        elif self.delta < 0:
            self.signedelta = "strictement négatif"
            self.nbrac = 0
        else:
            self.signedelta = "nul"
            self.nbrac = 1

    def __add__(self, other):
        return poly2(self.a + other.a, self.b + other.b, self.c + other.c)
        
    def __radd__(self, other):
        return poly2(self.a + other.a, self.b + other.b, self.c + other.c)

    def __sub__(self, other):
        return poly2(self.a - other.a, self.b - other.b, self.c - other.c)

    def __rsub__(self, other):
        return poly2(self.a - other.a, self.b - other.b, self.c - other.c)

    def __str__(self):
        if self.b<=0:
            sep1 = ''
        else:
            sep1 = '+'
        if self.c<=0:
            sep2 = ''
        else:
            sep2 = '+'
        if self.a == 1:
            a1 = ''
        else:
            a1 = str(suppr0(self.a))
        if self.b == 1:
            b1 = ''
        else:
            b1 = str(suppr0(self.b))
        if self.b == 0:
            deg1 = ''
            b1 = ''
        else:
            deg1 = 'x'
        return a1 + 'x^2' + sep1 + b1 + deg1 + sep2 + str(suppr0(self.c))

    def print_signe(self, signe):
        return str(self) + " " + signe + " 0"
Je n'ai prévu que addition et soustraction, car je n'ai pas eu l'utilité des autres opérations.
suppr0 est une fonction qui supprime les 0 inutiles après la virgule.
Cette classe me permet de créer un exercice contenant :

- 4 équations du second degré
- 4 inéquations du second degré
- recherche de nombres connaissant leur produit et leur somme
- recherche des dimensions d'un rectangle connaissant son périmètre et son aire.

Il y a pleins d'autres idées possibles...

Le moteur pour les exercices en arrondis/encadrements/etc... et facteurs premiers sont prêts, c'est juste l'écriture des exos qui prend du temps....

Du coup, il va falloir discuter des points suivants qui risquent de donner une nouvelle voie à pyromaths :

1) Doit-on prévoir de commencer une structure en orienté objet ? ( ce que je veux dire, c'est créer des classes pour les meilleurs candidats d'objets, du style racines, polynômes, etc..., et ne pas vouloir à tout prix insérer des classes partout ).
Une telle modification donne plus de souplesse pour la suite, mais demande aussi de réécrire pas mal d'exercices.
Ceci peut se faire au fur et à mesure, car cela ne gênera en rien le fonctionnement du programme.

2) Si oui à la 1), ce serait pas bête de passer à python 3 qui gère en natif le type "fractions". Pourquoi réinventer la roue...

3) Si oui à la 2) :mrgreen: , le passage à python 3 obligerait à tout traiter en unicode, si j'ai bien tout compris. C'est aussi l'un des objectifs dont on a déjà pas mal discuté.

4) Si oui à la 1), il faudra organiser les classes dans un dossier à part.
D'une manière générale ( sans la POO ), je propose de classer les outils par catégories claires ( écriture latex, écrire de nombres, arithmétique, ... ) dans un dossier, afin d'avoir une meilleure vue d'ensemble, quitte à avoir un peu plus de .py, mais pas forcément un code plus long.

5) Permettre d'enregistrer un profil de fiche ( par exemple 2 exos sur les abscisses, 2 sur la divisibilité, etc... ), afin de pouvoir créer même type de fiches avec des énoncés un peu différents.

6) Ajouter des rappels de cours par exercice, et donner le choix de faire apparaitre ou non.

7) Pyromaths "trouve en général" le bon chemin latex chez un utilisateur qui aura installé cela de manière classique. Mais que se passe-t-il pour un utilisateur avancé qui aura installé cela à sa propre sauce ? Même question pour le lecteur pdf.

8) Enfin deux petits problèmes à résoudre : bannière absente dans la version linux et le "r" de Repérage dans le niveau 5e.

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

Re: Propositions diverses

Message par Jérôme » 27 sept. 2009, 12:21

Arnaud a écrit :J'ai un peu avancé.
1) Doit-on prévoir de commencer une structure en orienté objet ? ( ce que je veux dire, c'est créer des classes pour les meilleurs candidats d'objets, du style racines, polynômes, etc..., et ne pas vouloir à tout prix insérer des classes partout ).
Une telle modification donne plus de souplesse pour la suite, mais demande aussi de réécrire pas mal d'exercices.
Ceci peut se faire au fur et à mesure, car cela ne gênera en rien le fonctionnement du programme.
Sans aucun doute. Ce serait plus propre et plus simple pour développer des batteries d'exercices par la suite.
Arnaud a écrit : 2) Si oui à la 1), ce serait pas bête de passer à python 3 qui gère en natif le type "fractions". Pourquoi réinventer la roue...
Je suis d'accord, à condition que Py-Qt existe pour la version3 de Python, ce qui n'était pas le cas la dernière fois que j'ai regardé (mais c'était il y a plusieurs mois).
Arnaud a écrit : 3) Si oui à la 2) :mrgreen: , le passage à python 3 obligerait à tout traiter en unicode, si j'ai bien tout compris. C'est aussi l'un des objectifs dont on a déjà pas mal discuté.
Ça limiterait aussi les multiples problèmes d'encodage qu'on a pu rencontrer. Problèmes absolument pénibles.
Arnaud a écrit : 5) Permettre d'enregistrer un profil de fiche ( par exemple 2 exos sur les abscisses, 2 sur la divisibilité, etc... ), afin de pouvoir créer même type de fiches avec des énoncés un peu différents.
Moi, je verrais plutôt quelque chose qui ressemble aux boites de dialogues "imprimer" où on entrerait le nombre de copies à faire, sachant que là, chaque copie serait différente de la précédente.
Arnaud a écrit : 7) Pyromaths "trouve en général" le bon chemin latex chez un utilisateur qui aura installé cela de manière classique. Mais que se passe-t-il pour un utilisateur avancé qui aura installé cela à sa propre sauce ? Même question pour le lecteur pdf.
Logiquement, il n'y a pas de problème. Les chemins ne sont pas codés en dur, mais retrouvés par Python.
Arnaud a écrit : 8) Enfin deux petits problèmes à résoudre : bannière absente dans la version linux et le "r" de Repérage dans le niveau 5e.
Le premier problème est résolu dans la version 09.09-1 sortie hier :). Quant au second, je ne l'avais pas repéré. Je regarde ça.
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: Propositions diverses

Message par Arnaud » 27 sept. 2009, 12:54

http://www.riverbankcomputing.co.uk/sof ... t/download

Pyqt 4.6 permet apparemment de travailler avec python 3 ;)
Jérôme a écrit : Moi, je verrais plutôt quelque chose qui ressemble aux boites de dialogues "imprimer" où on entrerait le nombre de copies à faire, sachant que là, chaque copie serait différente de la précédente.
Cela suppose une unique utilisation et aucun oubli/aucune erreur de la part de l'utilisateur.

Répondre