Commit 5d5717cc by Louis

### Nouvel exercice : Bilan des trinômes.

La fonction pyromaths.outils.jinja2.facteur a été enrichie.
La documentation a été modifiée en conséquence.
parent c76800de
This diff is collapsed.
 ... ... @@ -11,7 +11,7 @@ (* else *) \approx (* endif *) \numprint{(( ((d-b)/(a-c)) | round(2) | suppr0 ))} \numprint{(( ((d-b)/(a-c)) | round(2) ))} \end{align*} L'unique solution est ... ... @@ -21,4 +21,4 @@ $x (* else *) \approx (* endif *) \numprint{(( ((d-b)/(a-c)) | round(2) | suppr0 ))}$. \numprint{(( ((d-b)/(a-c)) | round(2) ))}.  ... ... @@ -27,7 +27,6 @@ import random from pyromaths.ex import Jinja2Exercice from pyromaths.outils.decimaux import suppr0 class EquationPremierDegre4(Jinja2Exercice): ... ... @@ -43,11 +42,3 @@ class EquationPremierDegre4(Jinja2Exercice): "c": random.choice([1, -1]) * random.randint(2, 9), "d": random.choice([1, -1]) * random.randint(2, 9), } @property def environment(self): environment = super(EquationPremierDegre4, self).environment environment.filters.update({ 'suppr0': suppr0, }) return environment No preview for this file type  ... ... @@ -11,7 +11,7 @@ (* else *) \approx (* endif *) \numprint{(( ((d-b)/(a-c)) | round(2) | suppr0 ))} (( ((d-b)/(a-c))|facteur("2") )) \end{align*} L'unique solution est ... ... @@ -21,4 +21,4 @@x (* else *) \approx (* endif *) \numprint{(( ((d-b)/(a-c)) | round(2) | suppr0 ))}$. (( ((d-b)/(a-c))|facteur("2") ))$.
 # -*- coding: utf-8 -*- # # Pyromaths # # Un programme en Python qui permet de créer des fiches d'exercices types de # mathématiques niveau collège ainsi que leur corrigé en LaTeX. # # Copyright (C) 2018 -- Louis Paternault (spalax+python@gresille.org) # # This program is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by # the Free Software Foundation; either version 2 of the License, or # (at your option) any later version. # # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. # # You should have received a copy of the GNU General Public License # along with this program; if not, write to the Free Software # Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA # """Équations du premier degré""" import random from pyromaths.ex import Jinja2Exercice from pyromaths.outils.jinja2 import facteur class EquationPremierDegre5(Jinja2Exercice): description = u"Résolution d'équations du premier degré à coefficients entiers." level = u'3.Troisième' def __init__(self): super(EquationPremierDegre5, self).__init__() self.context = { "a": random.choice([1, -1]) * random.randint(2, 9), "b": random.choice([1, -1]) * random.randint(2, 9), "c": random.choice([1, -1]) * random.randint(2, 9), "d": random.choice([1, -1]) * random.randint(2, 9), } @property def environment(self): environment = super(EquationPremierDegre5, self).environment environment.filters.update({ 'facteur': facteur, }) return environment
 ... ... @@ -27,15 +27,15 @@ import random from pyromaths.ex import Jinja2Exercice from pyromaths.outils.decimaux import suppr0 from pyromaths.outils.jinja2 import facteur class EquationPremierDegre51(Jinja2Exercice): class EquationPremierDegre61(Jinja2Exercice): description = u"Résolution d'équations du premier degré à coefficients entiers." level = u'3.Troisième' def __init__(self): super(EquationPremierDegre51, self).__init__() super(EquationPremierDegre61, self).__init__() a = random.choice([1, -1]) * random.randint(2, 9) b = random.choice([1, -1]) * random.randint(2, 9) ... ... @@ -63,13 +63,13 @@ class EquationPremierDegre51(Jinja2Exercice): else: calculs.append(r"{}x &= {}\\".format(a-c, d-b)) calculs.append(r"x&=\frac{{ {} }}{{ {} }}\\".format(d-b, a-c)) solution = suppr0(round(float(d-b)/float(a-c), 2)) solution = facteur(float(d-b)/float(a-c), "2") if 100*(float(d-b)/float(a-c)) == int(100 * float(d-b)/float(a-c)): calculs.append(r"x&=\numprint{{{}}}\\".format(solution)) conclusion = r"L'unique solution est $x = \numprint{{{}}}$.".format(solution) calculs.append(r"x&={}\\".format(solution)) conclusion = r"L'unique solution est $x = {}$.".format(solution) else: calculs.append(r"x&\approx\numprint{{{}}}\\".format(solution)) conclusion = r"L'unique solution est $x \approx \numprint{{{}}}$.".format(solution) calculs.append(r"x&\approx{}\\".format(solution)) conclusion = r"L'unique solution est $x \approx {}$.".format(solution) self.context = { "a": a, "b": b, ... ...
 ... ... @@ -21,7 +21,7 @@ (* else *) \approx (* endif *) \numprint{(( ((d-b)/(a-c)) | round(2) | suppr0 ))} (( ((d-b)/(a-c)) | facteur("2") )) (* endif *) \end{align*} ... ... @@ -37,5 +37,5 @@ (* else *) \approx (* endif *) \numprint{(( ((d-b)/(a-c)) | round(2) | suppr0 ))}$. (( ((d-b)/(a-c)) | facteur("2") ))$. (* endif *)
 ... ... @@ -27,15 +27,15 @@ import random from pyromaths.ex import Jinja2Exercice from pyromaths.outils.decimaux import suppr0 from pyromaths.outils.jinja2 import facteur class EquationPremierDegre52(Jinja2Exercice): class EquationPremierDegre62(Jinja2Exercice): description = u"Résolution d'équations du premier degré à coefficients entiers." level = u'3.Troisième' def __init__(self): super(EquationPremierDegre52, self).__init__() super(EquationPremierDegre62, self).__init__() self.context = { "a": random.choice([1, -1]) * random.randint(2, 9), ... ... @@ -46,8 +46,8 @@ class EquationPremierDegre52(Jinja2Exercice): @property def environment(self): environment = super(EquationPremierDegre52, self).environment environment = super(EquationPremierDegre62, self).environment environment.filters.update({ 'suppr0': suppr0, 'facteur': facteur, }) return environment
 \exercice* \begin{align*} (( a )) x (( "%+d"|format(b) )) &= (( c )) x (( "%+d"|format(d) )) \\ (( a )) x (( "%+d"|format(-c) ))x &= (( d )) (( "%+d"|format(-b) )) \\ (( a - c )) x &= (( d - b )) \\ x &= \frac{(( d - b ))}{(( a - c ))} \\ x & (* if 100*(d-b)/(a-c) == (100*(d-b)/(a-c))|int *) = (* else *) \approx (* endif *) (( ((d-b)/(a-c)) | facteur("2") )) \end{align*} L'unique solution est $x (* if 100*(d-b)/(a-c) == (100*(d-b)/(a-c))|int *) = (* else *) \approx (* endif *) (( ((d-b)/(a-c)) | facteur("2") ))$.
 \exercice Déterminer les solutions de l'équation $(( a )) x (( "%+d"|format(b) ))= (( c )) x (( "%+d"|format(d) ))$. Si nécessaire, les solutions seront arrondies au centième.
 ... ... @@ -27,15 +27,15 @@ import random from pyromaths.ex import Jinja2Exercice from pyromaths.outils.decimaux import suppr0 from pyromaths.outils.jinja2 import facteur class EquationPremierDegre53(Jinja2Exercice): class EquationPremierDegre63(Jinja2Exercice): description = u"Résolution d'équations du premier degré à coefficients entiers." level = u'3.Troisième' def __init__(self): super(EquationPremierDegre53, self).__init__() super(EquationPremierDegre63, self).__init__() while True: a = random.choice([1, -1]) * random.randint(2, 9) ... ... @@ -60,8 +60,8 @@ class EquationPremierDegre53(Jinja2Exercice): @property def environment(self): environment = super(EquationPremierDegre53, self).environment environment = super(EquationPremierDegre63, self).environment environment.filters.update({ 'suppr0': suppr0, 'facteur': facteur, }) return environment

13.9 KB

 #!/bin/bash # Installe les exercices de tests pour qu'ils puissent être compilés DOCDIR=$(pwd)/$(dirname $0) ROOT=$DOCDIR/../../.. TEMPLATEDIR=$ROOT/data/ex/templates EXERCICEDIR=$ROOT/src/pyromaths/ex/troisiemes cd $TEMPLATEDIR for template in$DOCDIR/*/*tex do ln $template done cd$EXERCICEDIR for exercice in $DOCDIR/*/*py do ln$exercice done
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment