diff options
author | Karl Berry <karl@freefriends.org> | 2023-01-03 20:48:33 +0000 |
---|---|---|
committer | Karl Berry <karl@freefriends.org> | 2023-01-03 20:48:33 +0000 |
commit | d1a0bd826619d5cb07de57865ef733b300e52bbe (patch) | |
tree | 8667f9b9e6fa66582539b30eb59c211a297e6701 /Master/texmf-dist | |
parent | 5f82dffae899339de8b7034e11db9b3f6c31acb9 (diff) |
proflycee (3jan23)
git-svn-id: svn://tug.org/texlive/trunk@65449 c570f23f-e606-0410-a88d-b1316a301751
Diffstat (limited to 'Master/texmf-dist')
-rw-r--r-- | Master/texmf-dist/doc/latex/proflycee/ProfLycee-doc.pdf | bin | 814698 -> 852346 bytes | |||
-rw-r--r-- | Master/texmf-dist/doc/latex/proflycee/ProfLycee-doc.tex | 650 | ||||
-rw-r--r-- | Master/texmf-dist/doc/latex/proflycee/pl-solve_a.png | bin | 0 -> 5226 bytes | |||
-rw-r--r-- | Master/texmf-dist/doc/latex/proflycee/pl-solve_b.png | bin | 0 -> 9215 bytes | |||
-rw-r--r-- | Master/texmf-dist/doc/latex/proflycee/pl-solve_c.png | bin | 0 -> 10175 bytes | |||
-rw-r--r-- | Master/texmf-dist/doc/latex/proflycee/pl-solve_d.png | bin | 0 -> 10145 bytes | |||
-rw-r--r-- | Master/texmf-dist/tex/latex/proflycee/ProfLycee.sty | 48 |
7 files changed, 413 insertions, 285 deletions
diff --git a/Master/texmf-dist/doc/latex/proflycee/ProfLycee-doc.pdf b/Master/texmf-dist/doc/latex/proflycee/ProfLycee-doc.pdf Binary files differindex 2d01148be50..46ee34e10f7 100644 --- a/Master/texmf-dist/doc/latex/proflycee/ProfLycee-doc.pdf +++ b/Master/texmf-dist/doc/latex/proflycee/ProfLycee-doc.pdf diff --git a/Master/texmf-dist/doc/latex/proflycee/ProfLycee-doc.tex b/Master/texmf-dist/doc/latex/proflycee/ProfLycee-doc.tex index 83a859b12b8..b9862359503 100644 --- a/Master/texmf-dist/doc/latex/proflycee/ProfLycee-doc.tex +++ b/Master/texmf-dist/doc/latex/proflycee/ProfLycee-doc.tex @@ -5,21 +5,22 @@ % arara: lualatex: {shell: yes, synctex: no, interaction: batchmode} if found('log', '(undefined references|Please rerun|Rerun to get)') \documentclass{article} -\usepackage[french]{babel} +\def\PLversion{2.1.4} +\def\PLdate{02 Janvier 2023} \usepackage[pythontex]{ProfLycee} \usepackage{mathtools} \usepackage{lualatex-math} \usepackage{luatexbase} \usepackage[math-style=french,bold-style=ISO]{fourier-otf} \usepackage{tkz-euclide} +\usepackage{tkz-tab} +\tikzstyle{every picture}+=[remember picture] \usetikzlibrary{hobby} \usepackage[group-minimum-digits=4]{siunitx} +\sisetup{locale=FR} \usepackage{fancyvrb} \usepackage{fancyhdr} \usepackage{multicol} -%\makeatletter -% \@addtoreset{section}{part} -%\makeatother %fancy \fancyhf{} \renewcommand{\headrulewidth}{0pt} @@ -34,13 +35,7 @@ \let\tab\relax \usepackage{tabto} \usepackage{pgf,pgfplots} -\pgfplotsset{ - compat=newest, - xlabel near ticks, - ylabel near ticks -} -\usepackage{tkz-tab} -\tikzstyle{every picture}+=[remember picture] +\pgfplotsset{compat=newest,xlabel near ticks,ylabel near ticks} \usepackage{listofitems} \usepackage{xintexpr} \usepackage{codehigh} @@ -48,10 +43,9 @@ \usepackage{hyperref} \urlstyle{same} \hypersetup{pdfborder=0 0 0} - -\sisetup{locale=FR} \usepackage{geometry} \geometry{margin=1.5cm} +\usepackage[french]{babel} \usepackage{newverbs} \newverbcommand{\pverb}{\color{purple}}{} \newverbcommand{\rverb}{\color{red}}{} @@ -62,31 +56,28 @@ \setlength{\parindent}{0pt} \definecolor{LightGray}{gray}{0.9} -\def\PLversion{2.1.3} -\def\PLdate{30 Décembre 2022} - \tcbset{vignettes/.style={% - nobeforeafter,box align=base,boxsep=0pt,enhanced,sharp corners=all,rounded corners=southeast,% - boxrule=0.75pt,left=7pt,right=1pt,top=0pt,bottom=0.25pt,% + nobeforeafter,box align=base,boxsep=0pt,enhanced,sharp corners=all,rounded corners=southeast,% + boxrule=0.75pt,left=7pt,right=1pt,top=0pt,bottom=0.25pt,% } } \tcbset{vignettelatex/.style={% - fontupper={\vphantom{pf}\footnotesize\ttfamily}, - vignettes,% - colframe=CadetBlue,coltitle=white,colback=CadetBlue!5,% - overlay={\begin{tcbclipinterior}% - \fill[fill=lightgray!50]($(interior.south west)$) rectangle node[rotate=90]{\tiny \sffamily{\textcolor{CadetBlue}{\scalebox{0.6}[0.75]{\textbf{\LaTeX}}}}} ($(interior.north west)+(5pt,0pt)$);% - \end{tcbclipinterior}} + fontupper={\vphantom{pf}\footnotesize\ttfamily}, + vignettes,% + colframe=CadetBlue,coltitle=white,colback=CadetBlue!5,% + overlay={\begin{tcbclipinterior}% + \fill[fill=lightgray!50]($(interior.south west)$) rectangle node[rotate=90]{\tiny \sffamily{\textcolor{CadetBlue}{\scalebox{0.6}[0.75]{\textbf{\LaTeX}}}}} ($(interior.north west)+(5pt,0pt)$);% + \end{tcbclipinterior}} } } \tcbset{vignetteMaJ/.style={% - fontupper={\vphantom{pf}\footnotesize\ttfamily}, - vignettes,% - colframe=ForestGreen!50!black,coltitle=white,colback=ForestGreen!25,% - overlay={\begin{tcbclipinterior}% - \fill[fill=ForestGreen!75]($(interior.south west)$) rectangle node[rotate=90]{\tiny \sffamily{\textcolor{Black}{\scalebox{0.85}[0.75]{\textbf{MàJ}}}}} ($(interior.north west)+(5pt,0pt)$);% - \end{tcbclipinterior}} + fontupper={\vphantom{pf}\footnotesize\ttfamily}, + vignettes,% + colframe=ForestGreen!50!black,coltitle=white,colback=ForestGreen!25,% + overlay={\begin{tcbclipinterior}% + \fill[fill=ForestGreen!75]($(interior.south west)$) rectangle node[rotate=90]{\tiny \sffamily{\textcolor{Black}{\scalebox{0.85}[0.75]{\textbf{MàJ}}}}} ($(interior.north west)+(5pt,0pt)$);% + \end{tcbclipinterior}} } } @@ -113,9 +104,7 @@ %petite vignette màj \newcommand\cmaj[1]{% - %\IfStrEq{#1}{\PLversion}% - {\tcbox[vignetteMaJ]{#1}\xspace}% - %{}% + {\tcbox[vignetteMaJ]{#1}\xspace}% } %gestion de la fenêtre v2 directement dans le tikzpicture @@ -207,54 +196,49 @@ \date{Version \PLversion{} -- \PLdate} \newcommand\Cle[1]{{\bfseries\sffamily\textlangle #1\textrangle}} +\newcommand\deblst{{\tiny\faCode}~} \begin{document} -%\AddToShipoutPicture{% -%\begin{tikzpicture}[remember picture,overlay] -% \node [anchor=center,yshift=1cm,xshift=-1.5cm] (box\thepage) at (current page.south east){\hyperlink{matoc}{\LARGE\faArrowAltCircleUp[regular]}}; -%\end{tikzpicture}} - \pagestyle{fancy} \maketitle \thispagestyle{empty} -{\sffamily{\bfseries Résumé} :\\ -Quelques commandes pour faciliter l'utilisation de \LaTeX{} pour les enseignants de mathématiques en lycée.} +{\sffamily{\bfseries Résumé} : Quelques commandes pour faciliter l'utilisation de \LaTeX{} pour les enseignants de mathématiques en lycée.} \medskip -{\small\noindent Quelques commandes pour des courbes \textit{lisses} avec gestion des extrema et des dérivées.\\ -Quelques commandes pour simuler une fenêtre de logiciel de calcul formel, en \TikZ.\\ -Quelques environnements (\textsf{tcbox}) pour présenter du code \textsf{python} ou \textsf{pseudocode}.\\ -Quelques environnements (\textsf{tcbox}) pour présenter des commandes dans un terminal (\textsf{win} ou \textsf{mac} ou \textsf{linux}).\\ -Un cartouche (\textsf{tcbox}) pour présenter des codes de partage \textsf{capytale}.\\ -Une commande pour tracer un pavé en droit, en \TikZ, avec création des nœuds liés aux sommets.\\ -Une commande pour simplifier des calculs sous forme fractionnaire, des racines.\\ -Une commande pour simplifier l'écriture d'un ensemble, avec espaces \og automatiques \fg.\\ -Des commandes pour effectuer des calculs avec des suites récurrentes.\\ -Une commande pour créer, en \TikZ, la \textit{toile} pour une suite récurrente.\\ -Une commande pour créer, en \TikZ, un cercle trigo avec options.\\ -Une commande pour afficher un petit schéma, en \TikZ, sur le signe d'une fonction affine ou d'un trinôme.\\ -Deux commandes pour, en \TikZ, créer des petits schémas \og de signe \fg.\\ -Une commande pour travailler sur les statistiques à deux variables (algébriques et graphiques).\\ -Quelques commandes pour convertir bin/dec/hex avec certains détails.\\ -Une commande pour, en \TikZ, créer un pixelart avec correction éventuelle.\\ -Une commande pour, en \TikZ, créer un SudoMaths non forcément $9\times9$.\\ -Des commandes pour effectuer des calculs de probas (lois binomiale, exponentielle, de Poisson, normale).\\ -Une commande pour, en \TikZ, créer des arbres de probas \og classiques \fg.\\ -Une commande pour générer des listes d'entiers aléatoires (avec ou sans répétitions).\\ -\ldots} +{\small\noindent% +{\deblst} résoudre, de manière approchée, des équations \\ +{\deblst} tracer \textit{facilement} des repères/grilles/courbes\\ +{\deblst} tracer des courbes \textit{lisses} avec gestion des extrema et des dérivées\\ +{\deblst} simuler une fenêtre de logiciel de calcul formel, une console d'exécution \\ +{\deblst} présenter du code \textsf{python} ou \textsf{pseudocode} \\ +{\deblst} tracer rapidement un pavé, un tétraèdre \\ +{\deblst} simplifier des calculs sous forme fractionnaire, simplifier des racines \\ +{\deblst} effectuer des calculs avec des suites récurrentes \\ +{\deblst} créer la \textit{toile} pour une suite récurrente \\ +{\deblst} afficher et utiliser un cercle trigo \\ +{\deblst} afficher un petit schéma pour le signe d'une fonction affine ou d'un trinôme \\ +{\deblst} travailler sur les statistiques à deux variables (algébriques et graphiques) \\ +{\deblst} convertir entre bin/dec/hex avec détails \\ +{\deblst} présenter un calcul de PGCD \\ +{\deblst} créer un pixelart avec correction éventuelle \\ +{\deblst} effectuer des calculs de probas (lois binomiale, exponentielle, de Poisson, normale) \\ +{\deblst} créer des arbres de probas \og classiques \fg \\ +{\deblst} générer des listes d'entiers aléatoires (avec ou sans répétitions)\\ +{\deblst} déterminer la mesure principale d'un angle \\ +{\deblst} \ldots} ~ -\hfill{}\textit{Merci à Anne pour ses retours et sa relecture !} +\hfill{}\textsl{Merci à Anne pour ses retours et sa relecture !} -\hfill{}\textit{Merci à Christophe pour ses retours et ses éclairages !} +\hfill{}\textsl{Merci à Christophe pour ses retours et ses éclairages !} -\hfill{}\textit{Merci aux membres du groupe \faFacebook{} du \og Coin \LaTeX{} \fg{} pour leur aide et leurs idées !} +\hfill{}\textsl{Merci aux membres du groupe \faFacebook{} du \og Coin \LaTeX{} \fg{} pour leur aide et leurs idées !} \vfill @@ -303,7 +287,7 @@ On peut le voir comme un (maigre) complément à \ctex{ProfCollege}, et je préc Il se charge, dans le préambule, par \ctex{\textbackslash usepackage\{ProfLycee\}}. Il charge quelques {packages} utiles, mais j'ai fait le choix de laisser l'utilisateur gérer ses autres {packages}, comme notamment \ctex{amssymb} qui peut poser souci en fonction de la \textit{position} de son chargement. -L'utilisateur est libre de charger ses autres {packages} utiles et habituels, ainsi que ses \textsf{polices} et \textsf{encodages} habituels. +L'utilisateur est libre de charger ses autres {packages} utiles et habituels, ainsi que ses \textsf{polices} et \textsf{encodages} habituels ! \end{codeidee} \begin{codeinfo} @@ -311,10 +295,10 @@ Le {package} \ctex{ProfLycee} charge les {packages} : \begin{itemize} \item \ctex{xcolor} avec les options \textsf{[table,svgnames]} ; - \item \ctex{tikz}, \ctex{pgf}, \ctex{xfp} ; - \item \ctex{xparse}, \ctex{xkeyval}, \ctex{xstring}, \ctex{simplekv} ; - \item \ctex{listofitems}, \ctex{xintexpr} , \ctex{xintbinhex} et \ctex{xintgcd}; - \item \ctex{tabularray}, \ctex{fontawesome5}, \ctex{tcolorbox} ; + \item \ctex{tikz}, \ctex{pgf}, \ctex{pgffor} ; + \item \ctex{xparse}, \ctex{xstring}, \ctex{simplekv}, \ctex{xinttools} ; + \item \ctex{listofitems}, \ctex{xintexpr} , \ctex{xintbinhex}, \ctex{xintgcd} ; + \item \ctex{tabularray}, \ctex{fontawesome5}, \ctex{tcolorbox}, \ctex{randomlist}, \ctex{fancyvrb}, \ctex{csvsimple} ; \item \ctex{piton} (uniquement si compilation en \LuaLaTeX{} !) et \ctex{pythontex}. \end{itemize} \end{codeinfo} @@ -362,7 +346,7 @@ Cependant, si vous ne \underline{souhaitez pas} charger (et utiliser) \ctex{mint \begin{codeattention} \cmaj{2.1.0} Le package\ctex{pythontex} nécessitant une chaîne de compilation particulière, j'ai décidé de le mettre en \textit{option}. -Pour utiliser le package \ctex{pythontex} et utiliser les commandes définies à partir de lui, il faut désormais charger \ctex{ProfLycee} avec l'option \Cle{pythontex}. +Pour utiliser le package \ctex{pythontex} et utiliser les commandes qui lui sont liées, il faut désormais charger \ctex{ProfLycee} avec l'option \Cle{pythontex}. \end{codeattention} \begin{codetex}[listing only] @@ -407,7 +391,7 @@ Les options précédentes sont cumulables, et, pour info, elles conditionnent le \section{Compléments} -\subsection{Changements à partir de cette version !!} +\subsection{Changements à partir de la version 2 !!} \begin{codeattention} \cmaj{2.0.0} Pour des raisons pratiques, les commandes et environnements disponibles dans \ctex{ProfLycee} ont été renommés, pour utiliser des noms plus génériques et explicites. @@ -420,7 +404,7 @@ Je préfère faire ces ajustements tant que le package est assez \textit{jeune} \end{codeattention} \begin{codeattention} -\cmaj{2.0.0} L'ancienne version du package \ctex{ProfLycee} est toutefois encore disponible, pour nue migration en douceur, elle est désormais accessible sous le nom \ctex{ProfLycee-old}, et la documentation est également encore disponible. +\cmaj{2.0.0} L'ancienne version (qui ne sera mise à jour !!) du package \ctex{ProfLycee} est toutefois encore disponible, pour une migration en douceur, elle est désormais accessible sous le nom \ctex{ProfLycee-old}, et la documentation est également encore disponible. \end{codeattention} \begin{codetex}[listing only] @@ -452,7 +436,7 @@ Pour certaines commandes, le système de \Cle{Clés} pose quelques soucis, de ce \end{codeidee} \begin{codeinfo} -Les \textsf{commandes} et \textsf{environnements} présentés seront explicités via leur \textsf{syntaxe} avec les \textsf{options} ou \textsf{arguments}. +Les \textsf{commandes} et \textsf{environnements} présentés seront explicités via leur \textsf{syntaxe} avec les \textsf{options/clés} ou \textsf{arguments}. Autant que faire se peut, des exemples/illustrations/remarques seront proposés à chaque fois. @@ -495,10 +479,10 @@ Le package \ctex{ProfLycee} est compatible avec les compilateurs classiques : \t \smallskip -En ce qui concerne les codes \textsf{python} et/ou \textsf{pseudocode}, il faudra : +En ce qui concerne les codes \textsf{python}, il faudra : \begin{itemize} - \item compiler en chaîne \textsf{pdflatex + pythontex + pdflatex} pour les environnements avec \ctex{pythontex} ; + \item compiler en chaîne \textsf{(xxx)latex + pythontex + (xxx)latex} pour les environnements avec \ctex{pythontex} ; \item compiler avec \textsf{shell-escape} (ou \textsf{write18}) pour les environnements avec \ctex{minted}. \end{itemize} \end{codeinfo} @@ -514,7 +498,7 @@ Certaines \textsf{commandes} sont à intégrer dans un environnement \TikZ, afin \smallskip -Certains packages ont une fâcheuse tendance à être tatillons sur leurs options (les \textit{fameux} \textsf{option clash for} \ldots) ou leur \textit{position} dans le chargement, donc attention notamment au chargement de \ctex{xcolor} et de \ctex{amsmath}. +Certains packages ont une fâcheuse tendance à être tatillons sur leurs options (les \textit{fameux} \textsf{option clash for} \ldots) ou leur \textit{position} dans le chargement, donc attention notamment au chargement de \ctex{xcolor} et de \ctex{amssymb} ! \smallskip @@ -546,6 +530,21 @@ Elles sont présentées de manière \textit{succincte}, mais elles sont présent \end{codeinfo} \begin{codetex}[listing only] +%Résolution approchée d'une équation f(x)=k +\ResolutionApprochee[clés]{équation}[macro] + +%Présentation d'une solution par balayage (TVI) +\SolutionTVI[options]{fonction}{valeur} + +%Calculer le terme d'une suite récurrente simple, toile pour une suite récurrente simple +\CalculTermeRecurrence[options]{fonction associée} +\ToileRecurrence[clés][options du tracé][option supplémentaire des termes] + +%Mise en forme de la conclusion d'un seuil +\SolutionSeuil[options]{fonction associée}{seuil} +\end{codetex} + +\begin{codetex}[listing only] %fenêtre de repérage en tikz et courbe \GrilleTikz[options][options grille ppale][options grille second.] \AxesTikz[options] \AxexTikz[options]{valeurs} \AxeyTikz[options]{valeurs} @@ -556,19 +555,9 @@ Elles sont présentées de manière \textit{succincte}, mais elles sont présent \SplineTikz[options]{liste} \TangenteTikz[options]{liste} -%Présentation d'une solution par balayage (TVI) -\SolutionTVI[options]{fonction}{valeur} - %schémas pour le signe affine/trinôme, dans un environnement tikz \MiniSchemaSignes[clés] \MiniSchemaSignesTkzTab[options]{numligne}[échelle][décalage horizontal] - -%Calculer le terme d'une suite récurrente simple, toile pour une suite récurrente simple -\CalculTermeRecurrence[options]{fonction associée} -\ToileRecurrence[clés][options du tracé][option supplémentaire des termes] - -%Mise en forme de la conclusion d'un seuil -\SolutionSeuil[options]{fonction associée}{seuil} \end{codetex} \begin{codetex}[listing only] @@ -587,7 +576,9 @@ Elles sont présentées de manière \textit{succincte}, mais elles sont présent %présentation de pseudocode \begin{PseudoCode}(*)[largeur][options]...\end{PseudoCode} +\end{codetex} +\begin{codetex}[listing only] %terminal OS \begin{TerminalWin}[largeur]{clés}[options]...\end{TerminalWin} \begin{TerminalUnix}[largeur]{clés}[options]...\end{TerminalUnix} @@ -638,7 +629,9 @@ Elles sont présentées de manière \textit{succincte}, mais elles sont présent \CalcPoissC{l}{a}{b} \PoissonP(*)[prec]{l}{k} \PoissonC(*)[prec]{l}{a}{b} +\end{codetex} +\begin{codetex}[listing only] %loi géométrique G(p) \CalcGeomP{p}{k} \CalcGeomC{l}{a}{b} @@ -721,6 +714,272 @@ Elles sont présentées de manière \textit{succincte}, mais elles sont présent \part{Outils pour l'analyse} +\section{Résolution approchée d'une équation}\label{resolapprox} + +\subsection{Idée} + +\begin{codeidee} +\cmaj{2.1.4} L'idée est de proposer une commande pour résoudre, de manière approchée, une équation du type $f(x)=k$ sur un intervalle (fermé) donné. + +\smallskip + +La méthode utilisée est la \textbf{dichotomie}, pour plus de rapidité que la méthode \textit{simple} par balayage. +\end{codeidee} + +\begin{codetex}[listing only] +\ResolutionApprochee[clés]{équation}[macro] +\end{codetex} + +\begin{codetex}[] +\ResolutionApprochee[Intervalle=0:10]{x**3-2*x**2-x-1=2}% +$x_0 \approx \num[minimum-decimal-digits=2]{\masolutiond}$ par défaut ;\\ +$x_0 \approx \num[minimum-decimal-digits=2]{\masolutione}$ par excès ;\\ +$x_0 \approx \num[minimum-decimal-digits=2]{\masolutiona}$ arrondi à $10^{-2}$.\\ + +\hfill\includegraphics[scale=0.45]{./graphics/pl-solve_a}\hfill~ +\end{codetex} + +\subsection{Clés et options} + +\begin{codecles} +Quelques explications sur les \Cle{clés} et sur les arguments : + +\begin{itemize} + \item la clé \Cle{Précision} qui permet de spécifier le nombre de chiffres après la virgule de la solution ; \hfill{}défaut \Cle{2} + \item la clé (obligatoire !) \Cle{Intervalle} qui permet de préciser l'intervalle initial de recherche ; + \item la clé \Cle{Variable} qui permet de spécifier la variable de l'équation ;\hfill{}défaut \Cle{x} + \item l'argument \textit{mandataire} est l'équation, sous la forme $f(\ldots)=k$ (ou $f(\ldots)$ pour $f(\ldots)=0$) ; + \item l'argument \textit{optionnel} est la base de la \textit{<macro>} qui sert à stocker les valeurs :\hfill{}défaut \Cle{masolution} + \begin{itemize} + \item \ctex{\textbackslash<macro>d} pour la valeur approchée par défaut ; + \item \ctex{\textbackslash<macro>e} pour la valeur approchée par excès ; + \item \ctex{\textbackslash<macro>a} pour la valeur approchée. + \end{itemize} +\end{itemize} +\end{codecles} + +\begin{codetex}[] +\ResolutionApprochee[Precision=4,Intervalle=0:2]{exp(0.5*x)+x**2-4=0}% +Une valeur approchée, à $10^{-4}$ près, d'une solution de $\text{e}^{0,5x}+x^2-4=0$ sur $\left[0;2\right]$ est $\beta$ avec : +\begin{itemize} + \item $\beta \approx \num[minimum-decimal-digits=4]{\masolutiond}$ par défaut ; + \item $\beta \approx \num[minimum-decimal-digits=4]{\masolutione}$ par excès ; + \item $\beta \approx \num[minimum-decimal-digits=4]{\masolutiona}$. +\end{itemize} +\ResolutionApprochee[Variable=t,Intervalle=-1:2]{3*t*exp(-0.5*t+1)=4}[SolA]% +Une valeur approchée, à $10^{-2}$ près d'une solution de $3t\,\rm{e}^{-0,5t+1}=4$ est $t_1$ avec : +\begin{itemize} + \item $t_1 \approx \num[minimum-decimal-digits=2]{\SolAd}$ par défaut ; + \item $t_1 \approx \num[minimum-decimal-digits=2]{\SolAe}$ par excès ; + \item $t_1 \approx \num[minimum-decimal-digits=2]{\SolAa}$. +\end{itemize} +\ResolutionApprochee[Precision=3,Variable=t,Intervalle=2:10]{3*t*exp(-0.5*t+1)=4}[SolB]% +Une valeur approchée, à $10^{-2}$ près d'une solution de $3t\,\text{e}^{-0,5t+1}=4$ est $t_2$ avec : +\begin{itemize} + \item $t_2 \approx \num[minimum-decimal-digits=2]{\SolBd}$ par défaut ; + \item $t_2 \approx \num[minimum-decimal-digits=2]{\SolBe}$ par excès ; + \item $t_2 \approx \num[minimum-decimal-digits=2]{\SolBa}$. +\end{itemize} + +\medskip + +\hfill\includegraphics[scale=0.45]{./graphics/pl-solve_b}~~ +\includegraphics[scale=0.45]{./graphics/pl-solve_c}~~ +\includegraphics[scale=0.45]{./graphics/pl-solve_d}\hfill~ +\end{codetex} + +\newpage + +\section{Présentation d'une solution d'équation par balayage}\label{solutiontvi} + +\subsection{Idée} + +\begin{codeidee} +\cmaj{2.0.4} L'idée est de présenter l'obtention d'une solution approchée d'équation par balayage, dans le cadre du TVI par exemple. Les calculs et tests sont effectués grâce au package \ctex{xinttools}, et le formatage par \ctex{tabularray} et \ctex{sinuitx}. +\end{codeidee} + +\begin{codeattention} +Le code ne trouve pas la solution, il met \textit{juste} en forme mais effectue quand même les calculs d'images et les tests. +\end{codeattention} + +\begin{codetex}[listing only] +\SolutionTVI[options]{fonction}{valeur} +\end{codetex} + +\subsection{Clés et arguments} + +\begin{codecles} +Plusieurs \Cle{Clés} sont disponibles pour cette commande, relative donc à une équation du type $f(x)=k$ : + +\begin{itemize} + \item la clé \Cle{NomFct} qui permet de spécifier le nom de la fonction ;\hfill{}défaut \Cle{f} + \item la clé \Cle{NomSol} qui permet de spécifier le nom de la fonction ;\hfill{}défaut \Cle{\textbackslash{}alpha} + \item les clés \Cle{va} et \Cle{vb} qui sont les bornes inférieure et supérieure de l'encadrement ; + \item la clé \Cle{Precision} qui est la précision des calculs pour les images ;\hfill{}défaut \Cle{2} + \item la clé \Cle{Stretch} qui permet d'espacer les lignes ;\hfill{}défaut \Cle{1.15} + \item les booléens \Cle{Balayage} ou \Cle{Calculatrice} pour afficher un texte en amont ;\hfill{}défaut \Cle{false} + %\item le booléen \Cle{Simple} pour une présentation plus \textit{neutre} ;\hfill{}défaut \Cle{false} + \item le booléen \Cle{Majuscule} qui affiche le texte avant, avec une majuscule au début.\hfill{}défaut \Cle{true} +\end{itemize} + +\smallskip + +Le premier argument mandataire est la fonction, en syntaxe \ctex{xint} et avec comme variable $x$, et le second la valeur de $k$. +\end{codecles} + +\begin{codetex}[] +Pour $f(x)=0$ avec $f(x)=x^2-2$. On obtient \SolutionTVI[va=1.414,vb=1.415,Precision=3]{x**2-2}{0}. +\end{codetex} + +\begin{codetex}[] +Avec $\varphi(t)=3t\,\rm{e}^{-0,5t+1}=5$, +\SolutionTVI[Majuscule=false,Calculatrice,va=1.02,vb=1.03,NomFct=\varphi]{3*x*exp(-0.5*x+1)}{5} +\end{codetex} + +\begin{codetex}[] +On s'intéresse à $g(x)=\num{1,5}$ avec $g(x)=\ln(x)$. +\SolutionTVI[Balayage,Stretch=1.5,va=4.48,vb=4.49,NomFct=g,Precision=4,NomSol={x_0}]{log(x)}{1.5}. +\end{codetex} + +\subsection{Interaction avec la commande de résolution approchée} + +\begin{codeidee} +\cmaj{2.1.4} L'idée est de récupérer les valeurs par défaut et par excès pour le TVI grâce à la commande \ctex{\textbackslash ResolutionApprochee}. +\end{codeidee} + +\begin{codetex}[] +On s'intéresse à $g(x)=\num{1,5}$ avec $g(x)=\ln(x)$ sur l'intervalle $\left[3;5\right]$. + +\ResolutionApprochee[Intervalle=3:5]{log(x)=1.5}[SolLn] +\SolutionTVI[Balayage,Stretch=1.5,va={\SolLnd},vb={\SolLne},NomFct=g,Precision=4,NomSol={x_0}]{log(x)}{1.5}. +\end{codetex} + +\begin{codeinfo} +À terme, peut-être que la commande \ctex{\textbackslash ResolutionApprochee} sera intégrée dans la commande \ctex{\textbackslash SolutionTVI} afin d'automatiser encore plus le procédé. +\end{codeinfo} + +\newpage + +\section{Suites récurrentes simples}\label{calcrecurr} + +\subsection{Idées} + +\begin{codeidee} +\cmaj{2.0.3} L'idée est de proposer des commandes pour effectuer des calculs avec des suites récurrentes du type $u_{n+1}=f\big(u_n\big)$ : + +\begin{itemize} + \item calcul de termes avec possibilité d'arrondir ; + \item présentation de la conclusion de la recherche d'un seuil du type $u_n > S$ ou $u_n < S$. +\end{itemize} +\end{codeidee} + +\begin{codeattention} +\cmaj{2.1.0} Le code pour le seuil \textbf{trouve} également le rang cherché, il met en forme et effectue les calculs d'images. + +\smallskip + +\cmaj{2.0.5} Le choix a été fait de faire les calculs en mode \ctex{float} pour éviter les dépassements de capacité de \ctex{xint} liés aux boucles\ldots +\end{codeattention} + +\begin{codetex}[listing only] +%commande pour calculer et formater +\CalculTermeRecurrence[options]{fonction associée} + +%mise en forme de la conclusion d'un seuil +\SolutionSeuil[options]{fonction associée}{seuil} +\end{codetex} + +\subsection{Clés et arguments} + +\begin{codecles} +Plusieurs \Cle{Clés} sont disponibles pour la commande du calcul d'un terme : + +\begin{itemize} + \item la clé \Cle{No} qui est le rang initial de la suite ; + \item la clé \Cle{UNo} qui est le terme initial de la suite ; + \item la clé \Cle{Precision} qui précise l'arrondi éventuel ;\hfill{}défaut \Cle{3} + \item la clé \Cle{N} qui est l'indice du terme à calculer. +\end{itemize} + +\smallskip + +L'argument mandataire est la fonction associée à la suite, en syntaxe \ctex{xint} et avec comme variable $x$. +\end{codecles} + +\begin{codetex}[listing only] +Avec $\begin{dcases} u_0 = 50 \\ u_{n+1}=\dfrac{1}{u_n+2} \end{dcases}$. + +On obtient $u_{10} \approx \CalculTermeRecurrence[No=0,UNo=50,N=10]{1/(x+2)}$. + +On obtient $u_{15} \approx \CalculTermeRecurrence[Precision=4,No=0,UNo=50,N=15]{1/(x+2)}$. + +On obtient $u_{20} \approx \CalculTermeRecurrence[Precision=6,No=0,UNo=50,N=20]{1/(x+2)}$. +\end{codetex} + +\begin{codesortie} +Avec $u_0 = 50$ et $u_{n+1}=\dfrac{1}{u_n+2}$. + +\smallskip + +On obtient $u_{10} \approx \CalculTermeRecurrence[No=0,UNo=50,N=10]{1/(x+2)}$ \hfill~sortie par défaut. + +\smallskip + +On obtient $u_{15} \approx \CalculTermeRecurrence[Precision=4,No=0,UNo=50,N=15]{1/(x+2)}$ \hfill~avec choix de la précision à $10^{-4}$. + +\smallskip + +On obtient $u_{20} \approx \CalculTermeRecurrence[Precision=6,No=0,UNo=50,N=20]{1/(x+2)}$ \hfill~avec choix de la précision à $10^{-6}$. +\end{codesortie} + +\begin{codecles} +Plusieurs \Cle{Clés} sont disponibles pour la commande du seuil : + +\begin{itemize} + \item la clé \Cle{NomSuite} qui est le nom de la suite ;\hfill~défaut \Cle{u} + \item la clé \Cle{No} qui est le rang initial de la suite ; + \item la clé \Cle{UNo} qui est le terme initial de la suite ; + %\item la clé \Cle{SolN} qui est la valeur de l'indice cherché ; + \item la clé \Cle{Precision} qui précise l'arrondi éventuel ;\hfill{}défaut \Cle{2} + \item la clé \Cle{Stretch} qui permet d'espacer les lignes ;\hfill{}défaut \Cle{1.15} + \item les booléens \Cle{Balayage} ou \Cle{Calculatrice} pour afficher un texte en amont ;\hfill{}défaut \Cle{false} + \item le booléen \Cle{Simple} pour une présentation plus \textit{neutre} ;\hfill{}défaut \Cle{false} + \item le booléen \Cle{Majuscule} qui affiche le texte avant, avec une majuscule au début ;\hfill{}défaut \Cle{true} + \item le booléen \Cle{Exact} qui affiche \ctex{=} au lieu de \ctex{\textbackslash approx} ;\hfill{}défaut \Cle{false} + \item le booléen \Cle{Conclusion} pour afficher la conclusion ou non ;\hfill{}défaut \Cle{true} + \item la clé \Cle{Sens} parmi \Cle{< / > / <= / >=} pour indiquer le type de seuil.\hfill{}défaut \Cle{>} +\end{itemize} + +\smallskip + +Le premier argument mandataire est la fonction associée à la suite, en syntaxe \ctex{xint} et avec comme variable $x$, et le second est le seuil à dépasser. +\end{codecles} + +\begin{codetex}[] +Avec $\begin{dcases} u_1 = 2 \\ u_{n+1}=1+\dfrac{1+u_n^2}{1+u_n} \end{dcases}$, +on cherche $n$ tel que $u_n > 5$.\\ +\SolutionSeuil[Balayage,No=1,UNo=2]{1+(1+x**2)/(1+x)}{5}. +~\SolutionSeuil[Calculatrice,Precision=4,No=1,UNo=2,Conclusion=false]{1+(1+x**2)/(1+x)}{5}.\\ +\end{codetex} + +\subsection{Exemple d'utilisation} + +\begin{codetex}[] +Avec $\begin{dcases} u_1 = 2 \\ u_{n+1}=1+\dfrac{1+u_n^2}{1+u_n} \end{dcases}$, +on obtient le tableau de valeurs suivant : +\begin{tabular}{c|c} + $n$ & $u_n$ \\ \hline + 1 & 2 \\ + \xintFor* #1 in {\xintSeq{2}{8}} \do {#1 & \CalculTermeRecurrence[No=1,UNo=2,N=#1]{1+(1+x**2)/(1+x)} \\} +\end{tabular}\\ + +\SolutionSeuil[Precision=4,No=1,UNo=2,Simple]{1+(1+x**2)/(1+x)}{10} (Ainsi $u_n > 10$ à partir de $n=\the\CompteurSeuil$) +\end{codetex} + +\newpage + +\part{Outils graphiques, via \TikZ} + \section{Repérage et tracé de courbes, en \TikZ}\label{reperagetikz} \subsection{Idée} @@ -1355,56 +1614,7 @@ On obtient le résultat suivant (avec les éléments rajoutés utiles à la comp \newpage -\section{Présentation d'une solution d'équation par balayage}\label{solutiontvi} - -\subsection{Idée} - -\begin{codeidee} -\cmaj{2.0.4} L'idée est de présenter l'obtention d'une solution approchée d'équation par balayage, dans le cadre du TVI par exemple. Les calculs et tests sont effectués grâce au package \ctex{xinttools}, et le formatage par \ctex{tabularray} et \ctex{sinuitx}. -\end{codeidee} - -\begin{codeattention} -Le code ne trouve pas la solution, il met \textit{juste} en forme mais effectue quand même les calculs d'images et les tests. -\end{codeattention} - -\begin{codetex}[listing only] -\SolutionTVI[options]{fonction}{valeur} -\end{codetex} - -\subsection{Clés et arguments} - -\begin{codecles} -Plusieurs \Cle{Clés} sont disponibles pour cette commande, relative donc à une équation du type $f(x)=k$ : - -\begin{itemize} - \item la clé \Cle{NomFct} qui permet de spécifier le nom de la fonction ;\hfill{}défaut \Cle{f} - \item la clé \Cle{NomSol} qui permet de spécifier le nom de la fonction ;\hfill{}défaut \Cle{\textbackslash{}alpha} - \item les clés \Cle{va} et \Cle{vb} qui sont les bornes inférieure et supérieure de l'encadrement ; - \item la clé \Cle{Precision} qui est la précision des calculs pour les images ;\hfill{}défaut \Cle{2} - \item la clé \Cle{Stretch} qui permet d'espacer les lignes ;\hfill{}défaut \Cle{1.15} - \item les booléens \Cle{Balayage} ou \Cle{Calculatrice} pour afficher un texte en amont ;\hfill{}défaut \Cle{false} - %\item le booléen \Cle{Simple} pour une présentation plus \textit{neutre} ;\hfill{}défaut \Cle{false} - \item le booléen \Cle{Majuscule} qui affiche le texte avant, avec une majuscule au début ;\hfill{}défaut \Cle{true} -\end{itemize} - -\smallskip - -Le premier argument mandataire est la fonction, en syntaxe \ctex{xint} et avec comme variable $x$, et le second la valeur de $k$. -\end{codecles} -\begin{codetex}[] -Pour $f(x)=0$ avec $f(x)=x^2-2$. On obtient \SolutionTVI[va=1.414,vb=1.415,Precision=3]{x**2-2}{0}. -\end{codetex} - -\begin{codetex}[] -Avec $\varphi(t)=3t\,\rm{e}^{-0,5t+1}=5$, -\SolutionTVI[Majuscule=false,Calculatrice,va=1.02,vb=1.03,NomFct=\varphi]{3*x*exp(-0.5*x+1)}{5} -\end{codetex} - -\begin{codetex}[] -On s'intéresse à $g(x)=\num{1,5}$ avec $g(x)=\ln(x)$. -\SolutionTVI[Balayage,Stretch=1.5,va=4.48,vb=4.49,NomFct=g,Precision=4,NomSol={x_0}]{log(x)}{1.5}. -\end{codetex} \newpage @@ -1612,124 +1822,6 @@ En ce qui concerne les autres arguments : \newpage -\section{Suites récurrentes simples}\label{calcrecurr} - -\subsection{Idées} - -\begin{codeidee} -\cmaj{2.0.3} L'idée est de proposer des commandes pour effectuer des calculs avec des suites récurrentes du type $u_{n+1}=f\big(u_n\big)$ : - -\begin{itemize} - \item calcul de termes avec possibilité d'arrondir ; - \item présentation de la conclusion de la recherche d'un seuil du type $u_n > S$ ou $u_n < S$. -\end{itemize} -\end{codeidee} - -\begin{codeattention} -\cmaj{2.1.0} Le code pour le seuil \textbf{trouve} également le rang cherché, il met en forme et effectue les calculs d'images. - -\smallskip - -\cmaj{2.0.5} Le choix a été fait de faire les calculs en mode \ctex{float} pour éviter les dépassements de capacité de \ctex{xint} liés aux boucles\ldots -\end{codeattention} - -\begin{codetex}[listing only] -%commande pour calculer et formater -\CalculTermeRecurrence[options]{fonction associée} - -%mise en forme de la conclusion d'un seuil -\SolutionSeuil[options]{fonction associée}{seuil} -\end{codetex} - -\subsection{Clés et arguments} - -\begin{codecles} -Plusieurs \Cle{Clés} sont disponibles pour la commande du calcul d'un terme : - -\begin{itemize} - \item la clé \Cle{No} qui est le rang initial de la suite ; - \item la clé \Cle{UNo} qui est le terme initial de la suite ; - \item la clé \Cle{Precision} qui précise l'arrondi éventuel ;\hfill{}défaut \Cle{3} - \item la clé \Cle{N} qui est l'indice du terme à calculer. -\end{itemize} - -\smallskip - -L'argument mandataire est la fonction associée à la suite, en syntaxe \ctex{xint} et avec comme variable $x$. -\end{codecles} - -\begin{codetex}[listing only] -Avec $\begin{dcases} u_0 = 50 \\ u_{n+1}=\dfrac{1}{u_n+2} \end{dcases}$. - -On obtient $u_{10} \approx \CalculTermeRecurrence[No=0,UNo=50,N=10]{1/(x+2)}$. - -On obtient $u_{15} \approx \CalculTermeRecurrence[Precision=4,No=0,UNo=50,N=15]{1/(x+2)}$. - -On obtient $u_{20} \approx \CalculTermeRecurrence[Precision=6,No=0,UNo=50,N=20]{1/(x+2)}$. -\end{codetex} - -\begin{codesortie} -Avec $u_0 = 50$ et $u_{n+1}=\dfrac{1}{u_n+2}$. - -\smallskip - -On obtient $u_{10} \approx \CalculTermeRecurrence[No=0,UNo=50,N=10]{1/(x+2)}$ \hfill~sortie par défaut. - -\smallskip - -On obtient $u_{15} \approx \CalculTermeRecurrence[Precision=4,No=0,UNo=50,N=15]{1/(x+2)}$ \hfill~avec choix de la précision à $10^{-4}$. - -\smallskip - -On obtient $u_{20} \approx \CalculTermeRecurrence[Precision=6,No=0,UNo=50,N=20]{1/(x+2)}$ \hfill~avec choix de la précision à $10^{-6}$. -\end{codesortie} - -\begin{codecles} -Plusieurs \Cle{Clés} sont disponibles pour la commande du seuil : - -\begin{itemize} - \item la clé \Cle{NomSuite} qui est le nom de la suite ;\hfill~défaut \Cle{u} - \item la clé \Cle{No} qui est le rang initial de la suite ; - \item la clé \Cle{UNo} qui est le terme initial de la suite ; - %\item la clé \Cle{SolN} qui est la valeur de l'indice cherché ; - \item la clé \Cle{Precision} qui précise l'arrondi éventuel ;\hfill{}défaut \Cle{2} - \item la clé \Cle{Stretch} qui permet d'espacer les lignes ;\hfill{}défaut \Cle{1.15} - \item les booléens \Cle{Balayage} ou \Cle{Calculatrice} pour afficher un texte en amont ;\hfill{}défaut \Cle{false} - \item le booléen \Cle{Simple} pour une présentation plus \textit{neutre} ;\hfill{}défaut \Cle{false} - \item le booléen \Cle{Majuscule} qui affiche le texte avant, avec une majuscule au début ;\hfill{}défaut \Cle{true} - \item le booléen \Cle{Exact} qui affiche \ctex{=} au lieu de \ctex{\textbackslash approx} ;\hfill{}défaut \Cle{false} - \item le booléen \Cle{Conclusion} pour afficher la conclusion ou non ;\hfill{}défaut \Cle{true} - \item la clé \Cle{Sens} parmi \Cle{< / > / <= / >=} pour indiquer le type de seuil.\hfill{}défaut \Cle{>} -\end{itemize} - -\smallskip - -Le premier argument mandataire est la fonction associée à la suite, en syntaxe \ctex{xint} et avec comme variable $x$, et le second est le seuil à dépasser. -\end{codecles} - -\begin{codetex}[] -Avec $\begin{dcases} u_1 = 2 \\ u_{n+1}=1+\dfrac{1+u_n^2}{1+u_n} \end{dcases}$, -on cherche $n$ tel que $u_n > 5$.\\ -\SolutionSeuil[Balayage,No=1,UNo=2]{1+(1+x**2)/(1+x)}{5}. -~\SolutionSeuil[Calculatrice,Precision=4,No=1,UNo=2,Conclusion=false]{1+(1+x**2)/(1+x)}{5}.\\ -\end{codetex} - -\subsection{Exemple d'utilisation} - -\begin{codetex}[] -Avec $\begin{dcases} u_1 = 2 \\ u_{n+1}=1+\dfrac{1+u_n^2}{1+u_n} \end{dcases}$, -on obtient le tableau de valeurs suivant : -\begin{tabular}{c|c} - $n$ & $u_n$ \\ \hline - 1 & 2 \\ - \xintFor* #1 in {\xintSeq{2}{8}} \do {#1 & \CalculTermeRecurrence[No=1,UNo=2,N=#1]{1+(1+x**2)/(1+x)} \\} -\end{tabular}\\ - -\SolutionSeuil[Precision=4,No=1,UNo=2,Simple]{1+(1+x**2)/(1+x)}{10} (Ainsi $u_n > 10$ à partir de $n=\the\CompteurSeuil$) -\end{codetex} - -\newpage - \section{Suites récurrentes et \og toile \fg}\label{recurr} \subsection{Idée} @@ -3358,7 +3450,7 @@ Les valeurs \Cle{mainlevee=5mm et 0.6pt} donnent des résultats -- à mon sens - \begin{codeidee} L'idée est d'utiliser une commande qui va permettre de calculer les paramètres principaux d'un régression linéaire par la méthode des moindres carrés. -Le package \ctex{pgfpots} permet de le faire nativement, mais le moteur de calculs de \textsf{pgf} n'est pas des plus performants avec de grandes valeurs, donc ici cela passe par \ctex{xfp} qui permet de gagner en précision ! +Le package \ctex{pgfpots} permet de le faire nativement, mais le moteur de calculs de \textsf{pgf} peut poser souci avec de grandes valeurs, donc ici cela passe par \ctex{xfp} qui permet de \textit{gagner} en précision ! \smallskip @@ -3666,7 +3758,7 @@ L'idée est de \textit{prolonger} le paragraphe précédent pour proposer un env Un des soucis pour ces situations est le fait que le repère dans lequel on travaille n'a pas forcément pour origine $(0\,;\,0)$. -De ce fait - pour éviter des erreurs de \ctex{dimension too large} liées à \TikZ{} - il faut \textit{décaler les axes} pour se ramener à une origine en $O$. +De ce fait -- pour éviter des erreurs de \ctex{dimension too large} liées à \TikZ{} -- il faut \textit{décaler les axes} pour se ramener à une origine en $O$. \smallskip @@ -3993,7 +4085,7 @@ Cette commande, liée à la commande \ctex{CalculsRegLin} permet de représenter \GrilleTikz \AxesTikz \AxexTikz[Annee,Police=\small]{1992,1994,...,2010} \AxeyTikz{1640,1650,...,1720} - \NuagePointsTikz[couleur=blue/red]{\LLX}{\LLY} + \NuagePointsTikz[Couleur=blue/red]{\LLX}{\LLY} \end{tikzpicture} ~~ \begin{tikzpicture}[x=0.35cm,y=0.07cm,Ox=1992,xmin=1992,xmax=2012,xgrille=2,xgrilles=1,Oy=1640,ymin=1640,ymax=1730,ygrille=10,ygrilles=5] @@ -4075,8 +4167,8 @@ Cette commande permet de rajouter le point moyen du nuage, calculé par la comma Cette commande permet de rajouter une courbe sur le graphique (sans se soucier de la transformation de son expression) avec les arguments : \begin{itemize} - \item \Cle{optionnels} qui sont - en \TikZ{} - les paramètres du tracé ; - \item le premier mandataire, est - en langage \TikZ{} - l'expression de la fonction à tracer, donc avec \ctex{\textbackslash{}x} comme variable ; + \item \Cle{optionnels} qui sont -- en \TikZ{} -- les paramètres du tracé ; + \item le premier mandataire, est -- en langage \TikZ{} -- l'expression de la fonction à tracer, donc avec \ctex{\textbackslash{}x} comme variable ; \item le second mandataire est le domaine du tracé , sous la forme \ctex{valxmin:valxmax}. \end{itemize} \end{codecles} @@ -4095,7 +4187,7 @@ L'idée principale est de récupérer les variables de la régression linéaire \CalculsRegLin{\LLX}{\LLY} \begin{tikzpicture}[...] - \NuagePointsTikz[Couleur=blue/red]{\LLX}{\LLY} \NuagePointsTikz + \NuagePointsTikz[Couleur=blue/red]{\LLX}{\LLY} \PointMoyenTikz \CourbeTikz[line width=1.25pt,ForestGreen,samples=2]{\COEFFa*\x+\COEFFb}{\xmin:\xmax} \end{tikzpicture} \end{codetex} @@ -4320,7 +4412,7 @@ Les probabilités calculables sont donc -- comme pour beaucoup de modèles de ca \smallskip -Pour les probabilités cumulées, on peut utiliser \ctex{*} comme borne ($a$ ou $b$), pour les probabilités du type $P(X\leqslant b)$ et $P(X \geqslant a)$. +Pour les probabilités cumulées, on peut utiliser le caractère \ctex{*} comme borne ($a$ ou $b$), pour les probabilités du type $P(X\leqslant b)$ et $P(X \geqslant a)$. \end{codecles} \begin{codetex}[listing only] @@ -4346,13 +4438,13 @@ $P(1\leqslant W\leqslant3) \approx \CalcHypergeomC{50}{10}{5}{1}{3}$. \end{codetex} \begin{codesortie}[listing only] -$\bullet~~~~X \hookrightarrow \mathcal{B}(5\,;\,0,4)$ :\\ +$\bullet~~~~X \hookrightarrow \mathcal{B}(5\,; 0,4)$ :\\ $P(X=3) \approx \CalcBinomP{5}{0.4}{3}$.\\ $P(X\leqslant1) \approx \CalcBinomC{5}{0.4}{*}{1}$. \medskip -$\bullet~~~~X \hookrightarrow \mathcal{B}(100\,;\,0,02)$ :\\ +$\bullet~~~~X \hookrightarrow \mathcal{B}(100\,; 0,02)$ :\\ $P(X=10) \approx \CalcBinomP{100}{0.02}{10}$.\\ $P(15\leqslant X\leqslant25) \approx \CalcBinomC{100}{0.02}{15}{25}$. @@ -4370,7 +4462,7 @@ $P(T\leqslant5) \approx \CalcGeomC{0.5}{*}{5}$. \medskip -$\bullet~~~~W \hookrightarrow \mathcal{H}(50\,;\,10\,;\,5)$ :\\ +$\bullet~~~~W \hookrightarrow \mathcal{H}(50\,; 10\,; 5)$ :\\ $P(W=4) \approx \CalcHypergeomP{50}{10}{5}{4}$.\\ $P(1\leqslant W\leqslant3) \approx \CalcHypergeomC{50}{10}{5}{1}{3}$. \end{codesortie} @@ -4390,13 +4482,13 @@ $P(300\leqslant Z\leqslant750) \approx \CalcExpoC{0.001}{300}{750}$. \end{codetex} \begin{codesortie} -$\bullet~~~~X \hookrightarrow \mathcal{N}(0\,;\,1)$ :\\ +$\bullet~~~~X \hookrightarrow \mathcal{N}(0\,; 1)$ :\\ $P(X\leqslant1) \approx \CalcNormC{0}{1}{*}{1}$.\\ $P(-1,96\leqslant Z\leqslant1,96) \approx \CalcNormC{0}{1}{-1.96}{1.96}$. \medskip -$\bullet~~~~Y \hookrightarrow \mathcal{N}(550\,;\,30)$ :\\ +$\bullet~~~~Y \hookrightarrow \mathcal{N}(550\,; 30)$ :\\ $P(Y\geqslant600) \approx \CalcNormC{550}{30}{600}{*}$.\\ $P(500\leqslant Y\leqslant600) \approx \CalcNormC{550}{30}{500}{600}$. @@ -4423,7 +4515,7 @@ L'utilisateur peut donc utiliser \og sa \fg{} méthode pour formater les résult \end{codetex} \begin{codesortie} -$\bullet~~~~X \hookrightarrow \mathcal{B}(100\,;\,0,02)$ : +$\bullet~~~~X \hookrightarrow \mathcal{B}(100\,; 0,02)$ : $P(X=10) \approx \num[exponent-mode=scientific]{\CalcBinomP{100}{0.02}{10}}$. \end{codesortie} @@ -4431,7 +4523,7 @@ $P(X=10) \approx \num[exponent-mode=scientific]{\CalcBinomP{100}{0.02}{10}}$. \begin{codeidee} Le package \ctex{ProfLycee} propose -- en complément -- des commandes pour formater, grâce à \ctex{siunitx}, le résultat. -Les commandes sont dans ce cas préfixées par \ctex{num} au lieu de \ctex{calc} : +Les commandes ne sont donc, dans ce cas, pas préfixées par \ctex{calc} : \begin{itemize} \item formatage sous forme décimale \textit{pure} : $0,00\ldots$ ; @@ -4491,7 +4583,7 @@ $P(T\geqslant2) \approx \PoissonC[4]{5}{2}{*}$. \end{codetex} \begin{codesortie} -$\bullet~~~~Y \hookrightarrow \mathcal{N}(550\,;\,30)$ : +$\bullet~~~~Y \hookrightarrow \mathcal{N}(550\,; 30)$ : $P(Y\geqslant600) \approx \NormaleC[4]{550}{30}{600}{*}$. @@ -4499,7 +4591,7 @@ $P(500\leqslant Y\leqslant600) \approx \NormaleC[4]{550}{30}{500}{600}$. \medskip -$\bullet~~~~X \hookrightarrow \mathcal{B}(100\,;\,0,02)$ : +$\bullet~~~~X \hookrightarrow \mathcal{B}(100\,; 0,02)$ : $P(X=10) \approx \BinomP[7]{100}{0.02}{10} \approx \BinomP*[7]{100}{0.02}{10}$. @@ -4507,7 +4599,7 @@ $P(15\leqslant X\leqslant25) \approx \BinomC[10]{100}{0.02}{15}{25} \approx \Bin \medskip -$\bullet~~~~W \hookrightarrow \mathcal{H}(50\,;\,10\,;\,5)$ : +$\bullet~~~~W \hookrightarrow \mathcal{H}(50\,; 10\,; 5)$ : $P(W=4) \approx \HypergeomP[5]{50}{10}{5}{4}$. @@ -5077,7 +5169,7 @@ $\ConversionVersDec[Zeros=false,BaseDep=16]{AC0DC}$ \newpage -\section{Conversion \og présentée \fg{} d'un nombre en décimal}\label{convrestes} +\section{Conversion \og présentée \fg{} d'un nombre en base décimale}\label{convrestes} \subsection{Idée} @@ -5496,7 +5588,7 @@ Avec $a$ entre 1 et 10 (forcément positif) puis $b$ entre $-2$ et 2 puis $c$ en \end{codetex} \begin{codeinfo} -C'est -- comme souvent -- le package \ctex{xint} qui s'occupe en interne des calculs, et qui devrait donner des résultats satisfaisant dans la majorité des cas (attention aux \textit{grands nombres}\ldots) +C'est -- comme souvent -- le package \ctex{xint} qui s'occupe en interne des calculs, et qui devrait donner des résultats satisfaisants dans la majorité des cas (attention aux \textit{grands nombres}\ldots) \smallskip @@ -6098,6 +6190,8 @@ La grille, créée en \TikZ, est portée par le rectangle de \og coins \fg{} $(0 \part{Historique} +{\small \bverb|v 2.1.4|~:~~~~Résolution approchée d'équations $f(x)=k$ (page \pageref{resolapprox}) + {\small \bverb|v 2.1.3|~:~~~~Améliorations dans les présentations \textsf{Piton} (page \pageref{pythonpiton}) {\small \bverb|v 2.1.2|~:~~~~Ajout d'une commande pour la mesure principale d'un angle (page \pageref{mesureprincipale}) @@ -6122,17 +6216,13 @@ La grille, créée en \TikZ, est portée par le rectangle de \og coins \fg{} $(0 {\small \bverb|v 2.0.4|~:~~~~Ajout d'une commande pour une présentation de solution par TVI (page \pageref{solutiontvi}) -{\small \bverb| |~:~~~~Correction d'un bug avec \textsf{Arbre=3x3} (page \pageref{arbresprobas}) - {\small \bverb|v 2.0.3|~:~~~~Commandes pour des suites récurrentes \textit{simples} (page \pageref{calcrecurr}) {\small \bverb|v 2.0.2|~:~~~~Option \textsf{left-margin=auto} pour le package \textsf{piton} (page \pageref{pythonpiton}) {\small \bverb|v 2.0.1|~:~~~~Chargement du package \textsf{piton} uniquement si compilation en \LuaLaTeX{} (page \pageref{pythonpiton}) -{\small \bverb|v 2.0.0|~:~~~~Refonte du code source avec modification des commandes} - -{\small \bverb| |~:~~~~Refonte de la documentation} +{\small \bverb|v 2.0.0|~:~~~~Refonte du code source avec modification des commandes, et de la documentation} \hrulefill @@ -6160,8 +6250,6 @@ La grille, créée en \TikZ, est portée par le rectangle de \og coins \fg{} $(0 {\small \bverb|v 1.2.9|~:~~~~Correction des commandes avec \textsf{simplekv} -{\small \bverb|v 1.2.8|~:~~~~Ajout d'une librairie \TikZ{} oubliée, et remise en forme de la documentation - {\small \bverb|v 1.2.7|~:~~~~Ajout de commandes pour des calculs de probabilités (page \pageref{calcprobas}) {\small \bverb|v 1.2.6|~:~~~~Ajout d'un environnement pour des SudoMaths (page \pageref{sudomaths}) @@ -6176,8 +6264,6 @@ La grille, créée en \TikZ, est portée par le rectangle de \og coins \fg{} $(0 {\small \bverb|v 1.2.1|~:~~~~Amélioration de la gestion du csv pour Pixelart -{\small \bverb|v 1.2.0|~:~~~~Correction d'un \textit{méchant} bug sur Pixelart - {\small \bverb|v 1.1.9|~:~~~~Pixelart en \TikZ{} (page \pageref{pixelart}) {\small \bverb|v 1.1.8|~:~~~~Style "Mainlevée" basique pour \TikZ (page \pageref{mainlevee}) @@ -6212,8 +6298,6 @@ La grille, créée en \TikZ, est portée par le rectangle de \og coins \fg{} $(0 {\small \bverb|v 1.0.2|~:~~~~Ajout des environnements pour Python (\textsf{pythontex}) (page \pageref{pythontex}) -{\small \bverb|v 1.0.1|~:~~~~Modification mineure liée au chargement de \textsf{xcolor} - {\small \bverb|v 1.0 |~:~~~~Version initiale} \end{document}
\ No newline at end of file diff --git a/Master/texmf-dist/doc/latex/proflycee/pl-solve_a.png b/Master/texmf-dist/doc/latex/proflycee/pl-solve_a.png Binary files differnew file mode 100644 index 00000000000..d1baeb62fff --- /dev/null +++ b/Master/texmf-dist/doc/latex/proflycee/pl-solve_a.png diff --git a/Master/texmf-dist/doc/latex/proflycee/pl-solve_b.png b/Master/texmf-dist/doc/latex/proflycee/pl-solve_b.png Binary files differnew file mode 100644 index 00000000000..3059e3d7e0d --- /dev/null +++ b/Master/texmf-dist/doc/latex/proflycee/pl-solve_b.png diff --git a/Master/texmf-dist/doc/latex/proflycee/pl-solve_c.png b/Master/texmf-dist/doc/latex/proflycee/pl-solve_c.png Binary files differnew file mode 100644 index 00000000000..9d325571989 --- /dev/null +++ b/Master/texmf-dist/doc/latex/proflycee/pl-solve_c.png diff --git a/Master/texmf-dist/doc/latex/proflycee/pl-solve_d.png b/Master/texmf-dist/doc/latex/proflycee/pl-solve_d.png Binary files differnew file mode 100644 index 00000000000..b929432bb79 --- /dev/null +++ b/Master/texmf-dist/doc/latex/proflycee/pl-solve_d.png diff --git a/Master/texmf-dist/tex/latex/proflycee/ProfLycee.sty b/Master/texmf-dist/tex/latex/proflycee/ProfLycee.sty index c16b0782198..211b16dcb16 100644 --- a/Master/texmf-dist/tex/latex/proflycee/ProfLycee.sty +++ b/Master/texmf-dist/tex/latex/proflycee/ProfLycee.sty @@ -3,7 +3,8 @@ % or later, see http://www.latex-project.org/lppl.txtf \NeedsTeXFormat{LaTeX2e} -\ProvidesPackage{ProfLycee}[2022/12/30 2.1.3 Aide pour l'utilisation de LaTeX en lycee] +\ProvidesPackage{ProfLycee}[2023/01/02 2.1.4 Aide pour l'utilisation de LaTeX en lycee] +% 2.1.4 Ajout d'une commande pour résoudre de manière approchée une équation f(x)=k % 2.1.3 Ajout de l'option auto-tabs-gobble sur piton (v1.0) + correction d'un bug sur CodePiton % 2.1.2 Ajout d'une commande pour déterminer la mesure principale d'un angle + option <ElargirOx/y> pour les axes % 2.1.1 Ajout d'une section pour les tracés de repère et courbe, en tikz @@ -89,7 +90,8 @@ \RequirePackage{hvlogos} \RequirePackage{fancyvrb} \RequirePackage{siunitx} %test avec v3 -\sisetup{locale=FR,output-decimal-marker={,},% +\sisetup{% + locale=FR,output-decimal-marker={,},% mode = match, propagate-math-font = true,% reset-math-version = false, reset-text-family = false,% reset-text-series = false, reset-text-shape = false,% @@ -3574,4 +3576,46 @@ }% } +%================DICHOTOMIE============== OK! +\defKV[SolDichoto]{% + Precision=\xdef\DICHOTOstep{#1},% + Intervalle=\xdef\DICHOTOinterv{#1},% + Variable=\xdef\DICHOTOvar{#1} +} + +\setKVdefault[SolDichoto]{% + Precision=2,% + Variable=x,% + Intervalle={0:10} +} + +\NewDocumentCommand\ResolutionApprochee{ O{} m O{masolution} }{%1=options,2=equation,3=macro + \useKVdefault[SolDichoto]% + %extraction fonction + valeur + \setKV[SolDichoto]{#1}% + \IfSubStr{#2}{=}%on coupe mmb gauche / mmb droit + {\StrCut{#2}{=}{\SolDiFCT}{\SolDiVal}}% + {\xdef\SolDiFCT{#2}\xdef\SolDiVal{0}}% + %création des variables temporaires + \xintdeffloatfunc dichotovarfct(\DICHOTOvar) := \SolDiFCT ;% + \StrCut{\DICHOTOinterv}{:}{\varvala}{\varvalb}% + \xdef\varstep{\fpeval{10**(-\DICHOTOstep-1)}}%un chiffre en plus :-) + %boucles + \whiledo{\xintGt{\xintfloateval{\varvalb-\varvala-\varstep}}{0} = 1}% + {% + \xdef\varvalm{\xintfloateval{(\varvala+\varvalb)*0.5}}% + \xintifboolexpr{\xintGt{\xintfloateval{(dichotovarfct(\varvala)-\SolDiVal)*(dichotovarfct(\varvalm)-\SolDiVal)}}{0}==1}% + {\xdef\varvala{\fpeval{\varvalm}}}% + {\xdef\varvalb{\fpeval{\varvalm}}}% + }% + \xdef\varvalm{\xintfloateval{(\varvala+\varvalb)*0.5}}% + \xdef\vartmpmd{\fpeval{floor(\varvalm,\DICHOTOstep)}}% + \xdef\vartmpme{\fpeval{\vartmpmd+10**(-\DICHOTOstep)}}% + %les variables créées + \expandafter\def\csname#3d\endcsname{\fpeval{\vartmpmd}}% + \expandafter\def\csname#3e\endcsname{\fpeval{\vartmpme}}% + %valeur approchée + \expandafter\def\csname#3a\endcsname{\fpeval{round(\varvalm,\DICHOTOstep)}}% +} + \endinput
\ No newline at end of file |