Voila un programme que j'ai fait qui me semble bien complet sur les complexes. Il vous calcule le quotient et le produit de deux nombres complexes sous forme algébrique, vous transforme une écriture algébrique en écriture exponentielle et vice versa, vous calcul un angle (U,AB) ou (AB,CD), vous calcule une distance OA ou AB, et vous donne les caractéristiques d'une similitudes à partir de son écriture complexe z'=az+b.
Les [Teta] etc... signifie qu'il faut remplacer ce qui est entre crochets par le signe correspondant
-> c'est STO sauf à l'intérieur des menu (ALGE -> EXP et EXP -> ALGE) où c'est le signe moins suivi de supérieur ²
Code
:Lbl 0
:Radian
:Menu("QUE FAIRE ?","QUOTIEN/PRODUI",1,"ALGE/EXP",2,"ANGLE/LONGUEUR",3,"SIMILITUDES"'4'"QUITTER",Q)
:Lbl Q
:Return
:Lbl 1
:Menu("QUE FAIRE ?","QUOTIENT",5,"PRODUIT",6,"PRECEDENT",0,"QUITTER",Q)
:Lbl 5
:ClrHome
:Disp " CALCUL DE Z/Z'"," Z=X+IY"," Z'=X'+IY'"
:Input "X=",A
:Input "Y=",B
:Input "X'=",C
:Input "Y'=",D
:(AC+BD)/(C²+D²)->X
:(BC-AD)/(C²+D²)->Y
:ClrHome
:Disp X[Frac],"+I*",Y[Frac]
:Pause
:Menu("QUE FAIRE ?","REFAIRE",5,"PRECEDENTE",1,"DEBUT",0,"QUITTER",Q)
:Lbl 6
:ClrHome
:Disp "CALCUL DE Z*Z'"," Z=X+IY"," Z'=X'+IY'"
:Input "X=",A
:Input "Y=",B
:Input "X'=",C
:Input "Y'=",D
:(AC-BD)->X
:(AD+BC)->Y
:ClrHome
:Disp X[Frac],"+I*",Y[Frac]
:Pause
:Menu("QUE FAIRE ?","REFAIRE",6,"PRECEDENTE",1,"DEBUT",0,"QUITTER",Q)
:Lbl 2
:Menu("QUE FAIRE ?","ALGE->EXP",7,"EXP->ALGE",8,"PRECEDENTE",0,"QUITTER",Q)
:Lbl 7
:ClrHome
:Disp "PASSE UN NB CPLX","DE LA FORME ALGE","A EXP"," Z=X+IY"
:Input "X=",A
:Input "Y=",BA²+B²->M
:[Racine]M->M
:A/M->C
:B/M->S
:cos-1 (C)->C
:sin-1 (S)->S
:C->[Teta]
:C-S->Z
:If (abs (Z))>1E-5
:-C->[Teta]
:ClrHome
:Output(1,1,"Z=")
:Output(1,3,A)
:Output(1,8,"+I")
:Output(1,10,B)
:Output(3,1,"Z=")
:If M=iPart (M)
:Output(3,3,M)
:If M[different]iPart (M)
:Then
:Output(3,3,"[racine]")
:Output(3,4,M²)
:End
:Output(3,8"e^I")
:Output(3,11,"[teta]/[Pi])
:Output(3,16,,"[Pi]")
:Pause
:Menu("QUE FAIRE ?","REFAIRE",7,"PRECEDENTE",2,"DEBUT",0,"QUITTER",Q)
:Lbl 8
:ClrHome
:Disp "PASSE UN NB CPLX","DE LA FORME EXP"," A ALGE","Z=Ae^I[teta]"
:Input "A=",A
:Input "[Teta]=",[Teta]
:Asin([Teta])->Y
:Acos([Teta])->X
:Output(1,1,"Z=")
:Output(1,3,"[racine]")
:Output(1,4,A²)
:Output(1,8,"e^I")
:Output(1,11,[Teta]/[Pi])
:Output(1,16,"[Pi]")
:Output(3,1,"Z=")
:Output(3,3,X)
:Output(3,7,"+I")
:Output(3,10,Y)
:Pause
:Menu("QUE FAIRE ?","REFAIRE",8,"PRECEDENTE",2,"DEBUT",0,"QUITTER",Q)
:Lbl 3
:Menu("QUE FAIRE ?","ANGLE",9,"DISTANCE",A,"PRECEDENTE",0,"QUITTER",Q)
:Lbl 9
:Menu("QUE FAIRE ?","(U,AB)",B,"(AB,CD)",C,"PRECEDENTE",3,"DEBUT",0,"QUITTER",Q)
:Lbl B
:ClrHome
:Disp "CALCUL DE L'ANGL"," (U,AB)","ZA=XA+IYA","ZB=XB+IYB"
:Input "XA=",A
:Input "YA=",B
:Input "XB=",C
:Input "YB=",D
:C-A->E
:D-B->F
:E²+F²->G
:[Racine]G->G
:cos-1 (E/G)->H
:sin-1 (F/G)->I
:H-I->Z
:If abs(Z)>1E-5
:-H->H
:Disp " ANGLE (U,AB)","H/[Pi][Frac],"*[Pi]"
:Pause
:Menu("QUE FAIRE","REFAIRE",B,"PRECEDENTE",9,"MENU ANGL/LONG",3,"DEBUT",0,"QUITTER",Q)
:Lbl C
:ClrHome
:Disp "CALCUL DE L'ANGL","(AB,CD)","ZA=XA+IYA","ZB=XB+IYB","ZC=XC+IYC","ZD=XD+IYD"
:Input "XA=",A
:Input "YA=",B
:Input "XB=",C
:Input "YB=",D
:Input "XC=",E
:Input "YC=",F
:Input "XD=",G
:Input "YD=",H
:C-A->I
:D-B->J
:G-E->K
:H-F->L
:(IK+JL)/(I²+J²)->X
:(IL-JK)/(I²+J²)->Y
:x²+Y²->M
:[racine]M->M
:X/M->C
:Y/M->S
:cos-1 (C)->C
:sin-1 (S)->S
:C-S->Z
:If abs (Z)>1E-5
:-C->C
:Disp "ANGLE (AB,CD)",C/[pi][Frac],"*[Pi]"
:Pause
:Menu("QUE FAIRE ?","REFAIRE",C,"PRECEDENTE",9,"MENU ANGL/LONG",3,"DEBUT",0,"QUITTER",Q)
:Lbl A
:Menu("QUE FAIRE ?","DISTANCE OA",D,"DISTANCE AB",E,"PRECEDENTE",3,"DEBUT",0,"QUITTER",Q)
:Lbl D
:ClrHome
:Disp "CALCUL DE OA","ZA=X+IY"
:Input "X=",A
:Input "Y=",B
:A²+B²->M
:ClrHome
:Output(1,1,"[racine]")
:Output(1,2,M)
:Pause
:Menu("QUE FAIRE ?","REFAIRE",D,"PRECEDENTE",A,"MENU ANGL/LONG",3,"DEBUT",0,"QUITTER",Q)
:Lbl E
:Disp "CALCUL DE AB","ZA=X+IY","ZB=X'+IY'"
:Input "X=",A
:Input "Y=",B
:Input "X'=",C
:Input "Y'=",D
:C-A->X
:D-B->Y
:X²+Y²->M
:ClrHome
:Output(1,1,"[racine]")
:Output(1,2,M)
:Pause
:Menu("QUE FAIRE ?","REFAIRE",E,"PRECEDENTE",A,"MENU ANGL/LONG",3,"DEBUT",0,"QUITTER",Q)
:Lbl 4
:ClrHome
:Disp "SIMILITUD DIRECT","DE FORME Z'=AZ+B","OU","A=X+IY","B=X'+IY'"
:Input "X=",A
:Input "Y=",B
:Input "X'=",C
:Input "Y'=",D
:If A=0
:Then
:Disp "PAS SIMIL DIRECT"
:Goto F
:End
:If A=1 and B=0
:Then
:Disp "TRANSLATION DE","VECTEUR OB"
:Goto F
:End
:1-A->E
:-B->F
:(CE+DF)/(E²+F²)->G
:(DE-CF)/(E²+F²)->H
:A²+B²->M
:[racine]M->M
:A/M->I
:B/M->J
:cos-1 (I)->I
:sin-1 (J)->J
:I-J->Z
:If abs (Z)>1E-5
:-I->I
:ClrHome
:Disp "CENTRE","","RAPPORT","","ANGLE"
:Output(2,1,G)
:Output(2,7,"+I")
:Output(2,9,H)
:Output(4,1,"[racine]")
:Output(4,2,M²)
:Output(6,1,I/[Pi])
:Output(6,7,"*[Pi]")
:Lbl F
:Pause
:Menu("QUE FAIRE ?","REFAIRE",4,"DEBUT",0,"QUITTER",Q)