Poster un nouveau sujet Poster une réponse
resolution polynome
Auteur Message
joe dalton



Autorisation : Membre
Nb de messages : 1
Inscrit le : Jeu 04 Juil 2013, 10:03
Posté le : Jeu 04 Juil 2013, 10:15   Citer 

Bonjour

Je voudrais réaliser un programme sur la ti 82 qui permet de résoudre un polynôme du second degré. Voici le programme:

1:Prompt A
2:Disp"A",A
3:Prompt B
4:Disp"B",B
5:Prompt C
6:Disp"C",C
7:B^2-4*A*C->D
8:Disp"D",D
9:If(D<0)
10:Disp"Pas de solution"
11:if(D=0)
12:Disp"il y a 1 solution "
13:(-B)/(2*A)->x
14:If(D>0)
15:Disp"Il y a 2 solutions:"
16:(-B+sqrt(D))/(2*A)->X1
17:(-B+sqrt(D))/(2*A)->X2
18:Disp"X1",X1
19:Disp"X2",X2

Lorsque je compile le programme il me dit qu'il y a des erreurs aux lignes suivantes:
ligne 13: apparemment j'ai une erreur lorsque j'affecte la valeur à X.
ligne 16 et 17: j'ai le même souci.

Sinon tout le reste marche.

Est ce quelqu'un peut m'aider?? Merci.

 Adresse email Haut de page Bas de page 
 
linkakro



Autorisation : Membre
Nb de messages : 3738
Inscrit le : Lun 19 Oct 2009, 21:25
Posté le : Jeu 04 Juil 2013, 10:40   Citer 

Soit plus précis dans le vocabulaire pour situer mieux le contexte.
réaliser : recopier, saisir
compiler : cette calculatrice interprète ce language, ne compile pas
LA TI82 EST TRES DIFFERENTE DE LA TI82STAT donc par principe précise bien le modèle. On voit après les détails importants.

Utilise la balise code. Exemple neutralisé avec deux "*" : [*code]programme[*/code]
C'est prévu avec l'icone code au dessus du champs de saisie.

Pour t'aider précisément nous avons besoin de savoir LE TYPE d'erreur indiqué par la calculatrice. L'emplacement précis du curseur est bon à connaître, plus que ton constat sur l'affectation.

Il est probable que ce soit une erreur de syntaxe. La flèche se saisit avec sto, touche au dessus de On. X se saisit avec alpha+sto. X1 et X2 n'existent pas et il n'est pas question dans une TI de donner un nom de variable décomposé en plusieurs caractères. Tu dois utiliser d'autres lettres pour X1 et X2 pour stocker la valeur. (Des x1 et x2 en minuscule existent dans le menu variable statistique mais on ne peut pas les affecter manuellement.)

Si c'est une erreur de domaine, alors vérifie les valeurs que tu utilises.
Et une erreur divide by zero... évite A=0.

deux paragraphes suivants sont ajoutés après coup, mais avant les réponses du sujet (code modifié en conséquence) :

Il faut utiliser les tests pour ne pas calculer le couple de solution quand tu dis qu'il n'y en a pas. Et le plus embêtant est que tu peux en trouver quand même, sous forme de nombres complexes que tu n'as pas besoin de connaître, si tu essais quand même de le calculer. Par dessus le marché, cela causera une erreur ou pas selon le mode Real/a+bi.

Puisque j'ajouterai des lignes pour les tests, j'enlève les numérotations de ligne qui seront décalés.

Code
Prompt A
Disp "A",A
Prompt B
Disp "B",B
Prompt C
Disp "C",C
B^2-4AC->D
Disp "D",D
If D<0
Then
 Disp "PAS DE SOLUTION"
Else
 If D=0
 Then
  Disp "1 SOLUTION"
  -B/(2A)->X
  Disp X
 Else                // D non nul et pas négatif : positif
  Disp "2 SOLUTION"
  (-B+sqrt(D))/(2A)->P
  (-B+sqrt(D))/(2A)->Q
  Disp "X1",P
  Disp "X2",Q
 End
End

