summaryrefslogtreecommitdiff
path: root/Master/texmf-dist/tex/latex/profcollege/PfCEquationModeleBarre.tex
diff options
context:
space:
mode:
Diffstat (limited to 'Master/texmf-dist/tex/latex/profcollege/PfCEquationModeleBarre.tex')
-rw-r--r--Master/texmf-dist/tex/latex/profcollege/PfCEquationModeleBarre.tex301
1 files changed, 301 insertions, 0 deletions
diff --git a/Master/texmf-dist/tex/latex/profcollege/PfCEquationModeleBarre.tex b/Master/texmf-dist/tex/latex/profcollege/PfCEquationModeleBarre.tex
new file mode 100644
index 00000000000..2ee6dbd6789
--- /dev/null
+++ b/Master/texmf-dist/tex/latex/profcollege/PfCEquationModeleBarre.tex
@@ -0,0 +1,301 @@
+% Licence : Released under the LaTeX Project Public License v1.3c
+% or later, see http://www.latex-project.org/lppl.txtf
+\newtoks\TestEquaMBarreH%
+\newtoks\TestEquaMBarreB%
+
+\def\UpdateToksBarreH#1\nil{\addtotok\TestEquaMBarreH{#1}}%
+\def\UpdateToksBarreB#1\nil{\addtotok\TestEquaMBarreB{#1}}%
+
+\newcommand\EquaBaseMBarre[5][]{%type ax=d ou b=cx
+ \useKVdefault[ClesEquation]%
+ \setKV[ClesEquation]{#1}%
+ \ifnum\fpeval{#2}=0\relax
+ \ifnum\fpeval{#4}=0\relax
+ \textbf{??}%% il manque un paramètre
+ \else
+ \xintifboolexpr{\fpeval{#4}==0}{%
+ \xintifboolexpr{\fpeval{#3}==0}{%
+ L'équation $0\times\useKV[ClesEquation]{Lettre}=0$ a une infinité de solutions.}{L'équation $0\times\useKV[ClesEquation]{Lettre}=\num{\fpeval{#3}}$ n'a aucune solution.}%
+ }{%\else
+ \xintifboolexpr{\fpeval{#3}==0}{L'équation $0=\num{\fpeval{#4}}\times\useKV[ClesEquation]{Lettre}$ a une unique solution : $\useKV[ClesEquation]{Lettre}=0$.}{%\else
+ \TestEquaMBarreB{white}%
+ \TestEquaMBarreH{}%
+ \xintFor* ##1 in{\xintSeq{1}{\fpeval{#4}}}\do{%
+ \expandafter\UpdateToksBarreB{,1}\nil%
+ \expandafter\UpdateToksBarreB{,"$x$"}\nil%
+ }%
+ \expandafter\UpdateToksBarreH{white,#4,"\num{\fpeval{#3}}"}\nil%
+ % % Le tok H est \the\TestEquaMBarreH.%
+ % % \\Le tok B est \the\TestEquaMBarreB.%
+ \PfCMPDessineModelBarreNonHomogene{\the\TestEquaMBarreH}{\the\TestEquaMBarreB}{}%
+ \ifnum\fpeval{#4}=1\relax
+ \else
+ \bigskip%
+
+ \PfCMPDessineModelBarreNonHomogene{white,1,"$\num{\fpeval{#3}}/\num{\fpeval{#4}}$"}{white,1,"$x$"}{}%
+ \SSimpliTest{\fpeval{#3}}{\fpeval{#4}}%
+ \ifthenelse{\boolean{Simplification}}{\bigskip%
+
+ \PfCMPDessineModelBarreNonHomogene{white,1,"\PGCD{\fpeval{#3}}{\fpeval{#4}}\ifnum\fpeval{abs(\pgcd)}=\fpeval{#4}\relax{}\num{\fpeval{#3/#4}}\else\num{\fpeval{#3/\pgcd}}/\num{\fpeval{#4/\pgcd}}\fi"}{white,1,"$x$"}{}%
+ }{}%
+ \fi
+ }%
+ }%
+ \fi%
+ \else%
+ % si non, on est dans le cas ax=d
+ \xintifboolexpr{\fpeval{#2}==0}{%
+ \xintifboolexpr{\fpeval{#5}==0}{%
+ L'équation $0\times\useKV[ClesEquation]{Lettre}=0$ a une infinité de solutions.}{L'équation $0\times\useKV[ClesEquation]{Lettre}=\num{\fpeval{#5}}$ n'a aucune solution.}%
+ }{%\else
+ \xintifboolexpr{\fpeval{#5}==0}{L'équation $\num{\fpeval{#2}}\times\useKV[ClesEquation]{Lettre}=0$ a une unique solution : $\useKV[ClesEquation]{Lettre}=0$.}{%\else
+ % \begin{center}
+ \TestEquaMBarreH{white}%
+ \TestEquaMBarreB{}%
+ \xintFor* ##1 in{\xintSeq{1}{\fpeval{#2}}}\do{%
+ \expandafter\UpdateToksBarreH{,1}\nil%
+ \expandafter\UpdateToksBarreH{,"$x$"}\nil%
+ }%
+ \expandafter\UpdateToksBarreB{white,#2,"\num{\fpeval{#5}}"}\nil%
+ % Le tok H est \the\TestEquaMBarreH.%
+ % \\Le tok B est \the\TestEquaMBarreB.%
+ \PfCMPDessineModelBarreNonHomogene{\the\TestEquaMBarreH}{\the\TestEquaMBarreB}{}%
+ \ifnum\fpeval{#2}=1\relax%
+ \else
+ \bigskip%
+
+ \PfCMPDessineModelBarreNonHomogene{white,1,"$x$"}{white,1,"$\num{\fpeval{#5}}/\num{\fpeval{#2}}$"}{}%
+ \SSimpliTest{\fpeval{#5}}{\fpeval{#2}}%
+ \ifthenelse{\boolean{Simplification}}{\bigskip
+
+ \PfCMPDessineModelBarreNonHomogene{white,1,"$x$"}{white,1,"\PGCD{\fpeval{#5}}{\fpeval{#2}}\ifnum\fpeval{abs(\pgcd)}=\fpeval{#2}\relax{}\num{\fpeval{#5/#2}}\else\num{\fpeval{#5/\pgcd}}/\num{\fpeval{#2/\pgcd}}\fi"}{}%
+ }{}%
+ \fi
+ }%
+ }%
+ \fi%
+}%
+
+\newcommand\EquaDeuxMBarre[5][]{%type ax+b=d ou b=cx+d$
+ \useKVdefault[ClesEquation]%
+ \setKV[ClesEquation]{#1}%
+ \setKV[ClesEquation]{Fleches=false,FlecheDiv=false,Terme=false,Decomposition=false}
+ \ifnum\fpeval{#2}=0\relax%On échange en faisant attention à ne pas boucler : c doit être non vide
+ % cas b=cx+d
+ \xintifboolexpr{\fpeval{#4}==0}{%
+ \xintifboolexpr{\fpeval{#3}==\fpeval{#5}}{%b=d
+ L'équation $\num{\fpeval{#3}}=\num{\fpeval{#5}}$ a une infinité de solutions.%
+ }{%b<>d
+ L'équation $\num{\fpeval{#3}}=\num{\fpeval{#5}}$ n'a aucune solution.%
+ }%
+ }{%ELSE
+ \xintifboolexpr{\fpeval{#3}==0}{%ax+b=d
+ \EquaBaseMBarre[#1]{0}{\fpeval{-#5}}{\fpeval{#4}}{0}%
+ }{%ax+b=d$ Ici
+ % \begin{center}
+ \TestEquaMBarreB{white}%
+ \TestEquaMBarreH{}%
+ \xintFor* ##1 in{\xintSeq{1}{#4}}\do{%
+ \expandafter\UpdateToksBarreB{,1}\nil%
+ \expandafter\UpdateToksBarreB{,"$x$"}\nil%
+ }%
+ \expandafter\UpdateToksBarreB{,white,2.5,"\num{\fpeval{#5}}"}\nil%
+ \expandafter\UpdateToksBarreH{white,#4+2.5,"\num{\fpeval{#3}}"}\nil%
+ % Le tok H est \the\TestEquaMBarreH.%
+ % \\Le tok B est \the\TestEquaMBarreB.%
+ \PfCMPDessineModelBarreNonHomogene{\the\TestEquaMBarreH}{\the\TestEquaMBarreB}{}%
+
+ \bigskip%
+
+ \PfCMPDessineModelBarreNonHomogene{white,#4,"\num{\fpeval{#3-#5}}",white,2.5,"\num{\fpeval{#5}}"}{\the\TestEquaMBarreB}{#4}%
+
+ \bigskip
+
+ \EquaBaseMBarre{0}{(#3-(#5))}{#4}{0}%
+ }%
+ }%
+ \else%cas ax+b=d
+ \xintifboolexpr{\fpeval{#2}==0}{%
+ \xintifboolexpr{\fpeval{#3}==\fpeval{#5}}{%b=d
+ L'équation $\num{\fpeval{#3}}=\num{\fpeval{#5}}$ a une infinité de solutions.%
+ }{%b<>d
+ L'équation $\num{\fpeval{#3}}=\num{\fpeval{#5}}$ n'a aucune solution.%
+ }%
+ }{%ELSE
+ \xintifboolexpr{\fpeval{#3}==0}{%ax+b=d
+ \EquaBaseMBarre[#1]{#2}{0}{0}{#5}%
+ }{%ax+b=d$ Ici
+% % \begin{center}
+ \TestEquaMBarreH{white}%
+ \TestEquaMBarreB{}%
+ \xintFor* ##1 in{\xintSeq{1}{\fpeval{#2}}}\do{%
+ \expandafter\UpdateToksBarreH{,1}\nil%
+ \expandafter\UpdateToksBarreH{,"$x$"}\nil%
+ }%
+ \expandafter\UpdateToksBarreH{,white,2.5,"\num{\fpeval{#3}}"}\nil%
+ \expandafter\UpdateToksBarreB{white,#2+2.5,"\num{\fpeval{#5}}"}\nil%
+% % Le tok H est \the\TestEquaMBarreH.%
+% % \\Le tok B est \the\TestEquaMBarreB.%
+ \PfCMPDessineModelBarreNonHomogene{\the\TestEquaMBarreH}{\the\TestEquaMBarreB}{}%
+
+ \bigskip%
+
+ \PfCMPDessineModelBarreNonHomogene{\the\TestEquaMBarreH}{white,#2,"\num{\fpeval{#5-#3}}",white,2.5,"\num{\fpeval{#3}}"}{#2}%
+%
+ \bigskip
+
+ \EquaBaseMBarre{#2}{0}{0}{(#5-(#3))}%
+ }%
+ }%
+ \fi%
+}%
+
+\newcommand\EquaTroisMBarre[5][]{%ax+b=cx ou ax=cx+d
+ \useKVdefault[ClesEquation]%
+ \setKV[ClesEquation]{#1}%
+ \ifnum\fpeval{#3}=0\relax%on inverse en faisant attention à la boucle #3<->#5
+ \ifnum\fpeval{#5}=0\relax%
+ %% paramètre oublié
+ \else
+ \EquaTroisMBarre[#1]{#4}{#5}{#2}{0}%
+ \fi
+ \else
+ \xintifboolexpr{\fpeval{#2}==0}{%b=cx
+ \EquaBaseMBarre[#1]{#4}{0}{0}{#3}
+ }{%
+ \xintifboolexpr{\fpeval{#4}==0}{%ax+b=0
+ \EquaDeuxMBarre[#1]{#2}{#3}{0}{0}
+ }{%ax+b=cx
+ \xintifboolexpr{\fpeval{#2}==\fpeval{#4}}{%
+ \xintifboolexpr{\fpeval{#3}==0}{%ax=ax
+ L'équation $\xintifboolexpr{#2==1}{}{\num{#2}}\useKV[ClesEquation]{Lettre}=\xintifboolexpr{#4==1}{}{\num{#4}}\useKV[ClesEquation]{Lettre}$ a une infinité de solutions.%
+ }{%ax+b=ax
+ L'équation $\xintifboolexpr{#2==1}{}{\num{#2}}\useKV[ClesEquation]{Lettre}\xintifboolexpr{#3>0}{+\num{#3}}{-\num{\fpeval{0-#3}}}=\xintifboolexpr{#4==1}{}{\num{#4}}\useKV[ClesEquation]{Lettre}$ n'a aucune solution.%
+ }
+ }{%% Cas délicat
+ \xintifboolexpr{\fpeval{#2}>\fpeval{#4}}{%ax+b=cx avec a>c
+ \TestEquaMBarreH{white}%
+ \TestEquaMBarreB{white}%
+ \xintFor* ##1 in{\xintSeq{1}{\fpeval{#2}}}\do{%
+ \expandafter\UpdateToksBarreH{,1}\nil%
+ \expandafter\UpdateToksBarreH{,"$x$"}\nil%
+ }%
+ \expandafter\UpdateToksBarreH{,white,2.5,"\num{\fpeval{#3}}"}\nil%
+ \xintFor* ##1 in{\xintSeq{1}{\fpeval{#4}}}\do{%
+ \expandafter\UpdateToksBarreB{,1}\nil%
+ \expandafter\UpdateToksBarreB{,"$x$"}\nil%
+ }%
+ \expandafter\UpdateToksBarreB{,white,#2-#4+2.5,"0"}\nil%
+ \PfCMPDessineModelBarreNonHomogene{\the\TestEquaMBarreH}{\the\TestEquaMBarreB}{}%
+
+ \PfCMPDessineModelBarreNonHomogene{\the\TestEquaMBarreH}{\the\TestEquaMBarreB}{#4}%
+
+ \EquaDeuxMBarre{(#2-#4)}{#3}{0}{0}
+ }{%ax+b=cx avec a<c % Autre cas délicat
+ \TestEquaMBarreH{white}%
+ \TestEquaMBarreB{white}%
+ \xintFor* ##1 in{\xintSeq{1}{\fpeval{#2}}}\do{%
+ \expandafter\UpdateToksBarreH{,1}\nil%
+ \expandafter\UpdateToksBarreH{,"$x$"}\nil%
+ }%
+ \expandafter\UpdateToksBarreH{,white,#4-#2,"\num{\fpeval{#3}}"}\nil%
+ \xintFor* ##1 in{\xintSeq{1}{\fpeval{#4}}}\do{%
+ \expandafter\UpdateToksBarreB{,1}\nil%
+ \expandafter\UpdateToksBarreB{,"$x$"}\nil%
+ }%
+% \expandafter\UpdateToksBarreB{,white,#2-#4+2.5,"0"}\nil%
+ \PfCMPDessineModelBarreNonHomogene{\the\TestEquaMBarreH}{\the\TestEquaMBarreB}{}%
+
+ \PfCMPDessineModelBarreNonHomogene{\the\TestEquaMBarreH}{\the\TestEquaMBarreB}{#2}%
+
+ \EquaDeuxMBarre{0}{#3}{(#4-#2)}{0}
+ }%
+ }%
+ }%
+ }%
+ \fi
+}%
+
+\newcommand\ResolEquationMBarre[5][]{%
+ \useKVdefault[ClesEquation]%
+ \setKV[ClesEquation]{#1}%
+ \setKV[ClesEquation]{Fleches=false,FlecheDiv=false,Terme=false,Decomposition=false}
+ \xintifboolexpr{#2==0}{%
+ \xintifboolexpr{#4==0}{%
+ \xintifboolexpr{#3==#5}{%b=d
+ L'équation $\num{\fpeval{#3}}=\num{\fpeval{#5}}$ a une infinité de solutions.}%
+ {%b<>d
+ L'équation $\num{\fpeval{#3}}=\num{\fpeval{#5}}$ n'a aucune solution.%
+ }%
+ }%
+ {%0x+b=cx+d$
+ \EquaDeuxMBarre[#1]{#4}{#5}{#2}{#3}%
+ }%
+ }{%
+ \xintifboolexpr{#4==0}{%ax+b=0x+d
+ \EquaDeuxMBarre[#1]{#2}{#3}{0}{#5}%
+ }
+ {%ax+b=cx+d$
+ \xintifboolexpr{#3==0}{%
+ \xintifboolexpr{#5==0}{%ax=cx
+ \EquaTroisMBarre[#1]{#2}{0}{#4}{0}%
+ }%
+ {%ax=cx+d
+ \EquaTroisMBarre[#1]{#4}{#5}{#2}{0}%
+ }%
+ }%
+ {\xintifboolexpr{#5==0}{%ax+b=cx
+ \EquaTroisMBarre[#1]{#2}{#3}{#4}{0}%
+ }%
+ {%ax+b=cx+d -- ici
+ \xintifboolexpr{#2==#4}{%
+ \xintifboolexpr{#3==#5}{%b=d
+ L'équation $\xintifboolexpr{#2==1}{}{\num{#2}}\useKV[ClesEquation]{Lettre}\xintifboolexpr{#3>0}{+\num{#3}}{-\num{\fpeval{0-#3}}}=\xintifboolexpr{#4==1}{}{\num{#4}}\useKV[ClesEquation]{Lettre}\xintifboolexpr{#5>0}{+\num{#5}}{-\num{\fpeval{0-#5}}}$ a une infinité de solutions.}%
+ {%b<>d
+ L'équation $\xintifboolexpr{#2==1}{}{\num{#2}}\useKV[ClesEquation]{Lettre}\xintifboolexpr{#3>0}{+\num{#3}}{-\num{\fpeval{0-#3}}}=\xintifboolexpr{#4==1}{}{\num{#4}}\useKV[ClesEquation]{Lettre}\xintifboolexpr{#5>0}{+\num{#5}}{-\num{\fpeval{0-#5}}}$ n'a aucune solution.%
+ }%
+ }{%
+ %% Cas délicat
+ \xintifboolexpr{#2>#4}{%ax+b=cx+d avec a>c
+ \TestEquaMBarreH{white}%
+ \TestEquaMBarreB{white}%
+ \xintFor* ##1 in{\xintSeq{1}{\fpeval{#2}}}\do{%
+ \expandafter\UpdateToksBarreH{,1}\nil%
+ \expandafter\UpdateToksBarreH{,"$x$"}\nil%
+ }%
+ \expandafter\UpdateToksBarreH{,white,2.5,"\num{\fpeval{#3}}"}\nil%
+ \xintFor* ##1 in{\xintSeq{1}{\fpeval{#4}}}\do{%
+ \expandafter\UpdateToksBarreB{,1}\nil%
+ \expandafter\UpdateToksBarreB{,"$x$"}\nil%
+ }%
+ \expandafter\UpdateToksBarreB{,white,#2-#4+2.5,"\num{\fpeval{#5}}"}\nil%
+ \PfCMPDessineModelBarreNonHomogene{\the\TestEquaMBarreH}{\the\TestEquaMBarreB}{}%
+
+ \PfCMPDessineModelBarreNonHomogene{\the\TestEquaMBarreH}{\the\TestEquaMBarreB}{#4}%
+
+ \EquaDeuxMBarre{(#2-(#4))}{#3}{0}{#5}
+ }{%ax+b=cx+d avec a<c % Autre cas délicat
+ \TestEquaMBarreH{white}%
+ \TestEquaMBarreB{white}%
+ \xintFor* ##1 in{\xintSeq{1}{\fpeval{#4}}}\do{%
+ \expandafter\UpdateToksBarreB{,1}\nil%
+ \expandafter\UpdateToksBarreB{,"$x$"}\nil%
+ }%
+ \expandafter\UpdateToksBarreB{,white,2.5,"\num{\fpeval{#5}}"}\nil%
+ \xintFor* ##1 in{\xintSeq{1}{\fpeval{#2}}}\do{%
+ \expandafter\UpdateToksBarreH{,1}\nil%
+ \expandafter\UpdateToksBarreH{,"$x$"}\nil%
+ }%
+ \expandafter\UpdateToksBarreH{,white,#4-#2+2.5,"\num{\fpeval{#3}}"}\nil%
+ \PfCMPDessineModelBarreNonHomogene{\the\TestEquaMBarreH}{\the\TestEquaMBarreB}{}%
+
+ \PfCMPDessineModelBarreNonHomogene{\the\TestEquaMBarreH}{\the\TestEquaMBarreB}{#2}%
+
+ \EquaDeuxMBarre{0}{#3}{(#4-(#2))}{#5}
+ }%
+ }%
+ }%
+ }%
+ }%
+ }%
+}% \ No newline at end of file