Forum

Catégorie : Programmes
Forum : Les programmes des internautes
Vues : 9549
Réponses : 52
Type : discussion
Etat : réponses autorisées

Programme COMPLEXES - Page 1 / 2

Revenge Mania le 16/05/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)


Voila, merci de me dire ce que vous en pensez
ratuss le 16/05/2006 à 18:37
3000 ko ca va encore, quand on voit les prog de Sangohan qui font 15000 godgrace.gif
Sangohan38 le 16/05/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.
webmaster le 16/05/2006 à 19:45
Pas plus de 20 Ko de programmes !

@+ Le Webmaster beer.gif

PS : Bravo pour ce programme bien complet !
Sangohan38 le 16/05/2006 à 19:53
21 KO de programme

PS: Je suis paumé sur ce programme. cry.gif
ratuss le 16/05/2006 à 20:03
pourquoi 21 ? crazy.gif ahh.gif
webmaster le 16/05/2006 à 20:15
C'est un cas particulier, en rèqle générale, c'est environ 20ko !

@+ Le Webmaster beer.gif
ratuss le 17/05/2006 à 07:04
Sangohan38 a écrit :
PS: Je suis paumé sur ce programme.


T'inquiète pas, tout de manière c'est tjs plus compliqué de comprendre les prgrammes des autres. bigmouth.gif
webmaster le 17/05/2006 à 11:58
Pour éviter ce désagrément, il faudrait ajouter des commentaires à chaque ligne, comme je l'avais fait ici : https://tout82.pages-perso.fre[...]ssage=2326#2326

@+ Le Webmaster beer.gif
Sangohan38 le 17/05/2006 à 14:14
Enfait je sais pas sur quel sujet est le programme donc...
ratuss le 17/05/2006 à 17:48
Oui sauf que tu reduis la fenetre en largeur et la tu comprends plus rien crazy.gif

Ps : Moi non plus je sais même pas à quoi sert ce prog, je ne suis encore qu'un miserable petit 2nde laugh.gif
craminou le 17/05/2006 à 21:44
je suis comme vous les gars ! je ne suis encore qu'un ignorant petit seconde ! minied.gif
ratuss le 19/05/2006 à 07:09
Y a qu'en même un avantage : dans 3 semaines, c'est les... godgrace.gif godgrace.gif godgrace.gif
Sangohan38 le 20/05/2006 à 11:40
Erreur 2 semaines! godgrace.gif
ratuss le 20/05/2006 à 19:26
=> je finis le 9 eyeonly.gif clown.gif
Sangohan38 le 20/05/2006 à 19:36
Je finis le 7 mais comme leconseil de classe est le 1, je vien le 2 ppur l'orientation et après plus rien.
ratuss le 20/05/2006 à 19:52
Bof, si tu prend ca comme ca, alors moi je suis deja en vacances : mon conseil de classe est lundi godgrace.gif !
Sangohan38 le 20/05/2006 à 20:52
Ensuite ca dépend de ta classe: je suis en seconde donc pas de bac a préparer! glasses.gif glasses.gif
ratuss le 20/05/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 karate.gif cry.gif crazy.gif clown.gif
Sangohan38 le 21/05/2006 à 00:27
Ouai on est drogués de plus en plus jeunes. godgrace.gif
Enfin... surtout moi laugh.gif
ratuss le 21/05/2006 à 08:12
Disons que c'est surtout parce que on a la calcu depuis cette année, l'année prochaine ca risque d'être plus chaud par rappport au boulot cry.gif
Sangohan38 le 21/05/2006 à 21:31
Ca c'est sur cry.gif
craminou le 28/05/2006 à 17:31
effectivement, c'est bientot les vacances!je fini le 9 et j'ai mon conseil lundi .
pour se qui est de la majorité du forum en seconde : c'est a partir de cette classe que la programation est possible car c'est la qu'on a pour la premiere foi 1 calculos grafik .
ensuite c'est vrai qu'il est etonnant que personne des generation precedantres ne sio des notre et que nous soyon plein a avoir commencer la prog cette année !
enfin c'est pas si mal . glasses.gif
Sangohan38 le 28/05/2006 à 18:38
Moi je finis le mercredi 7 juin 2006 à 10h55 godgrace.gif !
Mais mon conseil de classe à lieu jeudi 1er.

C'est vrai qu''on est plein à commencer cette année. En général, quand je vois un gar programmer, il n'est pas vraiment vieu.
Et le pire, c'est mon frêre qui comprend pas le bel outil qu'il ne veut pas échanger contre lma 82 alors qu'il a à une très faible utilisation.
ratuss le 28/05/2006 à 20:19
Idem pour moi : le mercredi 7 juin 10h05 et c'est fini.

