Page 1 of 2

Programmation Forme canonique

PostPosted: 08 Oct 2008, 16:43
by Spider
Bonjour,
J'ai vu qu'on ne pouvais pas obtenir une forme canonique avec la Nspire
N'y connaissant rien a la programmation, je voulais savoir si il était possible de crée un programme qui le fait ou si sa existe déjà ou le trouvé ?
Merci
a+++

Re: Programmation Forme canonique

PostPosted: 08 Oct 2008, 18:36
by Spider
Merci pour la réponse mais factor() donne la forme factorisé et pas canonique je crois..
Il faudrait un fonction qui transpose un polynôme du type ax²+bx+c en a((x-(b/2a))²-(b²-4ac)/(4a²))

Merci d'avance
a+++

Re: Programmation Forme canonique

PostPosted: 08 Oct 2008, 19:20
by Spider
J'ai essayé :
Define can(ax²+bx+c)=a((x-(b/2a))²-(b²-4ac)/(4a²))
Mais sa ne marche pas...
Elle me dit que l'argument doit être un nom de variable ..

Re: Programmation Forme canonique

PostPosted: 08 Oct 2008, 19:27
by Spider
ok merci je reste connecté ... :)
a+++

Re: Programmation Forme canonique

PostPosted: 08 Oct 2008, 20:08
by chiantos
il y a cette méthode :
Code: Select all
Define canonique(a,b,c)=Func
 Disp a,"((x+",b,"/(2*",a,"))^2-((",b,")^2-4*",a,"*",c,")/(4*(",a,")^2))":
 Return terminé
EndFunc

Elle affiche un résultat peu esthétique, mais si tu copies ce résultat dans la ligne de commande (là où tu tapes), tu auras quelque chose de plus joli.
Par exemple, pour 2x²-3x+5 :
Code: Select all
canonique(2,-3,5)entrée
2 ((x+ −3 /(2* 2 ))^2-(( −3 )^2-4* 2 * 5 )/(4*( 2 )^2)) = sélectionne, puis entrée.

Cette solution n'est pas terrible, il y a sans doutes mieux. :|:

Re: Programmation Forme canonique

PostPosted: 08 Oct 2008, 20:21
by Spider
Merci sa sert a quoi les " ?
Et c'est pas possible de faire le dernier calcul dans le programme ?
Merci
a++

Ps : on pourrai pas faire
Code: Select all
Define canonique(a,b,c)=Func
 Disp a((x-(b/2a))²-(b²-4ac)/(4a²))
 Return terminé
EndFunc

Re: Programmation Forme canonique

PostPosted: 08 Oct 2008, 20:32
by chiantos
Les " permettent de définir une chaine de caractères. Si tu écris
Code: Select all
disp  a,"+",b
la calculatrice affichera la valeur de a, suivi d'un plus et la valeur de b. Si, à la place tu écris
Code: Select all
disp a+b
la calculatrice t'affichera la valeur de a+b.
Dans ton exemple, ça te calcule l'expression et normalement tu retrouves ta valeur de départ (ax²+bx+c).

Re: Programmation Forme canonique

PostPosted: 08 Oct 2008, 20:40
by Spider
Image

voila j'ai une erreur mais je vois pas d'où elle vient ...

Re: Programmation Forme canonique

PostPosted: 08 Oct 2008, 20:53
by chiantos
:s: Chez moi ça fonctionne... Tu as peut-être mal défini la fonction, mais d'après le résultat au dessus c'est bon. Ou alors c'est une question de version d'OS et tu dois rajouter un * après le disp a,", mais ça m'étonnerai.

Code: Select all
Define canonique(a,b,c)=Func
 Disp a,"*((x+",b,"/(2*",a,"))^2-((",b,")^2-4*",a,"*",c,")/(4*(",a,")^2))":
 Return terminé
EndFunc

Re: Programmation Forme canonique

PostPosted: 08 Oct 2008, 20:59
by Spider
Code: Select all
Define canonique(a,b,c)=Func
 Disp a,"(("x"+",b,/(2*,a,)")^2-"((,b,)^2-4*",a,*,c,)/(4*(,a,)^2)")":
 Return terminé
EndFunc


comme sa sa m'afficherai pas (x+K)²+J (la forme canonique) ?