Bonjour Bonsoir les matheux !
Donc je m'explique : je suis en première S, et mon professeur m'a demandé de rédiger un programme sur la calculatrice TI 89. Le programme que je dois créer doit pouvoir au minimum :
- Demander à l'utilisateur de choisir un nombre pour chaque variable a, b et c (a différent de 0).
- Après avoir que l'utilisateur ait mis les différentes variables, le programme doit donner la formule suivante : ax²+bx+c avec les valeurs choisies par l'utilisateur.
- Ensuite, il faut qu'il puisse donner les coordonnées du point S (le minimum ou maximum de la fonction).
- Enfin, il doit calculer Delta (D) et donner les solutions selon la valeur de ce dernier.
A présent, je vais vous donner le programme que j'ai écrit :
: xyzt()
: Prgrm
: Input "bonjour, choisissez a (différent de zéro)",a
: If a =0
: Then
: Disp "J'ai dit différent de 0"----------------------------------------------------------> A ce moment là, le programme cesse de tourner
: Else
: Input "A présent, choisissez b",b
: Input "Enfin, choisissez c",c
: Disp a*"x^2"+b*"x"+c
: EndIf
: EndPrgm
Si vous avez remarqué, j'ai rajouté d'une fonction If, else, EndIf (une initiative) qui permet d'obliger l'utilisateur de choisir une valeur pour a différente de 0. En effet ce n'est pas demandé, mais le professeur récompense les choses intéressantes en + donc si vous avez des idées, allez-y !
J'en suis pour l'instant là, je vais expliquer le problème que j'ai rencontré :
Donc je lance le programme :
je rentre 2 pour a
3 pour b
et 1 pour c
j'obtiens la chose suivante :
2."x^2"+3."x"+1
Alors j'aimerais savoir comment mettre x comme un variable ? Parce que quand j'enlève les guillemets, je lance le programme, je met les variables, et après avoir mi celle de c, une erreur apparait qui dit : Variable non algébrique dans l'expression. J'aimerais bien de l'aide sur ce problème merci d'avance ! Et bonnes vacances !
Merci énormément ! Je n'avais pas vu qu'il fallait tout simplement l'écrire de cette façon !
J'aurais une autre question, je cherche désespérément comment obliger la calculatrice à donner un résultat exact dans un programme.
Pour obliger à saisir 0 sans sortir du programme, tu peux aussi écrire:
isp "Bonjour,"
:loop
:Input " choisissez a (différent de zéro)",a
:If a<>0
:Exit
:Endloop
Ou quelque chose qui y ressemble
Je découvre la notice de cette calculatrice, laisse moi quelques minutes STP.
Il me semble quand même qu'il y a une option "solve" avec un exemple page 33-4.
Mais c'est "trop facile".
Merci pour ce conseil ! Mais finalement j'ai décidé de refaire tourner le programme si l'utilisateur répond 0 avec la commande If.
Au passage, je viens de voir que en faite sa marche pas, puisque a et b à la fin ne prennent pas la valeur choisi par l'utilisateur.
Eh bien non justement. Je me réexplique :
je dois obtenir un trinome de la forme : ax²+bx+c
A la fin du programme, je n'obtient que la valeur de c choisie par l'utilisateur. a et b ne changent pas :s
Une autre question. Est-ce possible de proposer à l'utilisateur de voir la fonction qu'il a faite sur le graphique ?
A un moment, faut que tu lises la notice.
Ici, je n'ai pas de calculatrice.
La dernière que j'ai utilisée était une TI82c en ... 1986!
Encore merci Sanantonio312 pour les réponses. Mais la fonction DrawFunc ne semble pas être reconnue par la calculatrice. De toute façon ce n'était que pour avoir + de points . Là je suis entrain d'écrire un script pour la deuxième question :
Si a > 0 , dire que la fonction admet un minimum S (x ; y)
Si a < 0 , dire que la fonction admet un maximum S (x ; y)
Et il faut que le programme puisse donner x et y.
J'ai réussis, mais je viens de voir qu'a chaque fois que je lance le programme, tout se lance d'un coup, ce qui fait que l'utilisateur n'a pas le temps de noter chaque donnée calculée par la calculatrice au fur et à mesure... Ce qu'il faudrait c'est que le programme fasse une pause à chaque fois qu'il donne une donnée, et qu'il reprenne quand l'utilisateur appuie sur entrée par exemple. Si tu peux m'aider .
Entre 2 résultats, tu peux écrire un truc du genre
While GetKey()=0
EndWhile
Ou, si ça ne marche pas, comme en page 33-9 de ton manuel:
While c=0
GetKey --> c
EndWhile
Malheuresement, j'ai essayé les 2, mais aucune d'elle ne fonctionne : on m'affiche une erreur avant le prochain résultat :/
Finalement j'ai utilisé la commande while, et je demande a l'utilisateur de presser 1 pour continuer
Encore une question !
On me donne : CrlIO qui permet de nettoyer la page de programmation à chaque lancer. Mais je ne la trouve pas, ni dans le manuel :s
Merci pour ta réponse. Cependant, j'écris le script suivant :
: xyzt()
: Prgm
: Clrio
etc...
et sa ne nettoie pas :/
J'ai essayé avec majuscule ou sans, en faite j'ai écris moi même ClrIO. Sur la feuille que mon professeur m'a donné, ils me disent :
" ClrIO " (catalog -> c) nettoie l'écran d'éxecution des programmes. Que suis-je censé faire ?
Page 33-3:
Mes camarades et moi n'avons jamais utilisé la TI89 non plus. C'est le professeur qui nous a donné ce devoir maison, pour "introduire" la programmation sur TI89. Mais en effet tu as raison ! ClrIO équivaut à EffES, je viens de tester . Vraiment merci beaucoup pour ta précieuse aide !
Vous devez être membre accéder à ce service...
Pas encore inscrit ?
1 compte par personne, multi-compte interdit !
Ou identifiez-vous :