Phoen1x Le 20/11/2006 à 19:24Edité par Phoen1x le 20/11/2006 à 20:00 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
Message mis a jour, & # 952 ;=t (téta) ^^
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...
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
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))...
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
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...
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...
tama Le 25/11/2006 à 13:50 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 =>
clicmon (p'tit) fofo sur les TI =>
clic maintenant petite question: comment coder pour créer un menu custom , mais accessible dans l'écran home !?
euh j'ais faismon programme...mais il me dit " ( manquant " a la ligne EndCustm ...je sais pas trop quoi faire...