Aujourd'hui je viens vous présenter mon nouveau programme, plutôt utile!
Ce programme est un pack de logiciels permettant de résoudre des équations de niveau collège/lycée.
Il se compose de 3 parties:
1) Un solveur d'équation de premier degré, en mode pas à pas (résolution commentée). Vous trouverez plus d'information au sujet de ce logiciel ici: archives_voir.php?id=85048
2) Un solveur de système d'équation à 2 inconnues
3) Un logiciel permettant de trouver les racines d'un trinôme du second degré.
ScreenShoot
Lien direct
archives_voir.php?id=131151
Code source:
- Code: Tout sélectionner
Lbl A
AxesOff:GridOff
DelVar XDelVar L26->dim(L2
1->C
ClrHome
Output(4,1,"EQUATIONS SOLVER
Output(5,1,"v2.0 - Wistaro
For(A,1,16
Output(6,A,"+
Output(3,17-A,"+
End
Pause
Menu("EQUATIONS SOLVER","1er degre",1,"Systemes",S,"Polynomes",P,"Quitter",Q
Lbl Q:Stop
Lbl S:ClrDraw
{0,0,0,1}->|LVER
{0,0,0,1}->|LVEC:{0,0,0,1}->|LVEB
{0,0,0,1}->|LVEA:{0,0,0,1}->|LVED
ClrDraw:Text(1,1,"Commencez par reduire"
Text(7,1,"votre systeme comme":Text(14,1,"cet exemple:"
Text(30,5,"3X-5Y=2":Text(37,5,"7X+3Y=12"
Text(50,1,"X + Y = n":Text(55,1,"X + Y = n":Pause
Lbl G:ClrHome:ClrHome
Output(5,1,"Equation n^^o":Output(5,12,|LVER(4)
Pause :ClrHome
Disp "nb de X":Input "",X
Output(8,1,X:Output(8,3,"X"
Disp "nb de Y":Input "",Y
Output(8,1,X:Output(8,3,"X"
Output(8,5,"+":Output(8,7,Y
Output(8,9,"Y":Disp "nb d'unitees"
Input "",U:Output(8,1,X
Output(8,3,"X":Output(8,5,"+"
Output(8,7,Y:Output(8,9,"Y"
Output(8,11,"=":Output(8,13,U
Pause
If |LVER(4)=1:Then
{X,Y,U,2}->|LVER:Goto G:End
If |LVER(4)=2:Then
{X,Y,U,2}->|LVEC
End:Goto R
Lbl R:ClrDraw
ClrHome
{|LVER(1),|LVEC(1)}->|LVEA:{|LVER(2),|LVEC(2)}->|LVEB
{|LVER(3),|LVEC(3)}->|LVED
List>matr(|LVEA,|LVEB,|LVED,[A]
rref([A])->[A]:ClrHome
[A](1,3)->A
[A](2,3)->B:Disp "Le couple","solution est:"
Output(6,1,"X=
Output(6,4,A
Output(7,1,"Y=
Output(7,4,B
Pause
DelVar |LVEADelVar |LVEBDelVar |LVECDelVar |LVEDDelVar |LVER
ClrHome:Goto A
Lbl P:ClrHome
Disp "AX^^2+BX+C
Disp "
Prompt A,B,C
If A=0:Then
Disp "Fonction affine"," S= ",~(B/C):Stop:End
B^^2-4AC->D
(Ans>0)+(Ans>=0)
Disp "Il y a ",sub("012",Ans+1,1)+" racines
If Ans:Then
.5A^~1seq(~B+C*sqrt(D)>Frac,C,1-Ans,1,2->L1
Pause L1:
Else:Pause
End
Goto A
Lbl 1:ClrHome
DelVar L1
Input "?>",Str1
ClrHome
Disp "PLEASE WAIT...
inString(Str1,"="->P
If not(P:Then
length(Str1)+1->P
Str1+"=0"->Str1
End
length(Str1->L
Str1->Str9
Lbl 9
Str9->Str1
If C=1:Then
sub(Str9,1,P-1->Str1
length(Str1->V
expr(Str1->L2(C+2
End
If C=2:Then
inString(Str9,"=")->P
sub(Str9,P+1,length(Str9)-P->Str1
length(Str1->V
expr(Str1->L2(C+2
End
If not(inString(Str1,"X"):Then
{0}->L1
Goto 6
End
1->T
Lbl 5
length(Str1->V
If inString(Str1,"X":Then
inString(Str1,"X"->A
Repeat Str3="+" or Str3="-" or A=1
If A>1:A-1->A
sub(Str1,A,1)->Str3
End
If A=1:sub(Str1,1,inString(Str1,"X")-A->Str4
If A>1:sub(Str1,A+1,inString(Str1,"X")-(A+1)->Str4
End
T->dim(L1
sub(Str4,1,1
If Ans="+" or Ans="-" or Ans="*" or Ans="/":sub(Str4,2,length(Str4)-A)->Str4
expr(Str4->L1(T
inString(Str1,"X"->P
If V-P:Then
inString(sub(Str1,P+1,V-P),"X")->Q:Else:Goto 6:End
If V>P and Q
Then
sub(Str1,P+1,V-P)->Str1
T+1->T
Goto 5
End
Lbl 6:ClrHome
ClrDraw
DelVar Esum(L1->L2(C
If C=1:Then
2->C:Goto 9
End
L2(1)-L2(2->A
L2(4)-L2(3->B
If A<0:Then
~A->A:~B->B:End
ClrHome
DelVar {Y1}
Text(0,0,Str9
Text(7,0,"<=> ",L2(1),"X+",L2(3),"=",L2(2),"X+",L2(4
Text(14,0,"<=> ",A,"X+",L2(3),"=",L2(4)
Text(21,0,"<=> ",A,"X=",B
If not(A:Goto 8
Text(28,0,"<=> X="
If not(fPart(B/A:Then
Text(47,0,B/A
Else
If not(fPart(A)) and not(fPart(B):Then
If A<0:Then:~A->F:Else:A->F:End
If B<0:Then:~B->G:Else:B->G:End
A/gcd(F,G)->A
B/gcd(F,G)->B
End
Text(35,0,B
Text(49,0,A
StorePic 1
If A<0:Then:~A->A:1->E:End
If B<0:Then:~B->B:1->E:End
max({A,B->M
{0,1->L1:{0,M->L2
LinReg(ax+b) L1,L2,{Y1}
Equ>String({Y1},Str1
sub(Str1,1,length(Str1)-3->Str1
DelVar {Y1}
For(D,0,length(Str1)+E
Text(42,3D,"-
End
Text(57,0,"=",B/A
RecallPic 1
End
Pause :ClrDraw
Disp "
Stop
Lbl 8
If L2(3:Text(30,0,"S= <ensemble vide>
If not(L2(3:Then
Text(30,0,"S= R
Line(~7.8,0,~7.8,~1.2
End
Pause :Goto A