Forum

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

TRINOME (1328 octets)

-Ev3rdr3am- le 14/09/2008 à 19:01
Ce programme, le dernier en date mais le 1er que je publie, resoud les équations du style ax²+bx+c, dites du trinome.
Cependant, contrairement a certaines copies de ce programme, il resoud l'equation etape par etape, le grug...euh je veux dire l'élève n'a plus qu'à recopier.

Le prgm nécéssite encore quelques améliorations (racines carrées et fraction ne donnant pas un entier pour discriminant >0)

Ce prgm est composé en deux parties, une petite et une grande (110 et 1218)

visiblement, le code ne fonctionnant pas tres bien ici, j'ai adapté commme je pouvais ainsi le != c'est le symbole "different de" et le ð c'est le symbole "racine carrée". J'ajouterais que c'est un code pour ti82 stat fr.

Dites moi si il y a un probleme ou un oubli, ou tou simplement une amelioration possible, merci^^

SIMPLE(110 octets)
Code
:If B>2A:B->J
:If B<2A:2A->J
:For(T,J,2,-1)
:If partDéc(B/T)=0 et partDéc(2A/T)=0:Then
:B/T->B
:A/T->A
:If partDéc(-B/(2A))=0:(-B/(2A))->D
:Goto F
:End
:End
:Lbl F


