Page 1 of 1

Aide Programmation

Unread postPosted: 10 Aug 2010, 19:20
by Fadil
salut tt le monde,
J'ai fait un programme sur ma TI Nspire CAS,sauf qu'elle ne marche pas.Surtout que j'en fait une similaire auparavant sur ma TI-80 est qu'elle fonctionne parfaitement.Je vous fait donc un Copier/Coller de mon programme,si vous pouviez m'indiquer l'erreur ,Merci d'avance.

Define LibPub canonique()=
Prgm
:Request "a=",a
:Request "b=",b
:Request "c=",c
:d=b^(2)-4*ac
:α=((−b)/(2))*a
:β=((−d)/(4))*a^(2)
:Disp a((x-α)^(2)+β)
:EndPrgm

Re: Aide Programmation

Unread postPosted: 10 Aug 2010, 20:30
by Bisam
Il y a plusieurs erreurs : syntaxiques et mathématiques.
1) Il ne faut pas oublier les signes * : la multiplication implicite est impossible sur une calculatrice qui accepte des noms de variable à plusieurs lettres.
2) Tu as parenthésé n'importe comment... et donc le résultat est faux mathématiquement.

Voici un code correct :
Code: Select all
Define LibPub canonique()=
Prgm
:Request "a=",a
:Request "b=",b
:Request "c=",c
:d=b^(2)-4*a*c
:α=((−b)/(2*a))
:β=((−d)/(4*a^(2)))
:Disp a*((x-α)^(2)+β)
:EndPrgm


et tu peux même faire beaucoup plus simple en créant une fonction :
Code: Select all
Define LibPub canonique(a,b,c)=
Func
:Local d,α,β
:d=b^(2)-4*a*c
:α=((−b)/(2*a))
:β=((−d)/(4*a^(2)))
:Return a*((x-α)^(2)+β)
:EndFunc
et il faudra juste taper
Code: Select all
canonique(3,-6,6)
pour que la calculatrice renvoie
Code: Select all
3*((x-1)^2+1)

Re: Aide Programmation

Unread postPosted: 11 Aug 2010, 14:10
by Fadil
Merci

Re: Aide Programmation

Unread postPosted: 11 Aug 2010, 15:01
by Fadil
Salut,
Apres plusieurs test le programme marche mais affiche la polynome en entier du type"ax²+bx+c" et non pas a*((x-α)^(2)+β). en fait je crois qu'il le calcule est le simplifie. Si vous auriez une solution pour y remedier.
Merci

Re: Aide Programmation

Unread postPosted: 11 Aug 2010, 19:54
by Bisam
Une solution envisageable est de faire renvoyer du texte.
Voici le code modifié :
Code: Select all
Define LibPub canonique(a,b,c)=
Func
:Local d,α,β
:d=b^(2)-4*a*c
:α=((−b)/(2*a))
:β=((−d)/(4*a^(2)))
:Return string(a)"*((x-"string(α)")^2+"string(β)")"
:EndFunc

Re: Aide Programmation

Unread postPosted: 12 Aug 2010, 20:43
by Fadil
Merci ça marche!!!