Avertissement :Il s'agit d'une page optimisée pour la navigation mobile. Voir la
page originale.
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
peptele le 14/09/2008 à 21:01
si il est cool mais un peut long on peut faire plus court mais bien!!

-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 classeSangohan38 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.
Sangohan38Wchood 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
!!!
Donc je fais "voir" pour voir où est le problème ... normal ... il m'amène à la ligne
!!!
Help

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.
Sangohan38beber 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 !

Johann le 18/10/2009 à 13:29
Maggie, elle s'appelle Maggie ^^

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 lanternessypotu le 21/10/2009 à 22:45
Õ c'est la racine carré
et ø thêta en effetByresse le 21/10/2009 à 22:51
sypotu a écrit :
Õ c'est la racine carré
et ø thêta en effet
merci beaucoup

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

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

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
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...

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!
Sangohan38Ré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 !! Avertissement :Il s'agit d'une page optimisée pour la navigation mobile. Voir la
page originale.