Forum

Catégorie : Programmes
Forum : Les programmes des internautes
Vues : 10504
Réponses : 37
Type : discussion
Etat : réponses autorisées

Programme : Factorisation , canonnisation , developpement .

Juju le 23/09/2012 à 16:59
Bonjour , je voudrais un petit programme qui permettrait d'obtenir la forme canonique , factorisée et développée d'une équation du second degré ...
je vous prie de m'excuser si le sujet a déjà été traité mais je n'ai trouvé aucune réponse satisfaisante dans les réponses ...

Merci d'avance happy.gif
je suis sur Ti 82 stats et je débute ...
Juju le 23/09/2012 à 17:32
Me revoilà ! ... hé ben .. je vais te donner les formules de factorisation et de cannoniosation .. mais il me faudrait un programme complet ! winkle.gif
Juju le 23/09/2012 à 18:13
evil.gif j'avais tout écrit et mon ordi s'est éteint ...

forme cannonique : a [(x+(b/2a)^2-(b^2/4ac)/(4a^2)]

forme factorisée notgood.gifi delta est superieur a ° a(x-X1)(x-X2) X1 =[-B-(racine de delta)]/2a X2 =[-B+(racine de delta)]/2a
forme factorisée : si delta =0 a(x-X0)^2 X0 =-B/2a
forme factorisée : si delta est négatif , imposible de factoriser
Juju le 23/09/2012 à 18:15
Samsam* je ne comprends pas ton site , celà ne correspond pas à mes attentes :/
cry.gif
Samos le 23/09/2012 à 18:25
C'est un programme à télécharger si tu as le câble. Ce n'est pas parce qu'il est utile mais dans sa description, j'ai trouvé des fonctions que tu réclamais. godgrace.gif
Cytropus le 23/09/2012 à 19:17
Effectivement, c'est pas tout à fait ça

prgmCANNONIK
Code
:EffEcr
:Prompt A,B,C
:EffEcr
:Output(1,1,A
:Output(1,3,"(X+"
:Output(1,6,B/2A_Frac               <//- le "_Frac" correspond à [math]+[1]
:Output(1,11,")^2+"
:Output(2,1,(4AC-B^2)/4A_Frac
Juju le 23/09/2012 à 19:23
Tu peux lire dans wikipédia c'est bien expliqué https://fr.wikipedia.org/wiki/[...]cond_degr%C3%A9
parce que c'est compliqué et je peux pas faire un programme de 3 ans dans un post .. :/
Cytropus le 23/09/2012 à 19:35
la forme canonique sert à traduire une fonction sous la forme aX^2+bX+c à la forme a(X+(b/2a))^2 + (4ac-b^2)/4a

a première vu, ça sert que à compliquer les choses, mais en seconde vu
1X^2+2X+4 = (X+1)^2 + 3

vachement plus simple non ? glasses.gif
Juju le 23/09/2012 à 19:36
En gros sa serait cool , d'avoir juste a taper ton polynôme de degrès 2 (Ax^2+Bx+C)
et tu obtiens tout simplement la forme canonique et factorisée .
par exemple :
:A=?
:B=?
:C=?
:Forme canonique= ....
:Forme factorisée = .... sous la forme que je t'ai donné happy.gif
voilàà
et Cytropus dans ton programme le premier _frac me donne une erreur sur ma calculette ..
The K le 23/09/2012 à 19:36
https://tout82.pages-perso.fre[...].php?sujet=2464

Je pense que c'est le meilleur de ce forum, fait par Persalteas.

Le meilleur toutes catégories est celui de Critor avec autocalc mais celui-la on le recopie pas bigmouth.gif
Juju le 23/09/2012 à 19:37
Cytropus ça sert surtout a trouver le sommet de ta fonction , son sens , et les coordonés du sommet ! happy.gif
Juju le 23/09/2012 à 19:40
The K le programme a l'air génial mais c'est trop long à copier , de plus , je n'ai pas le câble (sauf pour partager des fichiers entre calculettes ) et je tourne sur mac , je ne pense pas que ça marche sad.gif
The K le 23/09/2012 à 19:41
Le programme n'est pas trop long je l'ai moi-même recopié ...

Et comme ça ça t'entraîne a programmer ! Allons courage winkle.gif
C'est grâce au recopiage de certains programmes de ce genre que j'ai pas un niveau en basic trop mauvais ! happy.gif
Cytropus le 23/09/2012 à 19:50
@Juju: tu sais, moi, les cours de maths cupsmiley.gif
De plus, je t’encourage à le recopier car ça peut s'avérer très utile

Mais si tu as vraiment, la flemme, ne recopie que les fonctions qui t’intéresse beer.gif
The K le 23/09/2012 à 19:52
Citation
recopier me sert pas à grand chose.


Tout dépend si tu es un peu autodidacte ou pas winkle.gif
Juju le 23/09/2012 à 23:21
OK ! ben je vais le faire en plusieurs fois , car je vais pêter un câble sinon crazy.gif
merci les gars happy.gif
et le même programe en optimisé n'existe pas ?
Sangohan38 le 24/09/2012 à 13:43
Le programme le plus optimisé est celui qui donne les solutions directement. Et c'est ces solutions x1 et x2 qui permettent de factoriser la fonction sous la forme (x-x1)(x-x2).

Sangohan38
ashtrail le 25/09/2012 à 19:43
Si tu veux je te donne un prog qui te donne la factorisatuion et les racines. Oui oui je suis sympa. Au fait le truc de persou (vu qu'il aime pas "persi") ne correspond pas vrrrraiment à ce que tu recherche...
EDIT: et pisque moi non plus j'ai pas le cable se sera recopiable manuellement (j'ai tout de même recopier le snake de Ratuss a la main et en un coup alors voila...)
Juju le 26/09/2012 à 14:52
Oui je le veux volontiers sa serait génial bigmouth.gif
ashtrail le 26/09/2012 à 15:50
Bien bien bien alors en fait il est un chouïa long mais bon...il a été fait spécial pour toi (au début c'était un morceau d'un autre de mes progs). Tu peut l'appeler comme tu veux moi j'ai opté pour "CANO" (non ce n'est pas très original mais bon hein).
Comme je suis super sympa je te mettrais quelques indications de débutants en commentaires (en progra tout commentaire est représenté par //blablabla et s'il est très long par /*blablabla*/ enfin ça c'est sur l'ordi mais ça marche aussi ici en revanche tu ne peut pas faire de commentaire direct sur la caltoche (sauf en Grammer mais là on s'écarte de sujets).
Sinon mon prog est assez finalisé mais les vétérans de la TI vont le rendre si fois performant en un coup (ô rage ,ô désespoir) donc tu pourras peut-être en avoir un un peu mieux qu'il ne l'est maintenant si t'attends un peu. C'est parti :
sqrt( = racine carré
-> = sto (au dessus de la touche 'ON')
² = au carré (c'est pas très clair)
EDIT: le beau prgm optimisé par Sango:

Code
:Disp "AX²+BX+C
:Prompt A,B,C
:B²-4AC->S
:Pause
:Lbl M           
:EffEcr
:Menu("CANONIQUE","A(X-a)²+b",1,"sqrt(CANONIQUE)",2       
:Lbl 1             
:Disp "A(X-a)²+b
:Disp "D=",Rép>Frac   
:Disp "a=",-B/(2A)>Frac
:Disp "b=",-D/(4A)>Frac
:Pause
:Goto M                 
:Lbl 2
:If D=0     
:Disp "1 SOLUT° CAR D=0","A(X-a)²","a=",-B/(2A)>Frac                   
:If D<0
:Disp "0 SOLUT° CAR D<0                   
:If D>0
:Disp "2 SOLUT° CAR D>0","A(X-X1)(X-X2)","X1=",(-B-sqrt(D))/(2A)>Frac,"X2=",(-B+sqrt(D))/(2A)>Frac
:Pause
:Goto M




Code
:Lbl M            // ceci est un Lbl soit un repère dans le prog si t'es malin tu comprendra son utilité un peu plus tard
:EffEcr
:Menu("CANONIQUE","A(X-a)²+b",1,"sqrt(CANONIQUE)",2         /* alors premierement tu trouve les minuscules (pas toutes malheureusement) dans 'var', puis 'statistique', puis 'EQ', comme ya pas de alpha ni de béta sur la caltoche j'utilise les minuscules pour les symboliser en revanche on ne paut pas stocker de valeur a l'intérieure.  Sinon le menu sert a exposer une série de choix et le 1 et le 2 renverront a un Lbl voir la suite du prog*/
:Lbl 1               // et voila un repère si tu choisis la 1ere option ça t'envoie ici
:Disp "AX²+BX+C       // le disp est primordial il sert a afficher du texte
:Prompt A,B,C         // prompt sert a saisir une valeur pour une variable
:Pause                 // pour faire une pause (on passe a la suite en tapant sur enter)
:EffEcr                //pour effacer l'écran
:Disp "A(X-a)²+b        // il n'est pas nécessaire de mettre le guillemet final (ou la paranthèse) d'une instruction et ça économise des octets

:B²-4AC->D
:Disp "D=",Rép>Frac      // tu trouve >Frac dans le menu 'math' et Rép au dessus de (-)
:Disp "a=",-B/(2A)>Frac
:Disp "b=",-D/(4A)>Frac
:Pause
:Goto M                  // le goto sert a renvoyer a un Lbl d'où ( ) l'utilité...
:Lbl 2
:Disp "AX²+BX+C
:Prompt A,B,C
:B²-4AC->D
:If D=0:Then              // le if sert aux condition (tu trouve le = dans '2nde' et 'math'
:Disp "D=0 1 SOLUTION
:Disp "A(X-a)²
:Dips "a=",-B/(2A)>Frac
:Pause
:Goto M
:End                       // il sert a dire que c'est la fin de la condition
:If D<0:Then               // < est juste a côté de =
:Disp "0 SOLUT° D=",D       // ° est dans '2nde', 'matrice'
:Pause
:Goto M
:End                     // il sert a dire que c'est la fin de la condition
:If D<0:Then               // < est juste a côté de =
:Disp "0 SOLUT° D=",D       // ° est dans '2nde', 'matrice'
:Pause
:Goto M
:End
:If D>0:Then
:Disp "2 SOLUT° A=",A          // là c'est juste pour se rappeler de la valeur de A pour la factorisation
:Disp "A(X-X1)(X-X2)
:Disp "X1=",(-B-sqrt(D))/(2A)>Frac,"X2=",(-B+sqrt(D))/(2A)>Frac
:Disp "D=",D
:Pause
:Goto M
:End


Et voila c'est fini, si tu as des questions parce que j'explique à l'arrache ou parce que ça marche pas n'hésite pas à demander. Voila j'espère qu'il sera à la hauteur de tes espérances et aussi si tu peut éditer ton premier post et mettre le prog dedans pour que les types qui voient le nom de ton sujet puisse aussi avoir accès aux codes sans avoir à farfouiller se serait pas mal.

EDIT: Au fait on dit forme developpé (polinôme du second degré) et forme canonique ainsi que racines pas "forme factorisée" quis se référait plutôt à la forme canonique...bref...
Sangohan38 le 26/09/2012 à 16:42
Ashtrail, je trouve ce programme peut lisible du fait que tes commentaires font 3 lignes. A mon avis, il vaut mieux mettre une référence (par ex (1)) et tu expliques après ton code.
Pour ton programme, je le trouve juste lourd inutilement puisque la seule partie vraiment utile se situe dans le calcul du discriminant et les solutions qui en découlent.

Quant au code, je n'ai pas vraiment cherché à optimisé mais tu devrai pouvoir regrouper des Disp, virer les Then et mettre un seul Pause: Goto M à la fin.

Sangohan38
Juju le 26/09/2012 à 17:00
ton programme à l'air génial est bien expliqué mais c'est pas ce que je veux .. sad.gif désolé je suis super exigeant
ce que je voudrais c'est tout en donnant a,b,c dans une fonction de polynôme de degres 2 : aX^2+bX+c
le programme calcule le discriminant et donne juste la forme canonique et la forme factorisée .
sans le calcul des racines . je suis mauvais en programmation mais je sus sur que c'est possible .
Svp une réponse rapide , j'ai mon Ds Vendredi ... :/
merci pour tout ! je compte sur vous ! happy.gif
ashtrail le 26/09/2012 à 17:13
Sangohan je ne dis pas que c'est faux ... donc voila le prog sans commentaire :

Code
:Lbl M           
:EffEcr
:Menu("CANONIQUE","A(X-a)²+b",1,"sqrt(CANONIQUE)",2       
:Lbl 1             
:Disp "AX²+BX+C       
:Prompt A,B,C         
:Pause                 
:EffEcr               
:Disp "A(X-a)²+b       
:B²-4AC->D
:Disp "D=",Rép>Frac   
:Disp "a=",-B/(2A)>Frac
:Disp "b=",-D/(4A)>Frac
:Pause
:Goto M                 
:Lbl 2
:Disp "AX²+BX+C
:Prompt A,B,C
:B²-4AC->D
:If D=0:Then             
:Disp "D=0 1 SOLUTION
:Disp "A(X-a)²
:Dips "a=",-B/(2A)>Frac
:Pause
:Goto M
:End                                 
:If D<0:Then           
:Disp "0 SOLUT° D=",D     
:Pause
:Goto M
:End
:If D>0:Then
:Disp "2 SOLUT° A=",A       
:Disp "A(X-X1)(X-X2)
:Disp "X1=",(-B-sqrt(D))/(2A)>Frac,"X2=",(-B+sqrt(D))/(2A)>Frac
:Disp "D=",D
:Pause
:Goto M
:End



Et t'es pas le seul à avoir la flemme de l'améliorer! Sinon là l'autre **** de juju JE TE DONNE EXACTEMENT CE QUE TU VEUX MAIS EN MIEUX. Donc voila.
Sangohan38 le 26/09/2012 à 17:16
Le calcul des racines permet d'avoir la forme factorisée. La forme canonique est une forme factorisée mais exprimée différemment.

Sangohan38
ashtrail le 26/09/2012 à 17:18
Ouiiiii , et ben je la donne : regarder les disp qui peuvent paraitre inutiles, il suffit de remplacer les valeurs par les variables.
Sangohan38 le 26/09/2012 à 17:31
Voila ton programme corrigé:

Code
:Disp "AX²+BX+C
:Prompt A,B,C
:B²-4AC->S
:Pause
:Lbl M           
:EffEcr
:Menu("CANONIQUE","A(X-a)²+b",1,"sqrt(CANONIQUE)",2       
:Lbl 1             
:Disp "A(X-a)²+b
:Disp "D=",Rép>Frac   
:Disp "a=",-B/(2A)>Frac
:Disp "b=",-D/(4A)>Frac
:Pause
:Goto M                 
:Lbl 2
:If D=0     
:Disp "1 SOLUT° CAR D=0","A(X-a)²","a=",-B/(2A)>Frac                   
:If D<0
:Disp "0 SOLUT° CAR D<0                   
:If D>0
:Disp "2 SOLUT° CAR D>0","A(X-X1)(X-X2)","X1=",(-B-sqrt(D))/(2A)>Frac,"X2=",(-B+sqrt(D))/(2A)>Frac
:Pause
:Goto M


Je n'ai pas compris pourquoi tu avais mis deux fois l'affichage du cas où D=0 quand D>0 9 lignes devaient tenir en un écran. Idem pour le End à la fin qui n'a aucune utilité.

Sangohan38
ashtrail le 26/09/2012 à 17:37
La premiere fois c'est une erreur de copié collé et la deuxieme je ne savais pas que le end était inutile...
Et merci pour cette belle amélioration, je ne suis pas encore très compétent en progra...(sauf que je préfère ajouter la valeur du discriminant ça peut être pratique).
m@thieu41 le 26/09/2012 à 17:51
Sangohan38 a écrit :
Et c'est ces solutions x1 et x2 qui permettent de factoriser la fonction sous la forme (x-x1)(x-x2).

Hum... ce ne serait pas plutôt a(x-x1)(x-x2)? bigmouth.gif

ashtrail a écrit :
Au fait on dit forme developpé (polinôme du second degré) et forme canonique ainsi que racines pas "forme factorisée" quis se référait plutôt à la forme canonique...bref...

On peut exprimer une fonction du 2nd degré sous 2 formes, ou 3 selon les cas:
Code
_canonique  = a(x+b/2a)²+(-b²-4ac)/4a
_développée = ax²+bx+c
Et, si delta>=0:
_factorisée = a(x-x1)(x-x2)        //Avec si delta = 0, x1 = x2 = -b/2a


La forme factorisée existe bien, et est != de la forme canonique bigmouth.gif
ashtrail le 26/09/2012 à 17:53
bin oui j'ai jamais dit le contraire (EDIT: en fait c'est même ce que j'ai dit!) et c'est bien a(x-x1)(x-x2)
m@thieu41 le 26/09/2012 à 17:54
Je me suis planté, je voulais dire forme factorisée, pas développée... j'édite
Juju le 26/09/2012 à 21:52
Merci les coupainnnn bigmouth.gif !
godgrace.gif
Juju le 26/09/2012 à 22:04
C'est quoi sqrt ? et les a en minuscules ont -ils leur importance ? , où les trouve t-on ?
linkakro le 26/09/2012 à 22:43
"a" et "b" ne servent qu'à être jolis car il n'y a pas de alpha/béta comme à l'habitude. Ils se saisissent dans le menu var>stat.
sqrt = square root = racine carrée = un symbole impossible à écrire dans le forum.
Juju le 27/09/2012 à 22:14
MErci bigmouth.gif
Juju le 27/09/2012 à 22:17
sur mon programme , jai marqué "erreur argument" apres "cannonique",2
thx
linkakro le 27/09/2012 à 23:16
Il y a une (ou plusieurs) erreurs parmi les virgules et les guillemets du menu. Voire même il manque un argument.
ashtrail le 02/10/2012 à 19:15
Merci pour ces réponse Linkakro en revanche Juju j'avais déjà tout dis dans mon prog pour les a et b minuscule et sqrt c'est pas pour faire joli que je l'ai mis...