Poster un nouveau sujet Poster une réponse
Problème avec le programme "second degré"
Auteur Message
Dax
Invité
Posté le : Jeu 27 Sep 2012, 22:09   Citer 

Bonsoir à tous happy.gif j'ai récemment téléchargé le programme fourni par ce site (tout 82) sur les équations du 2nd degré (le programme "degré 2" ici : http://tout82.free.fr/programmes/

Le programme calcule correctement delta. Seulement, pour calculer x1 et x2, il bride delta à 2 chiffres maximum ! exempl : delta = 450, pour x1 il va écrire "[racine] de 45".


Code
:ClrHome
:Disp "Ax²+Bx+C=0"
:Input "A ",A
:Input "B ",B
:Input "C ",C
:ClrHome
:If A=0
:Then
:Output(3,3,"CE N EST PAS")
:Output(5,3,"DU 2ND DEGRE")
:Pause
:Goto C
:End
:B²-4AC -> D
:Output(1,1,"DELTA =")
:Output(1,9,D)
:If D>0
:Then
:Output(2,1,"2 SOLUTIONS")
:((-)B+[Racine carrée]D)/2A -> F
:((-)B-[Racine carrée]D)/2A -> G
:Output(4,1,"S1=(")
:Output(4,5,(-)B)
:Output(4,8,"+[Racine carrée]")
:Output(4,10,D)
:Output(4,12,")/")
:Output(4,14,2A)
:Output(6,1,"S2=(")
:Output(6,5,(-)B)
:Output(6,8,"-[Racine carrée]")
:Output(6,10,D)
:Output(6,12,")/)
:Output(6,14,2A)
:Output(8,1,"SOIT...")
:Pause
:ClrHome
:Disp "S1 =",F>Frac,"S2 =",G>Frac
:Pause
:ClrHome
:Disp "X1+X2 = ",(-)(B/A)>Frac,"X1*X2 = ",C/A>Frac
:End
:If D<0
:Then
:Menu("ENSEMBLE","REELS",A,"COMPLEXES",B)
:Lbl A
:Output(2,1,"AUCUNE SOLUTION")
:Goto E
:Lbl B
:Output(2,1,"2 SOLUTIONS")
:Output(4,1,"S1=(")
:Output(4,5,(-)B)
:Output(4,8,"+I[Racine carrée]")
:Output(4,11,(-)D)
:Output(4,13,")/")
:Output(4,15,2A)
:Output(6,1,"S2=(")
:Output(6,5,(-)B)
:Output(6,8,"-I[Racine carrée]")
:Output(6,11,(-)D)
:Output(6,13,")/)
:Output(6,15,2A)
:Pause
:Goto C
:End
:If D=0
:Then
:Output(2,1,"1 SOLUTION")
:(-)(B/(2A)) -> E
:Output(4,1,"S=")
:Output(4,3,(-)B)
:Output(4,6,"/")
:Output(4,7,2A)
:Output(6,1,"SOIT...")
:Pause
:ClrHome
:Disp "S = ",E>Frac
:End
:Lbl E
:Pause
:ClrHome
:Menu("GRAPHIQUE","NON",C,"OUI",D)
:Lbl D
:StoreGDB GDB5 (* pour les TI-82 STATS ":StoreGDB 5" *)
:"Ax²+Bx+C" -> Y1 (* "X" de la touche [X,T,[THETA]] *)
:ZStandard
:DispGraph
:Text(0,0,"SOMMET :")
:Text(6,0,"X = ",(-)(B/2A))
:Text(12,0,"Y = ",Y1((-)(B/2A)))
:Pause
:RecallGDB GDB5 (* pour les TI-82 STATS ":RecallGDB 5" *)
:Lbl C
:ClrHome



Voilà le code du programme (version sans câble, moi j'ai téléchargé la version avec câble mais je suppose que c'est la même ^^).

Enfin bref, si quelqu'un pouvait m'éclairer crazy.gif Voilà, bonne soirée à tous happy.gif

  Haut de page Bas de page 
 
linkakro



Autorisation : Membre
Nb de messages : 3767
Inscrit le : Lun 19 Oct 2009, 21:25
Posté le : Jeu 27 Sep 2012, 23:23   Citer 

Les textes des différents output se superposent car les positions sont prédéfinies sans laisser de place à D.
Tu dois afficher D sur une ligne vierge par un autre moyen pour en consulter jusqu'à dix chiffres. (parmi les 14 en mémoire)
Mais comme D est déjà affiché plus tôt, il est plus simple de supprimer l'affichage du nombre D dans l'expression littérale, et le remplacer par un texte fixe tel que "+rac(D)/("

----------------------
ti82statfr: 2008, inscrit: 2009, ti84pocketfr: noël2011, ti30xbmultiview: iut 2012-2014
Perfectionniste, manque tact. Pas le temps de tout publier depuis 2011. Répond toujours aux questions. (rédigé juin 2014)

Pour tout le monde et surtout les débutants, quelques-uns des articles courants :
*Traductions Algorithmie/Ti-Basic.
*Caractères spéciaux sur Tout82
Les défauts du TI-Basic : Goto_versus_algo et DelVar/End/Lbl/guillemet/store
 Adresse email Haut de page Bas de page 
 
Dax
Invité
Posté le : Ven 28 Sep 2012, 19:29   Citer 

Hey, je vois ce que tu veux dire happy.gif malheureusement, je l'avoue, je ne suis pas encore très doué en programmation cry.gif
Est-ce que tu pourrais me dire ce que je dois remplacer dans le texte s'il te plait ? happy.gif

  Haut de page Bas de page 
 
Cytropus



Autorisation : Membre
Nb de messages : 409
Inscrit le : Lun 07 Nov 2011, 12:09
Posté le : Ven 28 Sep 2012, 19:48   Citer 

Si tu tien vraiment à avoir plus de chiffre significatif, (ça vas rendre moins beau mais bon)

Remplace çà:
Code
:Output(4,10,D)
:Output(4,12,")/")
:Output(4,14,2A)
:Output(6,1,"S2=(")
:Output(6,5,(-)B)
:Output(6,8,"-[Racine carrée]")
:Output(6,10,D)
:Output(6,12,")/)
:Output(6,14,2A)
:Output(8,1,"SOIT...")


par
Code
:Output(4,10,D)
:Output(5,12,")/")
:Output(5,14,2A)
:Output(7,1,"S2=(")
:Output(7,5,(-)B)
:Output(7,8,"-[Racine carrée]")
:Output(7,10,D)
:Output(8,12,")/)
:Output(8,14,2A)
:Pause
:Disp "SOIT..."



Et fait la même chose pour les solutions crazy.gif

PS: clown.gif pour ceux qui ne l'aurait pas remarqué j'ai changé les nombres après les Output clown.gif

----------------------
Le nouveau site de tout82
 Adresse email Haut de page Bas de page 
 
Dax
Invité
Posté le : Sam 29 Sep 2012, 11:24   Citer 

Yo, j'ai bien apporté tes modifications à mon programme.
Cela marche très bien pour S2 (du moins sur l'affichage j'ai pas encore pu vérifier le calcul) mais pas pour S1 :/

  Haut de page Bas de page 
 
linkakro



Autorisation : Membre
Nb de messages : 3767
Inscrit le : Lun 19 Oct 2009, 21:25
Posté le : Sam 29 Sep 2012, 15:13   Citer 

Il y a des confusions entre les textes et les fermetures de output.
Et la Ti82 basique pour laquelle ce programme a été coçu admet des priorités opératoire différentes des autres calculatrices.
J'ai adapté la plupart de ces choses à la ti82stat.

Code
ClrHome
Disp "AX²+BX+C=0"
Prompt A,B,C
ClrHome
If A=0
Then
Output(3,3,"CE N'EST PAS
Output(5,3,"DU 2ND DEGRE
Pause
Goto C
End
B²-4AC -> D
Output(1,1,"DELTA =
Output(1,9,D
If D>0
Then
Output(2,1,"2 SOLUTIONS
(-B+[Racine carrée]D))/(2A -> F
(-B-[Racine carrée]D))/(2A -> G
Output(4,1,"S1=(
Output(4,5,-B
Output(4,8,"+rac(
Output(4,10,"D
Output(4,12,")/(
Output(4,14,2A
Output(6,1,"S2=(
Output(6,5,-B
Output(6,8,"-rac(
Output(6,10,"D
Output(6,12,")/(
Output(6,14,2A
Output(8,1,"SOIT...
Pause
ClrHome
Disp "S1 =",F>Frac,"S2 =",G>Frac
Pause
ClrHome
Disp "X1+X2 = ",-B/A>Frac,"X1*X2 = ",C/A>Frac
End
If D<0
Then
Menu("ENSEMBLE","REELS",A,"COMPLEXES",B
Lbl A
Output(2,1,"AUCUNE SOLUTION
Goto E
Lbl B
Output(2,1,"2 SOLUTIONS
Output(4,1,"S1=(
Output(4,5,-B
Output(4,8,"+i[Racine carrée]
Output(4,11,"-D
Output(4,13,")/(
Output(4,15,2A
Output(6,1,"S2=(
Output(6,5,-B
Output(6,8,"-i[Racine carrée]
Output(6,11,"-D
Output(6,13,")/(
Output(6,15,2A
Pause
Goto C
End
If D=0
Then
Output(2,1,"1 SOLUTION
-B/(2A -> E
Output(4,1,"S=
Output(4,3,-B
Output(4,6,"/(
Output(4,7,2A
Output(6,1,"SOIT...
Pause
ClrHome
Disp "S = ",E>Frac
End
Lbl E
Pause
ClrHome
Menu("GRAPHIQUE","NON",C,"OUI",D
Lbl D
StoreGDB GDB5
"Ax²+Bx+C -> Y1
ZStandard
DispGraph
Text(0,0,"SOMMET :
Text(6,0,"X = ",-B/(2A
Text(12,0,"Y = ",Y1(-B/(2A
Pause
RecallGDB GDB5
Lbl C
ClrHome



----------------------
ti82statfr: 2008, inscrit: 2009, ti84pocketfr: noël2011, ti30xbmultiview: iut 2012-2014
Perfectionniste, manque tact. Pas le temps de tout publier depuis 2011. Répond toujours aux questions. (rédigé juin 2014)

Pour tout le monde et surtout les débutants, quelques-uns des articles courants :
*Traductions Algorithmie/Ti-Basic.
*Caractères spéciaux sur Tout82
Les défauts du TI-Basic : Goto_versus_algo et DelVar/End/Lbl/guillemet/store
 Adresse email Haut de page Bas de page 
 
Poster un nouveau sujet Poster une réponse





  Powered by Fire-Soft-Board v1.0.10 © 2004 - 2024 Groupe FSB
Page générée en 9 requêtes
BlackOne par Grimmlink