Donner le texte du programme ci-dessous en omettant les variables derrière les retourne, demander de compléter:
(il y a peut-être des erreurs)
Code : Tout sélectionner
IneqDeg2(E,sg):={
local sol,c,s,A,B,Co,Cf,Do,Df,Eo,Ef,F;
sol:=solve(E);
c:=coeff(E,x,2);
s:=size(sol);
A:="S=]-∞,+∞[";B:="S=Ø";
si s!=0 alors
Co:="S=]-∞,"+sol[0]+"[U]"+sol[0]+",+∞[";
Cf:="S=]-∞,"+sol[0]+"]U["+sol[0]+",+∞[";
Do:="S=]-∞,"+min(sol)+"[U]"+max(sol)+",+∞[";
Df:="S=]-∞,"+min(sol)+"]U["+max(sol)+",+∞[";
Eo:="S=]"+min(sol)+","+max(sol)+"[";
Ef:="S=["+min(sol)+","+max(sol)+"]";
F:="S={"+sol[0]+"}";
fsi;
si sg=='>' alors
si s==0 alors
si c>0 alors retourne A;fsi;
si c<0 alors retourne B;fsi;
fsi;
si s==1 alors
si c>0 alors retourne Co;fsi;
si c<0 alors retourne B;fsi;
fsi;
si s==2 alors
si c>0 alors retourne Do;fsi;
si c<0 alors retourne Eo;fsi;
fsi;
fsi;
si sg=='>=' alors
si s==0 alors
si c>0 alors retourne A;fsi;
si c<0 alors retourne B;fsi;
fsi;
si s==1 alors
si c>0 alors retourne A;fsi;
si c<0 alors retourne F;fsi;
fsi;
si s==2 alors
si c>0 alors retourne Df;fsi;
si c<0 alors retourne Ef;fsi;
fsi;
fsi;
si sg=='<' alors
si s==0 alors
si c>0 alors retourne B;fsi;
si c<0 alors retourne A;fsi;
fsi;
si s==1 alors
si c>0 alors retourne B;fsi;
si c<0 alors retourne Co;fsi;
fsi;
si s==2 alors
si c>0 alors retourne Eo;fsi;
si c<0 alors retourne Do;fsi;
fsi;
fsi;
si sg=='<=' alors
si s==0 alors
si c>0 alors retourne B;fsi;
si c<0 alors retourne A;fsi;
fsi;
si s==1 alors
si c>0 alors retourne F;fsi;
si c<0 alors retourne A;fsi;
fsi;
si s==2 alors
si c>0 alors retourne Ef;fsi;
si c<0 alors retourne Df;fsi;
fsi;
fsi;
}
:;
On peut peut-être raccourcir ce programme bourré de redites ...?