1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
|
% Licence : Released under the LaTeX Project Public License v1.3c
% or later, see http://www.latex-project.org/lppl.txtf
\newcommand{\EquaBaseSymbole}[5][]{%type ax=d ou b=cx
\useKVdefault[ClesEquation]%
\setKV[ClesEquation]{#1}%
\setKV[ClesEquation]{Fleches=false,FlecheDiv=false,Terme=false,Decomposition=false}
\ifx\bla#2\bla%on teste si le paramètre #2 est vide:
% si oui, on est dans le cas b=cx. Eh bien on échange :)
% Mais attention si les deux paramètres a et c sont vides...
\ifx\bla#4\bla
%% il manque un paramètre
\else
\EquaBaseSymbole[#1]{#4}{}{}{#3}
\fi
\else
% si non, on est dans le cas ax=d
\xintifboolexpr{#2==0}{%
\xintifboolexpr{#5==0}{%
L'équation $0\times\useKV[ClesEquation]{Lettre}=0$ a une infinité de solutions.}{L'équation $0\times\useKV[ClesEquation]{Lettre}=\num{#5}$ n'a aucune solution.}%
}{%\else
\xintifboolexpr{#5==0}{L'équation $\num{#2}\times\useKV[ClesEquation]{Lettre}=0$ a une unique solution : $\useKV[ClesEquation]{Lettre}=0$.}{%\else
\begin{align*}%
\xintifboolexpr{#2==1}{\useKV[ClesEquation]{Lettre}}{\multido{\i=1+1}{\fpeval{#2-1}}{\useKV[ClesEquation]{Lettre}+}\useKV[ClesEquation]{Lettre}}&=\num{#5}\\
\useKV[ClesEquation]{Lettre}&=\frac{\num{#5}}{\num{#2}}%\\
%% decimal
\ifboolKV[ClesEquation]{Decimal}{%
\\\useKV[ClesEquation]{Lettre}&=\num{\fpeval{#5/#2}}%
}{}%
% %%%
\ifboolKV[ClesEquation]{Entier}{%
\SSimpliTest{#5}{#2}%
\ifboolKV[ClesEquation]{Simplification}{%
\ifthenelse{\boolean{Simplification}}{\\\useKV[ClesEquation]{Lettre}&=\SSimplifie{#5}{#2}}{}%\\
}{}
}{}
\end{align*}
}
}
\fi
}
\newcommand{\EquaDeuxSymbole}[5][]{%type ax+b=d ou b=cx+d$
\useKVdefault[ClesEquation]%
\setKV[ClesEquation]{#1}%
\setKV[ClesEquation]{Fleches=false,FlecheDiv=false,Terme=false,Decomposition=false}
\ifx\bla#2\bla%On échange en faisant attention à ne pas boucler : c doit être non vide
\EquaDeuxSymbole[#1]{#4}{#5}{#2}{#3}
\else%cas ax+b=d
\xintifboolexpr{#2==0}{%
\xintifboolexpr{#3==#5}{%b=d
L'équation $\num{#3}=\num{#5}$ a une infinité de solutions.}%
{%b<>d
L'équation $\num{#3}=\num{#5}$ n'a aucune solution.%
}%
}{%ELSE
\xintifboolexpr{#3==0}{%ax+b=d
\EquaBaseSymbole[#1]{#2}{}{}{#5}%
}{%ax+b=d$ Ici
\begin{align*}
\xintifboolexpr{#2==1}{\useKV[ClesEquation]{Lettre}}{\multido{\i=1+1}{\fpeval{#2-1}}{\useKV[ClesEquation]{Lettre}+}\useKV[ClesEquation]{Lettre}}\xintifboolexpr{#3>0}{+\num{#3}}{-\num{\fpeval{0-#3}}}&=\num{#5}\\
\ifboolKV[ClesEquation]{Bloc}{\Fdash{$\xintifboolexpr{#2==1}{\useKV[ClesEquation]{Lettre}}{\multido{\i=1+1}{\fpeval{#2-1}}{\useKV[ClesEquation]{Lettre}+}\useKV[ClesEquation]{Lettre}}$}\xintifboolexpr{#3>0}{+\num{#3}}{-\num{\fpeval{0-#3}}}&=\num{#5}\\}{}%
\xdef\Coeffa{#2}\xdef\Coeffb{\fpeval{#5-#3}}\xintifboolexpr{\Coeffa==1}{\useKV[ClesEquation]{Lettre}}{\multido{\i=1+1}{\fpeval{#2-1}}{\useKV[ClesEquation]{Lettre}+}\useKV[ClesEquation]{Lettre}}&=\num{\Coeffb}%\\
\xintifboolexpr{\Coeffa==1}{%
}{%\ifnum\cmtd>1
\\
\useKV[ClesEquation]{Lettre}&=\frac{\num{\Coeffb}}{\num{\Coeffa}}%\\
%% decimal
\ifboolKV[ClesEquation]{Decimal}{%
\\\useKV[ClesEquation]{Lettre}&=\num{\fpeval{\Coeffb/\Coeffa}}%
}{}%
%%%
\ifboolKV[ClesEquation]{Entier}{%
\SSimpliTest{\Coeffb}{\Coeffa}%
\ifboolKV[ClesEquation]{Simplification}{%
\ifthenelse{\boolean{Simplification}}{\\\useKV[ClesEquation]{Lettre}&=\SSimplifie{\Coeffb}{\Coeffa}}{}%\\
}{}
}{}
}
\end{align*}
}
}
\fi
}
\newcommand{\EquaTroisSymbole}[5][]{%ax+b=cx ou ax=cx+d
\useKVdefault[ClesEquation]%
\setKV[ClesEquation]{#1}%
\setKV[ClesEquation]{Fleches=false,FlecheDiv=false,Terme=false,Decomposition=false}
\ifx\bla#3\bla%on inverse en faisant attention à la boucle #3<->#5
\ifx\bla#5\bla%
%% paramètre oublié
\else
\EquaTroisSymbole[#1]{#4}{#5}{#2}{}%
\fi
\else
\xintifboolexpr{#2==0}{%b=cx
\EquaBaseSymbole[#1]{#4}{}{}{#3}
}{%
\xintifboolexpr{#4==0}{%ax+b=0
\EquaDeuxSymbole[#1]{#2}{#3}{}{0}
}{%ax+b=cx
\xintifboolexpr{#2==#4}{%
\xintifboolexpr{#3==0}{%ax=ax
L'équation $\multido{\i=1+1}{\fpeval{#2-1}}{\useKV[ClesEquation]{Lettre}+}\useKV[ClesEquation]{Lettre}=\multido{\i=1+1}{\fpeval{#2-1}}{\useKV[ClesEquation]{Lettre}+}\useKV[ClesEquation]{Lettre}$ a une infinité de solutions.}%
{%ax+b=ax
L'équation $\multido{\i=1+1}{\fpeval{#2-1}}{\useKV[ClesEquation]{Lettre}+}\useKV[ClesEquation]{Lettre}\xintifboolexpr{#3>0}{+\num{#3}}{-\num{\fpeval{0-#3}}}=\multido{\i=1+1}{\fpeval{#2-1}}{\useKV[ClesEquation]{Lettre}+}\useKV[ClesEquation]{Lettre}$ n'a aucune solution.%
}%
}{%% Cas délicat
\xintifboolexpr{#2>#4}{%ax+b=cx avec a>c
\begin{align*}
\multido{\i=1+1}{\fpeval{#2-1}}{\useKV[ClesEquation]{Lettre}+}\useKV[ClesEquation]{Lettre}\xintifboolexpr{#3>0}{+\num{#3}}{-\num{\fpeval{0-#3}}}&=\multido{\i=1+1}{\fpeval{#4-1}}{\useKV[ClesEquation]{Lettre}+}\useKV[ClesEquation]{Lettre}\\
\mathcolor{Csymbole}{\useKV[ClesEquation]{Lettre}\multido{\i=1+1}{\fpeval{#4-1}}{+\useKV[ClesEquation]{Lettre}}}\multido{\i=1+1}{\fpeval{#2-#4}}{+\useKV[ClesEquation]{Lettre}}\xintifboolexpr{#3>0}{+\num{#3}}{-\num{\fpeval{0-#3}}}&=\mathcolor{Csymbole}{\multido{\i=1+1}{\fpeval{#4-1}}{\useKV[ClesEquation]{Lettre}+}\useKV[ClesEquation]{Lettre}}\\
\xdef\Coeffa{\fpeval{#2-#4}}\multido{\i=1+1}{\fpeval{\Coeffa-1}}{\useKV[ClesEquation]{Lettre}+}\useKV[ClesEquation]{Lettre}\xintifboolexpr{#3>0}{+\num{#3}}{-\num{\fpeval{0-#3}}}&=0\\
\ifboolKV[ClesEquation]{Bloc}{\Fdash{\mathcolor{Csymbole}{$\multido{\i=1+1}{\fpeval{\Coeffa-1}}{\useKV[ClesEquation]{Lettre}+}\useKV[ClesEquation]{Lettre}$}}\xintifboolexpr{#3>0}{+\num{#3}}{-\num{\fpeval{0-#3}}}&=0\\}{}
\xdef\Coeffb{\fpeval{0-#3}}\multido{\i=1+1}{\fpeval{\Coeffa-1}}{\useKV[ClesEquation]{Lettre}+}\useKV[ClesEquation]{Lettre}&=\num{\Coeffb}%\\
\xintifboolexpr{\Coeffa==1}{}{%\ifnum\cmtd>1
\\\useKV[ClesEquation]{Lettre}&=\frac{\num{\Coeffb}}{\num{\Coeffa}}%\\
%% decimal
\ifboolKV[ClesEquation]{Decimal}{%
\\\useKV[ClesEquation]{Lettre}&=\num{\fpeval{\Coeffb/\Coeffa}}%
}{}%
%%%
\ifboolKV[ClesEquation]{Entier}{%
\SSimpliTest{\Coeffb}{\Coeffa}%
\ifboolKV[ClesEquation]{Simplification}{%
\ifthenelse{\boolean{Simplification}}{\\\useKV[ClesEquation]{Lettre}&=\SSimplifie{\Coeffb}{\Coeffa}}{}%\\
}{}
}{}
}
\end{align*}
}{%ax+b=cx+d avec a<c % Autre cas délicat
\begin{align*}%
\multido{\i=1+1}{\fpeval{#2-1}}{\useKV[ClesEquation]{Lettre}+}\useKV[ClesEquation]{Lettre}\xintifboolexpr{#3>0}{+\num{#3}}{-\num{\fpeval{0-#3}}}&=\multido{\i=1+1}{\fpeval{#4-1}}{\useKV[ClesEquation]{Lettre}+}\useKV[ClesEquation]{Lettre}\\
\mathcolor{Csymbole}{\useKV[ClesEquation]{Lettre}\multido{\i=1+1}{\fpeval{#2-1}}{+\useKV[ClesEquation]{Lettre}}}\xintifboolexpr{#3>0}{+\num{#3}}{-\num{\fpeval{0-#3}}}&=\mathcolor{Csymbole}{\useKV[ClesEquation]{Lettre}\multido{\i=1+1}{\fpeval{#2-1}}{+\useKV[ClesEquation]{Lettre}}}\multido{\i=1+1}{\fpeval{#4-#2}}{+\useKV[ClesEquation]{Lettre}}\\
\xdef\Coeffb{#3}\xdef\Coeffa{\fpeval{#4-#2}}\xintifboolexpr{#3>0}{\num{#3}}{-\num{\fpeval{0-#3}}}&=\multido{\i=1+1}{\fpeval{\Coeffa-1}}{\useKV[ClesEquation]{Lettre}+}\useKV[ClesEquation]{Lettre}% \\
\xintifboolexpr{\Coeffa==1}{}{%\ifnum\cmtd>1
\\\frac{\num{\Coeffb}}{\num{\Coeffa}}&=\useKV[ClesEquation]{Lettre}%\\
%% decimal
\ifboolKV[ClesEquation]{Decimal}{%
\\\num{\fpeval{\Coeffb/\Coeffa}}&=\useKV[ClesEquation]{Lettre}%
}{}%
%%%
\ifboolKV[ClesEquation]{Entier}{%
\SSimpliTest{\Coeffb}{\Coeffa}%
\ifboolKV[ClesEquation]{Simplification}{%
\ifthenelse{\boolean{Simplification}}{\\\SSimplifie{\Coeffb}{\Coeffa}&=\useKV[ClesEquation]{Lettre}}{}%\\
}{}
}{}
}
\end{align*}
}%
}%
}%
}%
\fi
}%
\newcommand{\ResolEquationSymbole}[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{#3}=\num{#5}$ a une infinité de solutions.}%
{%b<>d
L'équation $\num{#3}=\num{#5}$ n'a aucune solution.%
}%
}%
{%0x+b=cx+d$
\EquaDeuxSymbole[#1]{#4}{#5}{#2}{#3}%
}%
}{%
\xintifboolexpr{#4==0}{%ax+b=0x+d
\EquaDeuxSymbole[#1]{#2}{#3}{}{#5}%
}
{%ax+b=cx+d$
\xintifboolexpr{#3==0}{%
\xintifboolexpr{#5==0}{%ax=cx
\EquaTroisSymbole[#1]{#2}{0}{#4}{}%
}%
{%ax=cx+d
\EquaTroisSymbole[#1]{#4}{#5}{#2}{}%
}%
}%
{\xintifboolexpr{#5==0}{%ax+b=cx
\EquaTroisSymbole[#1]{#2}{#3}{#4}{}%
}%
{%ax+b=cx+d -- ici
\xintifboolexpr{#2==#4}{%
\xintifboolexpr{#3==#5}{%b=d
L'équation $\multido{\i=1+1}{\fpeval{#2-1}}{\useKV[ClesEquation]{Lettre}+}\useKV[ClesEquation]{Lettre}\xintifboolexpr{#3>0}{+\num{#3}}{-\num{\fpeval{0-#3}}}=\multido{\i=1+1}{\fpeval{#4-1}}{\useKV[ClesEquation]{Lettre}+}\useKV[ClesEquation]{Lettre}\xintifboolexpr{#5>0}{+\num{#5}}{-\num{\fpeval{0-#5}}}$ a une infinité de solutions.}%
{%b<>d
L'équation $\multido{\i=1+1}{\fpeval{#2-1}}{\useKV[ClesEquation]{Lettre}+}\useKV[ClesEquation]{Lettre}\xintifboolexpr{#3>0}{+\num{#3}}{-\num{\fpeval{0-#3}}}=\multido{\i=1+1}{\fpeval{#4-1}}{\useKV[ClesEquation]{Lettre}+}\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
\begin{align*}
\multido{\i=1+1}{\fpeval{#2-1}}{\useKV[ClesEquation]{Lettre}+}\useKV[ClesEquation]{Lettre}\xintifboolexpr{#3>0}{+\num{#3}}{-\num{\fpeval{0-#3}}}&=\multido{\i=1+1}{\fpeval{#4-1}}{\useKV[ClesEquation]{Lettre}+}\useKV[ClesEquation]{Lettre}\xintifboolexpr{#5>0}{+\num{#5}}{-\num{\fpeval{0-#5}}}\\
\mathcolor{Csymbole}{\useKV[ClesEquation]{Lettre}\multido{\i=1+1}{\fpeval{#4-1}}{+\useKV[ClesEquation]{Lettre}}}\multido{\i=1+1}{\fpeval{#2-#4}}{+\useKV[ClesEquation]{Lettre}}\xintifboolexpr{#3>0}{+\num{#3}}{-\num{\fpeval{0-#3}}}&=\mathcolor{Csymbole}{\multido{\i=1+1}{\fpeval{#4-1}}{\useKV[ClesEquation]{Lettre}+}\useKV[ClesEquation]{Lettre}}\xintifboolexpr{#5>0}{+\num{#5}}{-\num{\fpeval{0-#5}}}\\
\xdef\Coeffa{\fpeval{#2-#4}}\useKV[ClesEquation]{Lettre}\multido{\i=1+1}{\fpeval{\Coeffa-1}}{+\useKV[ClesEquation]{Lettre}}\xintifboolexpr{#3>0}{+\num{#3}}{-\num{\fpeval{0-#3}}}&=\num{#5}\\
\ifboolKV[ClesEquation]{Bloc}{%
\Fdash{$\mathcolor{Csymbole}{\useKV[ClesEquation]{Lettre}\multido{\i=1+1}{\fpeval{\Coeffa-1}}{+\useKV[ClesEquation]{Lettre}}}$}\xintifboolexpr{#3>0}{+\num{#3}}{-\num{\fpeval{0-#3}}}&=\num{#5}\\
}{}%
\xdef\Coeffb{\fpeval{#5-#3}}\useKV[ClesEquation]{Lettre}\multido{\i=1+1}{\fpeval{\Coeffa-1}}{+\useKV[ClesEquation]{Lettre}}&=\num{\Coeffb}%\\
\xintifboolexpr{\Coeffa==1}{}{%\ifnum\cmtd>1
\\\useKV[ClesEquation]{Lettre}&=\frac{\num{\Coeffb}}{\num{\Coeffa}}%\\
%% decimal
\ifboolKV[ClesEquation]{Decimal}{%
\\\useKV[ClesEquation]{Lettre}&=\num{\fpeval{\Coeffb/\Coeffa}}%
}{}%
%%%
\ifboolKV[ClesEquation]{Entier}{%
\SSimpliTest{\Coeffb}{\Coeffa}%
\ifboolKV[ClesEquation]{Simplification}{%
\ifthenelse{\boolean{Simplification}}{\\\useKV[ClesEquation]{Lettre}&=\SSimplifie{\Coeffb}{\Coeffa}}{}%\\
}{}
}{}
}
\end{align*}
}{%ax+b=cx+d avec a<c % Autre cas délicat
\begin{align*}%
\multido{\i=1+1}{\fpeval{#2-1}}{\useKV[ClesEquation]{Lettre}+}\useKV[ClesEquation]{Lettre}\xintifboolexpr{#3>0}{+\num{#3}}{-\num{\fpeval{0-#3}}}&=\multido{\i=1+1}{\fpeval{#4-1}}{\useKV[ClesEquation]{Lettre}+}\useKV[ClesEquation]{Lettre}\xintifboolexpr{#5>0}{+\num{#5}}{-\num{\fpeval{0-#5}}}\\
\mathcolor{Csymbole}{\multido{\i=1+1}{\fpeval{#2-1}}{\useKV[ClesEquation]{Lettre}+}\useKV[ClesEquation]{Lettre}}\xintifboolexpr{#3>0}{+\num{#3}}{-\num{\fpeval{0-#3}}}&=\mathcolor{Csymbole}{\useKV[ClesEquation]{Lettre}\multido{\i=1+1}{\fpeval{#2-1}}{+\useKV[ClesEquation]{Lettre}}}\multido{\i=1+1}{\fpeval{#4-#2}}{+\useKV[ClesEquation]{Lettre}}\xintifboolexpr{#5>0}{+\num{#5}}{-\num{\fpeval{0-#5}}}\\
\xdef\Coeffa{\fpeval{#4-#2}}\num{#3}&=\useKV[ClesEquation]{Lettre}\multido{\i=1+1}{\fpeval{\Coeffa-1}}{+\useKV[ClesEquation]{Lettre}}\xintifboolexpr{#5>0}{+\num{#5}}{-\num{\fpeval{0-#5}}}\\
\ifboolKV[ClesEquation]{Bloc}{%
\num{#3}&=\Fdash{$\mathcolor{Csymbole}{\useKV[ClesEquation]{Lettre}\multido{\i=1+1}{\fpeval{\Coeffa-1}}{+\useKV[ClesEquation]{Lettre}}}$}\xintifboolexpr{#5>0}{+\num{#5}}{-\num{\fpeval{0-#5}}}\\
}{}%
\xdef\Coeffb{\fpeval{#3-#5}}\num{\Coeffb}&=\useKV[ClesEquation]{Lettre}\multido{\i=1+1}{\fpeval{\Coeffa-1}}{+\useKV[ClesEquation]{Lettre}}%\\
\xintifboolexpr{\Coeffa==1}{}{%\ifnum\cmtd>1
\\\frac{\num{\Coeffb}}{\num{\Coeffa}}&=\useKV[ClesEquation]{Lettre}%\\
%% decimal
\ifboolKV[ClesEquation]{Decimal}{%
\\\num{\fpeval{\Coeffb/\Coeffa}}&=\useKV[ClesEquation]{Lettre}%
}{}%
%%%
\ifboolKV[ClesEquation]{Entier}{%
\SSimpliTest{\Coeffb}{\Coeffa}%
\ifboolKV[ClesEquation]{Simplification}{%
\ifthenelse{\boolean{Simplification}}{\\\SSimplifie{\Coeffb}{\Coeffa}&=\useKV[ClesEquation]{Lettre}}{}%\\
}{}
}{}
}
\end{align*}
}%
}%
}%
}%
}%
}%
}%
|