1

Salut a tous!
Je viens tout juste de m'initier a la programmation en TI basic sur a TI 89 Titanium HW3.0, et j'ai tenté de faire un programme traitant des nombre complexes (niveau Term S)

en gros, le principe est simple : a terme , je voudrais disposer d'un outil qui affiche le module, argument , forme trigonométrique et exponentielle , et éventuellement (je m'interroge sur la mise en oeuvre de cette fonction) une représentation graphique du complexe.

C'est mon premier programme, qui en est donc a ses balbutiements.Je vous donne donc ici le code que j'ai utilisé:

complexes(a) a est le complexe utilisé
Prgm()
Local a,r,t,
Disp a
Disp "conjugué",conj(a) j'affiche le conjugué (basique mais utile)
Pause
abs(a)->r
Disp "module", r affiche le module, puis l'argument
Pause
arg(a)->t
Disp "argument",t
Pause
Disp "forme trigonométrique", r*(cos(t)+i*sin(t)) forme trigo

EndPrgm


Pour l'instant j'en suis la, avec déja un beau baquet de question:
1. la difference chaine / expression?

2. comment afficher par exemple "module" suivi de la valeur du module (r) , sur la même ligne (pour simplifier un peu l'affichage)
pour l'instant la seule facon que j'ai trouvé pour afficher quelque chose , c'est
Disp "module",r mais ni l'un ni l'autre n'affiche un résultat sur la même ligne
ou
Disp "module"
Disp r

3.Comment faire pour afficher une expression (ici la forme trigonométrique) sans que la calculatrice la simplifie automatiquement? en fait, connaissant la valeur des cosinus et sinus, elle développe toute l'expression , et me retourne mon complexe de départ...frustrant...

notez bien que ce n'est qu'une ébauche, qui me sert a apprendre le code TI! je compte bien améliorer sa lorsque j'aurais compris des fonctions un peu plus avancées!

Merci par avance pour vos aides, qui me seront j'en suis persuadé tres précieuses!!

edit: téta remplacé par t, illisible apparement

2

3

Message mis a jour, & # 952 ;=t (téta) ^^

4

5

euh oui, merci, mais sa ne m'aide pas réellement a comprendre la différence entre ces 2 entités..
exemple: x^+2x, chaine ou expression?
...
j'en suis également arrivé au point ou je veux passer a une forme exponentielle...mais je n'arrive pas a stocker le résultat dans une variable...
a>Pol->e
a>Pol donne directement la notation expo, mais il me fait une erreur de syntaxe juste apres la fleche pour stocker la var.
j'ai essayé chaine(a>Pol)->e et expr(a>Pol)->e ,cette foi ci il me dit ) manquant juste apres pol...

6

7

Ton soft me plait car je suis éxactement en train de faire la meme chose mais dans le but de simplifier l'affichage jutilise la fonction dropdown qui me permet de juste calculer ce dont g besoin! Apres je pense que ca peut marcher plutot pas trop mal meme si le code reste simple!
G un pti gros tres gros pb sur ma 92 ou ya mon prog sur les complexes je retape le code et je le post ici... a bon entendeur met aussi t mises a jour voire si ca me plait!! lol merci

8

9

ok, merci pour la précision sur chaine/expression, et pour l'affichage de pol !
Sinon le probleme (qui va devenir récurrent je pense) que j'ai peu paraire idiot : comment afficher une expression sans que la caluclatrice la réduise/développe/... etc... ?
en fait je voudrais remplacer r et t par les valeurs stockées précédemment, sans que la calculatrice calcule le sinus/cosinus (et donc réduise mon écriture trigo au complexe entré en premier) dans l'expession
r*(cos (t) + i*sin(t))...

10

11

génial sa, merci beaucoup!
et sinon (ce n'est pas tres important) ,on peut afficher sa en pretty print?...
et je n'arrive pas non lpusa afficher un résultat a coté d'une ligen de texte, sans qu'il soit en desous

12

13

ok!

Bon maintenant,je travaille sur la représentation graphique d'un complexe, et je dois utiliser une instruction du style If, When (ou autre)... sauf que je ne sais pas du tout comment les faire marcher...
en gros voila ce que je veux faire
xa=partie réelle du complexe=abcisse
Ya= " imaginaire " = ordonnée

test 1° Si xa>0
(xa+1)->xmax
-1->xmin
Si xa<0
(xa-1)->xmin
1->xmax

test 2° Si ya>0
(ya+1)->ymax
-1->ymin
Si ya<0
(ya-1)->ymin
1->ymax

Puis Lign 0,0,xa,ya
j'ajoute ou enleve 1 pour gagner en lisibilité, et que les axes soient biens affichés!
Le souci, c'est que je ne sais pas du tout articuler de tests, ni même quelle instruction utiliser pour cela...

14

15

Je suis désoler pour le language sms de la dernière fois je fus un peux fatigué a vrai dire!
Je voudais bien que tu publie ton programme a la fin par contre et je ferais de meme des que je le mettrai sur mon pc c a d des que je rentrerais chez moi smile

16

ouais je ferais sa lorsqu'il sera optimisé, complet, et que j'aurais décidé de le publier surtout!
je viens de finir la réalisation de la représentation graphique du complexe,et ma premiere instruction IF!!
Martial Demolins (./14) :
tu n'avanceras pas plus sans bûcher un minimum


tu as bien raison!! wink

maintenant petite question un peu technique : la plupat du temps, lors du calcul de l'argument, la calculatrice a tendence a retourner une expression du style
k * pi +/- arctan (k * pi) , avec k appartient a Q ... or j'aimerais obtenir une valeur "exploitable" !
serait - il préférable de passer par la résolution de
cos (t) = a/r
sin (t) =b/r ; puis une instruction du style résol( cos(t)=a/r | sin (t) =b/r , t) ?ou le résultat sera-t-il le même?

et enfin une dernière question : le temps de calcul est relativement élevé lors de l'utilisation des boucles IF (il y en a 4 , se référer au post 12)...maintenant elles sont sous la forme

IF xa>o Then
"on stocke les valeurs de x/y max/min"

EnfIf ,le tout 4 fois...

sa raaaame...

17

18

Mais le probleme c'est que j'ai cherché (lol bah oui) , et ... je nais rien compris...sad
enfait je ne m'y connais pas du tout en programmation plus avancée, au niveau des instructions, et meme du vocabulaire...
et j'ai vu qu'on pouvait crasher définitivement la calculatrice si on se plantait...en fait j'ai besoin de savoir les bases, apres je pourrais programmer en C et assembleur...
sinon tu pense que ma séquence de test pourrait etre mieux en Basic, ou non ?

19

Phoen1x (./18) :
et j'ai vu qu'on pouvait crasher définitivement la calculatrice si on se plantait...


Oui, si tu accèdes à des fonctions très très très très très très très très très très très très très très très très très très très avancées grin
Moi qui suis un ni00b en C, je peux t'assurer qu'avec les dernières versions de TIGCC, il est impossible de faire un programme qui bricke ta calto smile

20

21

je vais poster tout sa!! mais je viens e de tomber sur un nouveau probleme:

()
Prgm
EffES
Lbl start
Local a,r,t,xa,ya
Prompt a
EffES
défMode("Angle","RADIAN")
Disp "conjugé",conj(a)
Pause
abs(a)r
Disp "module r",r
Pause
arg(a)t
PRx(r,t)xa
PRy(r,t)ya
Disp "cos ˆ"
Disp chaîne(xa)&"/"&chaîne(r)
Disp xa/r
Pause
Disp "sin t"
Disp chaîne(ya)&"/"&chaîne(r)
Disp ya/r
Pause
Disp "argument t",t
Pause
Disp "expo",aPol
Pause
Disp "forme trigo"
Disp chaîne(r)&"(cos("&chaîne(t)&")+i*sin("&chaîne(t)&")"&")"
Disp "1=back 2=RG 3=quit" Début de la 2nde partie du pgrm-> représentation graphique

Prompt n
If n=1 Then
Goto start
ElseIf n=2 Then
Goto rg
ElseIf n=3 Then
Goto end
Lbl rg
EffDess
EffGraph
If xa=0 and ya=0 Then
Disp "complexe nul"
Goto end
EndIf
If xa>0 Then
xa+1xmax
­1xmin
EndIf
If xa<0 Then
xa-1xmin
1xmax
EndIf
If ya>0 Then
ya+1ymax
­1ymin
EndIf
If ya<0 Then
1ymax
ya-1ymin
EndIf
Lign 0,0,xa,ya
Lbl end
EndPrgm

sauf que, a l'exécution, il me dit
"manque d'une instruction de début ou fin de bloc" en mettant le curseur à la fin , sur la ligne endprgm...

22

If n=1 Then
Goto start
ElseIf n=2 Then
Goto rg
ElseIf n=3 Then
Goto end

il manque un endif ici
programmeur sur TI ^^

mon blog sur les TI => clic

mon (p'tit) fofo sur les TI => clic

23

merci !!

24

maintenant petite question: comment coder pour créer un menu custom , mais accessible dans l'écran home !?

25

26

SA c'est fiat, mais je n'arrive pas a gérer les étiquettes...
soit il y en a trop, soit pas assez...mais + que 0 sa fait 1 , et moins que 1 sa fait 0...
gol

27

[]=facultatif

Custom
Title "......",[label]
Item "........"label1
Item "........",label2
...
Title "........",[label]
Item "........",label
Item "........",label
...
...
EndCustm
CustmOn

et plus loin dans le programme
Lbl label1
...

Lbl label2
...

Par exemple

Custom
Title "menu 1",m1
Title "menu 2"
Item "Quitter",m3
EndCustm
CustmOn

Lbl m1
Pause "vous avez sélectionné menu 1"
goto m3

Lbl m3
Pause "fin smile"


Sinon il y a un exemple en changeant de menu c'est [F6][ 3] depuis l'écran Home (là ou tu fais les calculs) et ensuite observe la ligne d'entrée
programmeur sur TI ^^

mon blog sur les TI => clic

mon (p'tit) fofo sur les TI => clic

28

ok, merci bien !!

29

euh j'ais faismon programme...mais il me dit " ( manquant " a la ligne EndCustm ...je sais pas trop quoi faire...

30