diff --git a/snippets/all_fonctions.pdf b/snippets/all_fonctions.pdf new file mode 100644 index 0000000..86299c8 Binary files /dev/null and b/snippets/all_fonctions.pdf differ diff --git a/snippets/all_suite.pdf b/snippets/all_suite.pdf new file mode 100644 index 0000000..f15b1ac Binary files /dev/null and b/snippets/all_suite.pdf differ diff --git a/snippets/tpl_fonctions.tex b/snippets/tpl_fonctions.tex new file mode 100644 index 0000000..ea3fac8 --- /dev/null +++ b/snippets/tpl_fonctions.tex @@ -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} diff --git a/snippets/tpl_suite.tex b/snippets/tpl_suite.tex new file mode 100644 index 0000000..24ed5e1 --- /dev/null +++ b/snippets/tpl_suite.tex @@ -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}