Autorisation : Membre
Nb de messages : 11
Inscrit le : Ven 28 Sep 2007, 20:00
Posté le : Mar 22 Avr 2008, 21:54
voila, c'est un programme de conversion de nombres complexes de la forme polaire à la forme cartésienne, et inversement, pour ceux qui bosse sur les régime sinusoïdaux, faut sans arrêt passer d'une forme à l'autre, alors j'ai fait ce petit programme sur mon lit d'hôpital lol
je sais pas si il n'y a pas une fonction de la TI qui le fait...
ca prend enormement de place (32 octets avec tous les *)
une boucle for sera bcp plus adaptée
enfin bon après y a encore d'autres trucs par ex :
Code
If B>0
180+ø=>ø
If B<0
180+ø=>ø
je le remplacerais par :
Code
If B=/=0
180+ø=>ø
ou mieux :
Code
ø+180(B=/=0->ø
ps : je met le code en ascii si les autres veulent faire des citations :
Code
Lbl 0:Fix 2:Normal
ClrHome
Output(1,1,"****************"
Output(8,1,"****************"
Output(3,1," CONVERTISSEUR"
Output(5,5," COMPLEXE"
Pause :Lbl A
Menu("CONVERSION:","CAR-POL",C,"POL-CAR",P
Lbl C
ClrHome
Disp "Z=A+JB"
Prompt A,B
rc((A²+B²)=>P
If A=0
Then
If B>0
90=>ø
If B<0
(-)90=>ø
Goto B
End
tan¯¹((B/A)=>ø
If A>0
Goto B
If B>0
180+ø=>ø
If B<0
180+ø=>ø
Lbl P
ClrHome
Disp "Z=(P,ø)"
Prompt P,ø
Pcos(ø=>A
Psin(ø=>B
ClrHome
Output(1,1,"****************"
Output(8,1,"****************"
Output(3,3,"Z="
Output(4,4,A
If B[plus grand ou égal à]0:Then
Output(5,4,"+"
Output(5,5,B
End
If B<0:Then
Output(5,4,B
Output(5,4,"-"
End
Output(6,5,"J"
Pause
Stop
Attention je vois que utilise la tangeante pour calculer ton argument !
Je ne sais pas si c'est véridique mais mon prof de math m'avais dit de ne pas le faire car il y avait un cas sur je sais plus combien pour que ça ne marche pas.
Il y a plein d'autre façon sur la ti de calculer un argument, ex:
1)arccos(Réel/Module) et arcsin(Imag/Module) et arctan(Imag/Réel).
2)Disp "Du type A+iB"
Input "Z=",Z
argument(Z)->teta
3)Dans le menu angle (shift+matrice) :
Prompt A,B
RPr(A,B)->M
RPteta(A/B)->teta
Je pense que je vais poster mon programme futurement si ça intéresse des gens.
J'utilise la 2nd méthode.