J'ai évité des parenthèses innutiles. Les parenthèses et les guillemets qui restent devant les sto et en fin de ligne sont facultatifs, mais c'est plus propre de les laisser.
On pourrait enlever les deux End à la fin si rien ne vient après. Mais ce ne serait vraiment pas rigoureux.

On aurait intérêt à ne pas utiliser les variables X,P et Q et plutôt afficher les calculs directement.

EDIT: j'ai ajouté des espaces d'indentation
EDIT: j'ai enlevé le test D>0 rendu innutile par les deux tests précédents, et enlevé le End qui va avec.


----------------------
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 
 
joe dalton
Invité
Posté le : Jeu 04 Juil 2013, 12:13   Citer 

Merci pour ta réponse. Ca fonctionne mieux c'est pas encore ca. D'abord j'utilise comme calculette la ti-82 Stat.fr
En effet lorsque je rentre les coefficients et que je fais mon calcul il m'affiche les trois valeurs celle de X celle de P et de Q. Si le discriminant est positif il m'affiche les valeurs de P de Q et de J. Si le discriminant est égale à 0 il m'affiche toujours les trois et dans ce cas là on a : P=Q=J càd P,Q,J affiche la même valeur. C'est compréhensible.
Les calculs sont exactes j'ai vérifié à la main.
Par contre lorsque le discriminant est négatif il veut afficher les trois valeurs et évidemment pour afficher les valeurs de P et Q il peut pas.(discriminant négatif). elle me dit message d'erreur:
[*code]

ERR:REP NONREEL
1:Quitter
2:Voir

[code]


Alors comment je peux faire, pour que dans le cas où le discriminant est >0 il m'affiche seulement P et Q
Si il est nul il m'affiche seulement X

Et dans le cas le discriminant est négatif j'affiche seulement il n' y a pas de solution.

  Haut de page Bas de page 
 
m@thieu41



Autorisation : Membre
Nb de messages : 848
Inscrit le : Mer 18 Juil 2012, 18:44
Posté le : Jeu 04 Juil 2013, 12:37   Citer 

Bonjour,

Il me semble que le code de Linka fonctionne...
Il faut que tu fasses (après avoir calculé le discriminant dans D)

Code
If D>0
Then
//Tu calcules et affiches P et Q
Else
If non(D // Equivaut à If D=0
Then
//Tu calcules et affiches X
Else // On a donc D<0
//Tu affiches qu'il n'y a pas de solution
End
End // Les fins des 2 structures If (facultatives si à la fin du prgm comme l'a signalé Linka)



Si tu mets bien les If/Then/Else, ça devrait être bon winkle.gif

----------------------
Pour vous aidez dans vos débuts (et même ensuite ^^) :
*Tuto Algo->Ti Basic (par Linkakro) : Traduisez vos algo (de type algobox) en prgm pour votre TI!
*Catalogue des emplacements et traductions (anglais/français) des fonctions sur la TI.
*Faites vos propres programmes de maths (par ash)

Et au fait: la politesse n'a jamais tué personne winkle.gif
 Adresse email Haut de page Bas de page 
 
linkakro



Autorisation : Membre
Nb de messages : 3738
Inscrit le : Lun 19 Oct 2009, 21:25
Posté le : Jeu 04 Juil 2013, 13:47   Citer 

J'ai déjà édité une fois mon message, il est possible qu'il (joe dalton) ai copié mon code alors que je n'avais pas encore édité. L'édition en question ajoute justement le commentaire sur les tests, et les nombres complexes. Je vais mentionner clairement l'édition.

joe dalton :
Cette erreur "REP NONREEL" signifie que tu calcules une racine de D négatif.
La racine est alors complexe, c'est pour ça que la calculatrice ne se contente pas d'une erreur domaine.
En pratique il suffit d'activer le mode a+bi ou re^(i¤) pour pouvoir calculer les racines de négatifs.
Mais tout cela ne te concerne pas et tu te contenteras des tests avec Then et Else pour éviter le cas où D est négatif.

----------------------
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 
 
joe dalton
Invité
Posté le : Jeu 04 Juil 2013, 16:01   Citer 

Ca marche nickel.
Merci à tous les 2.

  Haut de page Bas de page 
 
Poster un nouveau sujet Poster une réponse





  Page générée en 6 requêtes