diff --git a/documentation/source/index.rst b/documentation/source/index.rst index 0e2b3d1..85247fd 100644 --- a/documentation/source/index.rst +++ b/documentation/source/index.rst @@ -3,17 +3,61 @@ You can adapt this file completely to your liking, but it should at least contain the root `toctree` directive. -Bienvenu dans la documentation de pyMath +Karibou dans la documentation de pyMath ======================================== -pyMath est un ensemble de modules écris en Python qui vise à faciliter la conception d'exercices de math et leurs corrections. +pyMath est un ensemble de modules écris en Python qui vise à faciliter et automatiser la conception d'exercices de math et leurs corrections. -Il est séparer en 3 parties: +C'est le moteur qui va permettre à `Opytex <../opytex/>`_ de manipuler les données créer pour faire ces exercices. Il est capable de créer aléatoirement des expressions (calculs de fractions, polynomes, expressions littérales...), des données statistiques et bientôt des figures géométriques, de les simplifier et de faire des calculs avec. + +À la difference d'un logiciel de calcul formel classique (comme `sympy `_), pyMath va non seulement être capable de simplifier des calculs mais surtout d'expliquer comme un élève les étapes qui permettent d'arriver au résultat. + +Le module est séparé en 3 parties: - *calculus*: Cette partie gère les expressions mathématiques et leurs calculs. + Voici un exemple de création d'un exercice calculatoire avec des fractions. + + .. code-block:: python + + >>> from pymath import Expression + >>> ajout_fraction = Expression.random("{a} + {b} / {c}") + >>> print(ajout_fraction) + 2 + \frac{ 3 }{ 5 } + >>> for i in ajout_fraction.simplify().explain(): + print(i) + 1 + \frac{ 3 }{ 5 } + \frac{ 1 \times 5 }{ 1 \times 5 } + \frac{ 3 \times 1 }{ 5 \times 1 } + \frac{ 5 }{ 5 } + \frac{ 3 }{ 5 } + \frac{ 5 + 3 }{ 5 } + \frac{ 8 }{ 5 } + + Ce qui donne une fois compilé avec Latex + + .. math:: + \begin{align*} + 1 + \frac{ 3 }{ 5 } \\ + \frac{ 1 \times 5 }{ 1 \times 5 } + \frac{ 3 \times 1 }{ 5 \times 1 } \\ + \frac{ 5 }{ 5 } + \frac{ 3 }{ 5 } \\ + \frac{ 5 + 3 }{ 5 } \\ + \frac{ 8 }{ 5 } + \end{align*} + + Pour en savoir plus: `présentation des outils de calculs `_ + - *stat*: Cette partie gère la gestion de donnée (création et analyse) + .. code-block:: python + + >>> from pytmath import Dataset + >>> w = Dataset.random(10) + >>> w + [-0.14, 0.3, -0.55, 1.02, -2.02, -1.17, 1.47, 1.22, -1.38, 0.02] + >>> w.mean() + -0.12 + + Pour en savoir plus: `présentation des outils stat `_ + - *geometry*: (non faite) Cette partie gère la création de situations géométriques. Sommaire: diff --git a/documentation/source/presentation_calculs.rst b/documentation/source/presentation_calculs.rst index 7d0b3cd..83e4920 100644 --- a/documentation/source/presentation_calculs.rst +++ b/documentation/source/presentation_calculs.rst @@ -31,10 +31,10 @@ La partie calcul de pyMath est un module python qui permet la manipulation d'exp .. code-block:: python - >>> from pymath import Expression - >>> ajout_fraction = Expression.random("{a} + {b} / {c}") - >>> print(ajout_fraction) - 2 + \frac{ 3 }{ 5 } + >>> from pymath import Expression + >>> ajout_fraction = Expression.random("{a} + {b} / {c}") + >>> print(ajout_fraction) + 2 + \frac{ 3 }{ 5 } - *Gérer différents type de données*: Pour le moment, pyMath est capable de gérer les entiers naturels, les rationnels (sous forme de @@ -330,7 +330,7 @@ possible de faire des calculs avec les valeurs générées. >>> print(random_frac_add_generator()) \frac{ -9 }{ 7 } + \frac{ 1 }{ 28 } -Rendu des expressions +Aléatoire sans rendu ~~~~~~~~~~~~~~~~~~~~~ On peut vouloir ne pas passer par la classe Expression pour obtenir diff --git a/documentation/source/presentation_stat.rst b/documentation/source/presentation_stat.rst index 9540cf2..784ad88 100644 --- a/documentation/source/presentation_stat.rst +++ b/documentation/source/presentation_stat.rst @@ -152,6 +152,7 @@ Par défaut cette fonction, arrondis tous les nombres au centième. >>> Dataset.random(10, nbr_format = int) # Tous les nombres devront être des entiers. [1, 0, 0, 0, -1, 1, -2, -1, 0, 0] >>> Dataset.random(3, nbr_format = lambda x : 10*x+100) # Tous les nombres générés sont multipliés par 10 et augmenter de 100. + [83.25478349417327, 87.48915747851468, 109.2031945412872] >>> Dataset.random(10, distrib="choice", rd_args=["LOTERIE"], nbr_format=str) # Tirage aléatoire des lettres du mot LOTERIE ['E', 'E', 'O', 'T', 'T', 'T', 'L', 'E', 'I', 'I']