Autorisation : Membre
Nb de messages : 3
Inscrit le : Ven 05 Mai 2006, 14:46
Posté le : Mar 16 Mai 2006, 10:21
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.
Perso, je ne vois qu'un seul inconvénient à ce programme : 2975 Octets
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)
Autorisation : Membre
Nb de messages : 3370
Inscrit le : Sam 31 Déc 2005, 19:48
Posté le : Mar 16 Mai 2006, 19:14
C pas 3000 ko mais 3000 octets parceque 3000 ko=3000000 octets= impossible sur calcu.
En plus, après beaucoups de modifs, j'arrive qu'a 5000 octets et puis le plus gros fait 7000 octets.
Autorisation : Membre
Nb de messages : 1561
Inscrit le : Mer 01 Mar 2006, 20:41
Posté le : Sam 20 Mai 2006, 23:14
En fait je crois que la majorité des membres sont des 2nde : moi, toi, craminou, dark ti (y me semble), scalt (y me semble aussi), et niko mais qu'on a pas vu depuis un certains temps