TRINOME(1218 octets)
Code
:1->X
:1->Y
:1->Z
:1->ø
:EffEcr
:Disp "AX²+BX+C=0","
:Input "A:",A
:If A<0:Then:X+1->X:99->G:End
:Lbl A
:A/10->A
:If partEnt(A)!=0 et G!=99:Then:X+1->X:Goto A:End
:A*10^X->A
:If A<0:A*10^-1->A
:0->G
:Input "B:",B
:If B<0:Then:Y+1->Y:99->G:End
:Lbl B
:B/10->B
:If partEnt(B)!=0 et G!=99:Then:Y+1->Y:Goto B:End
:If partEnt(-B)>0 et G=99:Then:Y+1->Y:Goto B:End
:B*10^Y->B
:If B<0:B*10^-1->B
:0->G
:B²->Z
:Lbl B2
:Z/10->Z
:If partEnt(Z)!=0:Then:ø+1->ø:Goto B2:End
:Input "C:",C
:EffEcr
:Output(1,1,"^=B²-4AC
:Pause
:Output(2,2,"=
:Output(2,3,B
:Output(2,3+Y,"²-4*
:Output(2,7+Y,A
:Output(2,7+Y+X,"*
:Output(2,8+Y+X,C
:Pause
:Output(3,2,"=
:Output(3,3,B²
:Output(3,3+ø,"-
:Output(3,4+ø,4AC
:Pause
:Output(4,2,"=
:Output(4,3,B²-4AC
:Pause
:B²-4AC->E
:For(T,1,20)
:If A>0 et partEnt(E/10^T)=0:Goto T
:End
:Lbl T
:arrondi(T/2,0)->S
:EffEcr
:If E<0:Then
:Output(1,1,"DISCRIMINANT < 0
:Output(3,1,"PAS DE SOLUTIONS
:Pause
:End
:If E=0:Then
:Output(1,1,"DISCRIMINANT = 0
:Output(3,5,"SOLUTION
:Output(5,5,"S=-B/2A
:Pause
:Output(6,6,"=
:Output(6,7,-B
:Output(6,8+Y,"/
:Output(6,9+Y,2A
:Pause
:pgrmSIMPLE
:Output(7,6,"=
:If D!=0:Output(7,7,D
:If D=0:Then
:Output(7,7,-B
:Output(7,8+Y,"/
:Output(7,9+Y,2A
:End
:Pause
:End
:If E>0:Then
:Output(1,1,"DISCRIMINANT >0
:Output(3,4,"SOLUTIONS
:Output(5,2,"S1=-B+ð(^)/2A
:Output(6,2,"S2=-B-ð(^)/2A
:Pause
:EffEcr
:Output(1,1,"S1=-B+ð(^)/2A
:Pause
:Output(2,1,"=
:Output(2,2,-B
:Output(2,3+Y,"+ð(
:Output(2,6+Y,E
:Output(2,6+Y+T,")/
:Output(2,8+Y+T,"2*
:Output(2,10+Y+T,A
:Pause
:Output(3,1,"=
:Output(3,2,-B
:Output(3,3+Y,"+
:Output(3,4+Y,ð(E)
:Output(3,4+Y+S,"/
:Output(3,5+Y+S,2A
:Pause
:Output(4,1,"=
:Output(4,2,(-B+ð(E))/(2A)
:Pause
:EffEcr
:Output(1,1,"S2=-B-ð(^)/2A
:Pause
:Output(2,1,"=
:Output(2,2,-B
:Output(2,3+Y,"-ð(
:Output(2,6+Y,E
:Output(2,6+Y+T,")/
:Output(2,8+Y+T,"2*
:Output(2,10+Y+T,A
:Pause
:Output(3,1,"=
:Output(3,2,-B
:Output(3,3+Y,"-
:Output(3,4+Y,ð(E)
:Output(3,4+Y+S,"/
:Output(3,5+Y+S,2A
:Pause
:Output(4,1,"=
:Output(4,2,(-B-ð(E))/(2A)
:Pause
:End
:EffEcr
-Ev3rdr3am- le 14/09/2008 à 20:05
bouhou personne repond a mon booooooooo prgm!!
godgrace.gif non sans dec j'ai mis du temps a recopier, ya pa un type qui voudrais bien voir au moins cry.gif cry.gif cry.gif cry.gif cry.gif
peptele le 14/09/2008 à 21:01
si il est cool mais un peut long on peut faire plus court mais bien!! godgrace.gif
-Ev3rdr3am- le 17/09/2008 à 15:34
Quelqu'un la testé au moins? lol
Paske si sa interresse personne je cherche pas d'amelioration^^
mad67 le 17/09/2008 à 17:58
si d'ailleur je voudais ton accord pour le vendr... euh pour le donner a des gens de ma classe
Sangohan38 le 17/09/2008 à 19:49
Bon, je dirais qu'il est trop long et que le détail des calculs n'intéresse personne.
C'est à dire que tu demande A,B et C et que le preogramme affiche Delta=B²-4AC et qu'il donne ensuite le résultat.
Idem pour les racines.

Sangohan38
Wchood le 22/09/2008 à 09:47
Salut ....
J'ai les boules !!! J'ai tout recopier (une heure environ) je test .... déjà pour calculer (^) il me met le bon résultat multiplié par 100 .... passe encore ... ensuite il me met que le discriminant est supérieur à 0 ... normal ... mais en suite il me met
Citation
ERR:DOMAINE
!!!
Donc je fais "voir" pour voir où est le problème ... normal ... il m'amène à la ligne
Code
:Output(2,7+Y+T,")/
!!!

Help crazy.gif
Sangohan38 le 23/09/2008 à 19:38
Regarde la valeur de 7+T+Y et communique là nous.
SI l'erreur viens de la, sa valeur doit être supérieur à 16.

Sangohan38
beber le 23/10/2008 à 21:09
on trouve ou partent partdec je ne les trouves pas sur ti-82 stats (pas fr)
coc5 le 24/10/2008 à 18:57
C'est fPart() et iPart() dans [MATH] + [->].

La prochaine fois regarde ce que dit l'en-tête avant de poster ! Un lien existe vers la traduction Français/Anglais.
Jonas le 17/10/2009 à 20:20
Beaucoup trop long et il ne résoud même pas les racines complexes.
Tu ne te serais pas un peu compliqué aussi ? Je n'arrive pas à comprendre la moitié du code alors que j'ai fais mon propre programme 2nd°...
Merci néanmoins de nous proposer ta crétion, n'hésite pas à recommencer.
Didouille le 17/10/2009 à 21:17
Eee le sujet date d'un an...
Jonas le 17/10/2009 à 23:50
Lol sympa en plus avec la photo de la petite simpson dont j'ai oublié le nom...
Bâ faudra que je regarde mieux les dates la prochaine fois, mais comme on dit mieux vaut tard que jamais ! bigmouth.gif
Johann le 18/10/2009 à 13:29
Maggie, elle s'appelle Maggie ^^ eyeonly.gif
Byresse le 21/10/2009 à 22:37
Je remet un peu ce programme à l'actualité du jour.
Commençant les polynômes du second degré, ce programme me serait vraiment utile.
Ayant vainement tenté de le programmer je tombe sur ce caractère "ð" je n'arrive pas à le localiser sur la calculette, j'ai beau avoir fouillé le catalogue .. rien

Et ensuite, j'aimerai savoir si "ø" correspondait à Alpha + 3 ce qui me semble être thêta sur la machine

Merci d'éclairer mes lanternes
sypotu le 21/10/2009 à 22:45
Õ c'est la racine carré
et ø thêta en effet
Byresse le 21/10/2009 à 22:51
sypotu a écrit :
Õ c'est la racine carré
et ø thêta en effet


merci beaucoup winkle.gif
Pourquoi ne pas avoir mis le signe radical a la place du 0 avec le x au dessus ?
sypotu le 21/10/2009 à 22:58
je dirais qu'il ne savait pas où trouver ce symbole happy.gif
Byresse le 24/10/2009 à 19:17
Voila, j'ai tout programmé sur la TI, il tourne plutôt pas mal, et est surtout très détaillé +1 !(après quelques modifications mineures sur le prog)
Sauf pour certain trinômes :
Par Exemple :
-x² -3x -1

j'ai une erreur domaine après avoir déterminé delta
à la ligne : Output(2,6+Y+T")/

Quelqu'un peut me dire ?
Merci à tous winkle.gif
Rézus le 24/10/2009 à 20:05
Essaye de remplacer le 6 de la ligne par un 4 ou un 5 pour voir.
Byresse le 24/10/2009 à 20:19
Merci de ta réponse.

J'ai essayé, ça n'a rien changé. Le curseur lors de la recherche de l'erreur se place à la fin de la ligne, comme ci il manquait quelque chose ...
Rézus le 24/10/2009 à 20:22
En fait,c'est parce-que 6+Y+T>16,regarde de ton côté si t'as pas fait d'erreur de copie, moi j'essaierais de comprendre le programme, mais pas aujourd'hui.
Byresse le 24/10/2009 à 20:26
J'viens de vérifier grossièrement, apparemment pas d'erreur de copie ...
Tiens moi au courant si t'as du neuf winkle.gif

Merci, à plus
Rézus le 25/10/2009 à 12:49
Voilà,le programme devrait marcher avec n'importe quel trinôme maintenant,je poste la version corrigée (La correction est apportée par la variable G pour ceux que ça intéresse).
Code
1ü ( ) X
1ü ( ) Y
1ü ( ) Z
1ü ( ) Á
0ü ( ) G
EffEcr
Disp "AXÜ+BX+C=0","
Input "A:",A
If A<0:Then:X+1ü ( ) X:99ü ( ) G:End
Lbl A
A/10ü ( ) A
If partEnt(A)ø0 et Gø99:Then:X+1ü ( ) X:Goto A:End
A*10^Xü ( ) A
If A<0:A*10^ú ( ) 1ü ( ) A
0ü ( ) G
Input "B:",B
If B<0:Then:Y+1ü ( ) Y:99ü ( ) G:End
Lbl B
B/10ü ( ) B
If partEnt(B)ø0 et Gø99:Then:Y+1ü ( ) Y:Goto B:End
If partEnt(ú ( ) B)>0 et G=99:Then:Y+1ü ( ) Y:Goto B:End
B*10^Yü ( ) B
If B<0:B*10^ú ( ) 1ü ( ) B
0ü ( ) G
BÜü ( ) Z
Lbl B2
Z/10ü ( ) Z
If partEnt(Z)ø0:Then:Áø+1ü ( ) Á:Goto B2:End
Input "C:",C
EffEcr
Output(1,1,"^=BÜ-4AC
Pause
Output(2,2,"=
Output(2,3,B
Output(2,3+Y,"Ü-4*
Output(2,7+Y,A
Output(2,7+Y+X,"*
Output(2,8+Y+X,C
Pause
Output(3,2,"=
Output(3,3,BÜ
Output(3,3+Á,"-
Output(3,4+Á,4AC
Pause
Output(4,2,"=
Output(4,3,BÜ-4AC
Pause
BÜ-4ACü ( ) E
For(T,1,20)
If A>0 et partEnt(E/10^T)=0:Goto T
End
Lbl T
arrondi(T/2,0)ü ( ) S
EffEcr
If E<0:Then
Output(1,1,"DISCRIMINANT < 0
Output(3,1,"PAS DE SOLUTIONS
Pause
End
If E=0:Then
Output(1,1,"DISCRIMINANT = 0
Output(3,5,"SOLUTION
Output(5,5,"S=-B/2A
Pause
Output(6,6,"=
Output(6,7,ú ( ) B
Output(6,8+Y,"/
Output(6,9+Y,2A
Pause
pgrmSIMPLE
Output(7,6,"=
If Dø0:Output(7,7,D
If D=0:Then
Output(7,7,-B
Output(7,8+Y,"/
Output(7,9+Y,2A
End
Pause
End
If E>0:Then
Output(1,1,"DISCRIMINANT >0
Output(3,4,"SOLUTIONS
Output(5,2,"S1=-B+ð(^)/2A
Output(6,2,"S2=-B-ð(^)/2A
Pause
EffEcr
Output(1,1,"S1=-B+ð(^)/2A
Pause
Output(2,1,"=
Output(2,2,ú ( ) B
Output(2,3+Y,"+ð(
Output(2,6+Y,E
If 6+Y+T>15
11-(6+Y+T)ü ( ) G
Output(2,6+Y+T+G,")/
Output(2,8+Y+T+G,"2*
Output(2,10+Y+T+G,A
Pause
Output(3,1,"=
Output(3,2,ú ( ) B
Output(3,3+Y,"+
0ü ( ) G
If 4+Y+S>16
13-(4+Y+S)ü ( ) G
Output(3,4+Y,ð(E)
Output(3,4+Y+S+G,"/
Output(3,5+Y+S+G,2A
Pause
Output(4,1,"=
Output(4,2,(ú ( ) B+ð(E))/(2A)
Pause
EffEcr
Output(1,1,"S2=-B-ð(^)/2A
Pause
Output(2,1,"=
Output(2,2,ú ( ) B
Output(2,3+Y,"-ð(
Output(2,6+Y,E
0ü ( ) G
If 6+Y+T>15
11-(6+Y+T)ü ( ) G
Output(2,6+Y+T+G,")/
Output(2,8+Y+T+G,"2*
Output(2,10+Y+T+G,A
Pause
Output(3,1,"=
Output(3,2,ú ( ) B
Output(3,3+Y,"-
Output(3,4+Y,ð(E)
0ü ( ) G
If 4+Y+S>16
13-(4+Y+S)ü ( ) G
Output(3,4+Y+S+G,"/
Output(3,5+Y+S+G,2A
Pause
Output(4,1,"=
Output(4,2,(ú ( ) B-ð(E))/(2A)
Pause
End
EffEcr



Les "Ü" veulent dire "puissance 2",les ù sont le petit moins à gauche de la touche [entrer],mais de toute façon,il n'y a qu'a rajouter tout ce qui concerne "G",le reste n'as pas changé.
Wirekey le 25/10/2009 à 14:06
Rézus a écrit :
Voilà,le programme devrait marcher avec n'importe quel trinôme maintenant,je poste la version corrigée (La correction est apportée par la variable G pour ceux que ça intéresse).

Les "Ü" veulent dire "puissance 2",les ù sont le petit moins à gauche de la touche [entrer],mais de toute façon,il n'y a qu'a rajouter tout ce qui concerne "G",le reste n'as pas changé.


Hum ... Le programme me semble un peu long et il ne prend pas en compte les solution complexe lorsque DELTA < 0.

Après est-ce vraiment utile d'afficher les formules sachant que ne pas les savoir c'est un peu O_o ^^.

J'ai une version de ce programme que je posterais surement prenant en compte tous ca.
nat33670 le 08/09/2010 à 21:03
voici un code simple pour le faire je le recopie comme il doit etre fait et tout ce qui est en miniscule doit etre inserer avec la calculatrice avec sto-> pour le signe "->" ou bien sur prgrm quand vous etes en train d'ecrire les lignes de codes, pour ecrire racine carrée de "x" j'ecrirai "Rx" les guillement autour de l'epression ligne 11;17;18 sont à laisser ils seront comme ça écrit en dessous des résultats.
Code

1 prompt A,B,C
2
3 (B²-4*A*C)->D
4 if D>0
5 then
6 disp "PAS DE SOLUTIONS"
7 else
8 if D=0
9 then
10 disp -B/(2*A)
11 disp "-B/(2*A)"
12 else
13 if D>0
14 then
15 disp ((-B+"R"(D))/(2*A)
16 disp ((-B-"R"(D))/(2*A)
17 disp "((-B+"R"(D))/(2*A)"
18 disp "((-B-"R"(D))/(2*A)"
19 end
20 end


bonne utilisations a tous
bien cordialement
Nat 33670
Wirekey le 10/09/2010 à 15:43
nat33670 a écrit :
voici un code simple pour le faire je le recopie comme il doit etre fait et tout ce qui est en miniscule doit etre inserer avec la calculatrice avec sto-> pour le signe "->" ou bien sur prgrm quand vous etes en train d'ecrire les lignes de codes, pour ecrire racine carrée de "x" j'ecrirai "Rx" les guillement autour de l'epression ligne 11;17;18 sont à laisser ils seront comme ça écrit en dessous des résultats.
Code

1 prompt A,B,C
2
3 (B²-4*A*C)->D
4 if D>0
5 then
6 disp "PAS DE SOLUTIONS"
7 else




Cherchez l'erreur... frozen.gif
raboulave le 10/09/2010 à 17:37
Laisse-moi deviner... Je sais !
Si D<0:Disp("PAS DE SOLUTIONS")
Au programmeur de revoir son cours de maths de 1ère ^^
(D = 0 : une solution ; D<0 : pas de solution dans R; D>0 : 2 solutions dans R)
Persalteas le 11/09/2010 à 15:28
héhé.

Si tu sais ça tu devrais plus avoir besoin du programme. ^^
Sangohan38 le 15/09/2010 à 22:16
Mon dieu ce qu'il faut pas lire!
Si le discriminant est négatif, il à des solutions mais elles sont uniquement dans C (ensemble qui comprend les complexes).

Après mon p'tit nat33670, ouvre un sujet pour ton prog au lieu d'en remonter un vu qu'il doit y avoir pas loin de 6373 versions de ce programme sur le forum.
Et enfin, tu peut raccourcir ton programme (j'arrive à le faire en 134 octets):

Code
Prompt A,B,C
B²-4AC->D
If D<0
Disp "PAS DE SOLUTIONS
If D=0
Disp -B/2/A,"-B/2/A
If D>0
Disp (-B+"R"(D))/2/A,(-B-"R"(D))/2/A,"(-B+"R"(D))/2/A","(-B+"R"(D))/2/A


Sangohan38

PS: Pas d'adresse mail pour éviter les spams!
Rézus le 15/09/2010 à 22:41
C'est bon ils ne connaissent pas encore les complexes.
Et le programme est 6371.55 fois sur le fofo,ya quelqu'un qui l'a pas terminé (désolé c'est pourri mais bon à 22h40 en train de réviser la densité de probabilité des orbitales moléculaires vous pouvez pas m'en vouloir hein ^^)
Et sinon vu comme tu es parti Sangohan,tu peux simplement supprimer If D<0:Disp"... ,si on sait utiliser le programme on a pas besoin de ça.
Sangohan38 le 15/09/2010 à 23:21
Faut que ce programme serve à quelque chose quand même...
Et je compatis avec tes révisions... je fait la même mais avec Schrödinger indépendante du temps en plus!

Sangohan38
Rézus le 15/09/2010 à 23:45
Ouch,nous ils nous ont pas expliqué Schrödinger,ils nous ont juste donné la formule mais on a pas besoin de l'étudier ni d'essayer de la résoudre,j'échappe à ça ^^.

Par contre le truc énervant c'est que les profs font des fautes dans leurs cours !!