Feat: Start working on snippets

This commit is contained in:
Bertrand Benjamin 2019-07-16 16:50:44 +02:00
parent eac1e2efb1
commit de8d3e574d
4 changed files with 183 additions and 0 deletions

BIN
snippets/all_fonctions.pdf Normal file

Binary file not shown.

BIN
snippets/all_suite.pdf Normal file

Binary file not shown.

View File

@ -0,0 +1,96 @@
% vim:ft=tex:
%
\documentclass[12pt]{article}
\usepackage[utf8x]{inputenc}
\usepackage[francais]{babel}
\usepackage[T1]{fontenc}
\usepackage{amssymb}
\usepackage{amsmath}
\usepackage{amsfonts}
\title{
Snippets pour Opytex \\
Fonctions
}
\author{
Benjamin Bertrand
}
\begin{document}
\maketitle
\section{Calculer des images}
\begin{enumerate}
%-set f = Expression.random("{a}*x^2 + {b}*x + {c}")
\item $\forall x \in \mathbb{R} \qquad f(x) = \Var{f}$
Solution:
\begin{align*}
f(0) &= \Var{f(0).explain() | join('=')} \\
f(1) &= \Var{f(1).explain() | join('=')} \\
f(2) &= \Var{f(2).explain() | join('=')} \\
f({10}) &= \Var{f(10).explain() | join('=')} \\
f({100}) &= \Var{f(100).explain() | join('=')}
\end{align*}
\end{enumerate}
\section{Résolution d'équation du 2nd degré}
%- macro solveEquation(P)
On commence par calculer le discriminant de $P(x) = \Var{P}$.
\begin{eqnarray*}
\Delta & = & b^2-4ac \\
\Var{P.delta.explain()|calculus(name="\\Delta")}
\end{eqnarray*}
\Block{if P.delta > 0}
comme $\Delta = \Var{P.delta} > 0$ donc $P$ a deux racines
\begin{eqnarray*}
x_1 & = & \frac{-b - \sqrt{\Delta}}{2a} = \frac{\Var{-P.b} - \sqrt{\Var{P.delta}}}{2 \times \Var{P.a}} = \Var{P.roots[0] } \\
x_2 & = & \frac{-b + \sqrt{\Delta}}{2a} = \frac{\Var{-P.b} + \sqrt{\Var{P.delta}}}{2 \times \Var{P.a}} = \Var{P.roots[1] }
\end{eqnarray*}
Les solutions de l'équation $\Var{P} = 0$ sont donc $\mathcal{S} = \left\{ \Var{P.roots[0]}; \Var{P.roots[1]} \right\}$
\Block{elif P.delta == 0}
Comme $\Delta = 0$ donc $P$ a une racine
\begin{eqnarray*}
x_1 = \frac{-b}{2a} = \frac{-\Var{P.b}}{2\times \Var{P.a}} = \Var{P.roots[0]} \\
\end{eqnarray*}
La solution de $\Var{P} = 0$ est donc $\mathcal{S} = \left\{ \Var{P.roots[0]}\right\}$
\Block{else}
Alors $\Delta = \Var{P.delta} < 0$ donc $P$ n'a pas de racine donc l'équation $\Var{P} = 0$ n'a pas de solution.
\Block{endif}
%- endmacro
\begin{enumerate}
%-set P = Expression.random("{a}*x^2 + {b}*x + {c}", ["b**2-4*a*c>0"])
\item Étude du polynôme $P$, $\forall x \in \mathbb{R} \quad P(x) = \Var{P}$
Solution:
\Var{solveEquation(P)}
%-set P = Expression.random("{a}*x^2 + {b}*x + {c}", ["b**2-4*a*c==0"])
\item Étude du polynôme $P$, $\forall x \in \mathbb{R} \quad P(x) = \Var{P}$
Solution:
\Var{solveEquation(P)}
%-set P = Expression.random("{a}*x^2 + {b}*x + {c}", ["b**2-4*a*c<0"])
\item Étude du polynôme $P$, $\forall x \in \mathbb{R} \quad P(x) = \Var{P}$
Solution:
\Var{solveEquation(P)}
\end{enumerate}
\end{document}

87
snippets/tpl_suite.tex Normal file
View File

@ -0,0 +1,87 @@
% vim:ft=tex:
%
\documentclass[12pt]{article}
\usepackage[utf8x]{inputenc}
\usepackage[francais]{babel}
\usepackage[T1]{fontenc}
\usepackage{amssymb}
\usepackage{amsmath}
\usepackage{amsfonts}
\title{
Snippets pour Opytex \\
Suites
}
\author{
Benjamin Bertrand
}
\begin{document}
\maketitle
\section{Calculs de termes}
\begin{enumerate}
\item Calculer les termes $u_0$, $u_1$, $u_2$, $u_{10}$ et $u_{100}$ pour les suites suivantes
\begin{enumerate}
%-set u = Expression.random("{a}*n+{b}")
\item $\forall n \in \mathbb{N} \qquad u_n = \Var{u}$
Solution:
\begin{align*}
u_0 &= \Var{u(0).explain() | join('=')} \\
u_1 &= \Var{u(1).explain() | join('=')} \\
u_2 &= \Var{u(2).explain() | join('=')} \\
u_{10} &= \Var{u(10).explain() | join('=')} \\
u_{100} &= \Var{u(100).explain() | join('=')}
\end{align*}
%-set v = Expression.random("({a}*n+{b})/{c}", ["c>1"])
\item $\forall n \in \mathbb{N} \qquad v_n = \Var{v|replace("frac","dfrac")}$
Solution:
\begin{align*}
v_0 &= \Var{v(0).explain() | join('=')} \\
v_1 &= \Var{v(1).explain() | join('=')} \\
v_2 &= \Var{v(2).explain() | join('=')} \\
v_{10} &= \Var{v(10).explain() | join('=')} \\
v_{100} &= \Var{v(100).explain() | join('=')}
\end{align*}
%-set v = Expression.random("({a}*n+{b})/{c}", ["c>1"])
\item $\forall n \in \mathbb{N} \qquad v_n = \Var{v}$
Solution:
\begin{align*}
%- for j in [0, 1, 2, 10, 100]
v_{\Var{j}} &= \Var{v(j).explain() | join('=')} \\
%- endfor
\end{align*}
%-set f = Expression.random("{a}*x")
%-set v0 = randint(0, 10)
\item $\forall n \in \mathbb{N} \qquad v_{n+1} = \Var{f("v_n")} \mbox{ et } v_0 = \Var{v0}$
Solution:
\begin{align*}
v_0 &= \Var{v0} \\
%-set v = f(v0)
v_1 &= \Var{v.explain() | join('=')} \\
%-set v = f(v)
v_2 &= \Var{v.explain() | join('=')} \\
\end{align*}
Pour le terme 10, il faut calculer tous les autres avant!
\begin{align*}
%#- Trick to move around scoping rules
%#- https://stackoverflow.com/a/49699589
%- set v = namespace(val = v)
%- for i in range(8)
%- set v.val = f(v.val)
v_{\Var{i+3}} &= \Var{v.val.explain() | join('=')} \\
%- endfor
\end{align*}
\end{enumerate}
\end{enumerate}
\end{document}