import new way for rotating numbers and example
This commit is contained in:
parent
48b5713862
commit
94bf43f945
@ -1,70 +0,0 @@
|
||||
\documentclass[a4paper,10pt]{/media/documents/Cours/Prof/Enseignements/tools/style/classDS}
|
||||
\usepackage{/media/documents/Cours/Prof/Enseignements/2013_2014}
|
||||
|
||||
% Title Page
|
||||
\titre{Calcul littéral et statistiques}
|
||||
% \quatreC \quatreD \troisB \troisPro
|
||||
\classe{\troisB}
|
||||
\date{26 septemble 2013}
|
||||
% DS DSCorr DM DMCorr Corr
|
||||
\typedoc{DS}
|
||||
\duree{1 heure}
|
||||
\sujet{%{{infos.subj%}}}
|
||||
|
||||
|
||||
\begin{document}
|
||||
\maketitle
|
||||
|
||||
\Calc
|
||||
Le barème est donné à titre indicatif, il pourra être modifié.
|
||||
|
||||
\begin{Exo}[4.5]
|
||||
Développer et réduire les expressions suivantes:
|
||||
\begin{equation*}
|
||||
A = %{{random.randint(1,9) %}}x (-%{{random.randint(1,9) %}}x + %{{random.randint(1,9) %}} )\qquad
|
||||
B = (%{{random.randint(1,9) %}}x + %{{random.randint(1,9) %}})(-%{{random.randint(1,9) %}}x + %{{random.randint(1,9) %}}) \qquad
|
||||
C = %{{random.randint(1,9) %}}x (-x + 1) + (%{{random.randint(1,9) %}}x + %{{random.randint(1,9) %}})(x - 4)
|
||||
\end{equation*}
|
||||
\end{Exo}
|
||||
|
||||
\begin{Exo}[4]
|
||||
On cherche à évaluer l'aire du rectangle suivant:
|
||||
\begin{center}
|
||||
%\includegraphics[scale=0.3]{fig/rectangle}
|
||||
\end{center}
|
||||
\begin{enumerate}[a.]
|
||||
\item En fonction de $x$, déterminer la hauteur puis la largeur du rectangle.
|
||||
\item Exprimer l'aire du rectangle en fonction de $x$.
|
||||
\item Réduire l'expression de l'aire.
|
||||
\item Évaluer l'aire du rectangle quand $x = %{{random.randint(1,9) %}}$.
|
||||
\end{enumerate}
|
||||
\end{Exo}
|
||||
|
||||
\begin{Exo}[6]
|
||||
Factoriser, en soulignant le terme commun, les expressions suivantes:
|
||||
\begin{equation*}
|
||||
A = 6x + 12 \qquad B = 21x + 7 \qquad C = 10x^2 - 5x + 25 \qquad D = 16x^2 - 24x
|
||||
\end{equation*}
|
||||
\end{Exo}
|
||||
|
||||
\begin{Exo}[5.5]
|
||||
Voici les performances en saut en hauteur d'une classe de troisième. Les hauteurs sont données en centimètres.
|
||||
\begin{equation*}
|
||||
%{{ "; \\quad ".join(random.gaussRandomlist_strInt(120, 20, 10)) %}}
|
||||
\end{equation*}
|
||||
\begin{enumerate}[a.]
|
||||
\item Quel est l'effectif total de cette série?
|
||||
\item Quelle est l'étendue de cette série?
|
||||
\item Déterminer la performance moyenne (notée $M$) des élèves de cette classe (On arrondira le résultat à l'unité).
|
||||
\item Déterminer une performance médiane (notée $Me$).
|
||||
\end{enumerate}
|
||||
|
||||
\end{Exo}
|
||||
|
||||
\end{document}
|
||||
|
||||
%%% Local Variables:
|
||||
%%% mode: latex
|
||||
%%% TeX-master: "master"
|
||||
%%% End:
|
||||
|
38
example.tpl.tex
Normal file
38
example.tpl.tex
Normal file
@ -0,0 +1,38 @@
|
||||
\documentclass[a4paper,10pt]{/media/documents/Cours/Prof/Enseignements/tools/style/classDS}
|
||||
\usepackage{/media/documents/Cours/Prof/Enseignements/2013_2014}
|
||||
|
||||
% Title Page
|
||||
\titre{Calcul littéral et statistiques}
|
||||
% \quatreC \quatreD \troisB \troisPro
|
||||
\classe{\troisB}
|
||||
\date{26 septemble 2013}
|
||||
% DS DSCorr DM DMCorr Corr
|
||||
\typedoc{DS}
|
||||
\duree{1 heure}
|
||||
\sujet{\Var{infos.subj}}
|
||||
|
||||
|
||||
\begin{document}
|
||||
\maketitle
|
||||
|
||||
\Calc
|
||||
Le barème est donné à titre indicatif, il pourra être modifié.
|
||||
|
||||
\begin{Exo}[4.5]
|
||||
\Block{set A = RdExpression("{a} / 2 + 2")()}
|
||||
\Block{set B = RdExpression("{a} / 2 + 4")()}
|
||||
Développer et réduire les expressions suivantes:
|
||||
\begin{equation*}
|
||||
A = \Var{ A } \\
|
||||
B = \Var{ B }
|
||||
\end{equation*}
|
||||
\end{Exo}
|
||||
|
||||
|
||||
\end{document}
|
||||
|
||||
%%% Local Variables:
|
||||
%%% mode: latex
|
||||
%%% TeX-master: "master"
|
||||
%%% End:
|
||||
|
@ -4,48 +4,48 @@
|
||||
import jinja2, random, os
|
||||
import sys
|
||||
import optparse
|
||||
from rd_frac import frac
|
||||
from pythagore import pythagore_triplet
|
||||
from pymath.random_expression import RdExpression
|
||||
|
||||
def randfloat(approx = 1, low = 0, up = 10):
|
||||
""" return a random number between low and up with approx floating points """
|
||||
ans = random.random()
|
||||
ans = ans*(up - low) + low
|
||||
ans = round(ans, approx)
|
||||
return ans
|
||||
|
||||
random.randfloat = randfloat
|
||||
|
||||
def gaussRandomlist(mu = 0, sigma = 1, size = 10, manip = lambda x:x):
|
||||
""" return a list of a gaussian sample """
|
||||
ans = []
|
||||
for i in range(size):
|
||||
ans += [manip(random.gauss(mu,sigma))]
|
||||
return ans
|
||||
|
||||
random.gaussRandomlist = gaussRandomlist
|
||||
|
||||
def gaussRandomlist_strInt(mu = 0, sigma = 1, size = 10):
|
||||
return gaussRandomlist(mu, sigma, size, manip = lambda x: str(int(x)))
|
||||
|
||||
random.gaussRandomlist_strInt = gaussRandomlist_strInt
|
||||
|
||||
random.frac = frac
|
||||
random.pythagore = pythagore_triplet
|
||||
|
||||
|
||||
|
||||
|
||||
report_renderer = jinja2.Environment(
|
||||
block_start_string = '%{',
|
||||
block_end_string = '%}',
|
||||
variable_start_string = '%{{',
|
||||
variable_end_string = '%}}',
|
||||
loader = jinja2.FileSystemLoader(os.path.abspath('.'))
|
||||
#texenv = jinja2.Environment(
|
||||
# block_start_string = '%{',
|
||||
# block_end_string = '%}',
|
||||
# variable_start_string = '%{{',
|
||||
# variable_end_string = '%}}',
|
||||
# loader = jinja2.FileSystemLoader(os.path.abspath('.'))
|
||||
#)
|
||||
texenv = jinja2.Environment(
|
||||
block_start_string = '\Block{',
|
||||
# Gros WTF!! Si on le met en maj ça ne marche pas alors que c'est en maj dans le template...
|
||||
block_end_string = '}',
|
||||
variable_start_string = '\Var{',
|
||||
variable_end_string = '}',
|
||||
loader = jinja2.FileSystemLoader(os.path.abspath('.'))
|
||||
)
|
||||
|
||||
# The environment
|
||||
#report_renderer = jinja2.Environment(
|
||||
# block_start_string = '\BLOCK{',
|
||||
# block_end_string = '}',
|
||||
# variable_start_string = '\VAR{',
|
||||
# variable_end_string = '}',
|
||||
# comment_start_string = '\#{',
|
||||
# comment_end_string = '}',
|
||||
# line_statement_prefix = '%-',
|
||||
# line_comment_prefix = '%#',
|
||||
# trim_blocks = True,
|
||||
# autoescape = False,
|
||||
# loader = jinja2.FileSystemLoader(os.path.abspath('.'))
|
||||
#)
|
||||
|
||||
|
||||
#texenv = jinja2.Environment()
|
||||
#texenv.block_start_string = '\BLOCK{'
|
||||
#texenv.block_end_string = '}'
|
||||
#texenv.loader = jinja2.FileSystemLoader('.')
|
||||
|
||||
def main(options):
|
||||
template = report_renderer.get_template(options.template)
|
||||
#template = report_renderer.get_template(options.template)
|
||||
template = texenv.get_template(options.template)
|
||||
|
||||
cwd = os.getcwd()
|
||||
|
||||
@ -56,20 +56,21 @@ def main(options):
|
||||
output_name = tpl_base + "_"
|
||||
|
||||
output_dir = os.path.dirname(output_name)
|
||||
if output_dir != "":
|
||||
os.chdir(output_dir)
|
||||
output_basename = os.path.basename(output_name)
|
||||
output_tplname = output_basename.split("/")[-1]
|
||||
|
||||
os.chdir(output_dir)
|
||||
|
||||
for subj in range(options.num_subj):
|
||||
subj = subj+1
|
||||
dest = output_tplname + str(subj) + '.tex'
|
||||
with open( dest, 'w') as f:
|
||||
f.write(template.render(random = random, infos = {"subj" : subj}))
|
||||
os.system("pdflatex " + dest)
|
||||
f.write(template.render(plop = str(1), RdExpression = RdExpression , infos = {"subj" : subj}))
|
||||
#os.system("pdflatex " + dest)
|
||||
|
||||
if not options.dirty:
|
||||
os.system("rm *.aux *.log")
|
||||
#if not options.dirty:
|
||||
# os.system("rm *.aux *.log")
|
||||
|
||||
os.chdir(cwd)
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user