Mon conseil de classe est deja passé, tchao les gars godgrace.gif
explosivetnt le 31/05/2006 à 15:14
moi aussi je suis en seconde... et je repique. donc encore un an de programmation en perspective!!
Sangohan38 le 31/05/2006 à 18:46
Chanceux
ratuss le 31/05/2006 à 20:22
euh, on à peut etre pas la même notion du mot "chanceux" extraterre.gif laugh.gif
Sangohan38 le 01/06/2006 à 07:29
Chanceux.... en programmation. laugh.gif
xeros le 02/06/2006 à 18:21
moi je sui en terminale S et je programme toujour !!!
mé je ni sui pa trè souvent
G plu beaucou le temp angry.gif
bye
ratuss le 02/06/2006 à 18:35
Bon je te comprends, le webmaster aussi passe le bac, bon en tout cas revisez bien et bonne chance à tous les deux. (moi je suis en vacances dans 5 jours laugh.gif , c'est l'avantage d'être en seconde)
Sangohan38 le 02/06/2006 à 18:48
Bonne chance pour le Bac. Moi, je syuis en seconde ezt je vien de finire les cours.
ratuss le 02/06/2006 à 19:21
Lol, c'est parceque ton conseil était aujourd'hui ?

En tout cas c'est clair, moi il vient de passer il y a environ 2 semaines, et maintenant on est à peine plus que la motié à venir en cours, et même pas 1/4 à aller en d'allemand laugh.gif
Certains viennent 1 fois sur 2, ou d'autre pas du tout... karate.gif
xeros le 02/06/2006 à 21:00
merci a vous
le pb C ke G tellement de chose dan ma calcu kelle deblok completemen crazy.gif
alor il va falloir ke je fasse un nettoyage !!
Jcotnys le 02/06/2006 à 21:12
uai c cler netoyage direct ! godgrace.gif godgrace.gif godgrace.gif
moi c bts alor pour la programmation cété assé chaud crazy.gif crazy.gif crazy.gif crazy.gif
( jen fésé beucou kan jété "lycéen" laugh.gif)
ca yéééééééééééééééé c mon 100ème message à moi ! ! ! minied.gif minied.gif minied.gif !!!
encore 500 et je rattrape Ratuss ! godgrace.gif godgrace.gif laugh.gif
ratuss le 03/06/2006 à 10:32
>> laugh.gif lol, je pense pas que le but principal du forum est d'avoir le + gros compteur...
Sangohan38 le 03/06/2006 à 14:12
Moi mon compteur il est à plus de 500 messages. Encor + de 100 et je ratrape Ratuss.
Ofaite, j'ai finis les cours jeudi dernier et maintenant je fait plus rien en cours à par jouer avec des gens (d'ou l'utilité de mes jeux).
Jcotnys le 03/06/2006 à 16:39
ben uai jrigole ! ! godgrace.gif godgrace.gif godgrace.gif laugh.gif laugh.gif
le but c lé jeu minied.gif !
en ce ki me concerne, jessai warship avek lé listes mé cé long crazy.gif crazy.gif crazy.gif
Sangohan38 le 03/06/2006 à 17:06
Nan, si, c'est pas un jeu ou on peut continuer sa partie, les variables normales marchent bien.
ratuss le 03/06/2006 à 20:01
L'avantage des listes ces qu'elles se marient très bien avec les boucles for => economie de place. happy.gif
Sangohan38 le 03/06/2006 à 22:19
D'accord!
Jcotnys le 04/06/2006 à 14:50
jsais pa coment faire avek les listes ahh.gif ???
Code
en normal je fé :
:For(X,1,100)
:Output(1,1,">")
:end

coment faire la meme chose avek les liste?? ahh.gif
ratuss le 04/06/2006 à 20:41
Euh... pourquoi tu veux utiliser des listes ici?? karate.gif crazy.gif
Sangohan38 le 04/06/2006 à 21:25
Pour remplacer ke variable non?
ratuss le 05/06/2006 à 08:17
...En plus, je vois pas pourquoi tu met une boucle for ici :

Code
:For(X,1,100)
:Output(1,1,">")
:end


ca revient à mettre :
Code
:Output(1,1,">")
:Output(1,1,">")
:Output(1,1,">")
:Output(1,1,">")

...


crazy.gif
Sangohan38 le 05/06/2006 à 10:32
En effet.
Jcotnys le 05/06/2006 à 10:42
ahh.gif ahh.gif ahh.gif ?????
alor comen je peu faire un jeu de vaisso avek des listes ???
warship est pour l'instant avek des output et des for ! !: jessai de trouver un otre moyen pour l'égalité
Code
int J= int (Q=U)
!!! maxiangry.gif maxiangry.gif
Sangohan38 le 05/06/2006 à 11:45
C pa coorect le code que tu vien de mettre.
ratuss le 05/06/2006 à 16:03
Si, ca veut dire J=int(1) ou J=int(0). Ca depend de l'egalité Q=U.
Mais oui sinon c'est vrai que c'est pas très coherent... crazy.gif

essayes plutot :
Code
J=int Q and int Q=int U

ou
Code
J=Q and Q=U


Je sais pas si c'est ca que tu veux...
Sangohan38 le 05/06/2006 à 18:04
Enfait je sais pas trop de quoi vous parler donc je sais pas quoi répondre.