Algorithme sur calculatrice TI-84 (=TI- 83)

Fermé
jack9373 Messages postés 46 Date d'inscription jeudi 31 juillet 2008 Statut Membre Dernière intervention 15 mai 2015 - 12 nov. 2009 à 21:16
 hicbek - 9 mai 2010 à 15:50
Bonjour,
Je vient de commencer la programmation sur calculatrice donc j'aurai s'il vous plait besoin d'aide pour créer un programme en basic:
Je sait que dans mon programme,
j'ai besoin de 2 valeur : a et b
puis d'une fonction: f
et enfin un entier naturel supérieur ou égal à 1: n

Dans mon programme : (a+b)/2 qui est stocké dans m
puis si f(m) x f(a) > 0 alors m est stocké dans a sinon m est stocké dans b
Merci d'avance pour vos réponses

30 réponses

merci d'avance:

Variable:
a
b
m

initialisation:
f(x)=-2x^3+21x²-60x+10
0-->a
1-->b

Traitement:
Tant que b-a>0.01
(a+b)/2 -->m
Si f(a) x f(m) <0
alors m-->b
sinn m-->a
Fin tant que

Sorties
afficher a et b


voila gsper que tu poura m'aider
8
Alors voilà le prgm :
ClrHome
"-2X^3+21X²-60X+10"->Y1 Y1 : VARS+DROITE+ENTRER
0->A
1->B
Lbl 0
If B-A>0.001
(A+B)/2->M
IF Y1(A)*Y1(M)<0
Then
m->B
Else
m->A
Goto 1
End
Goto 0
Disp A,B

Voilà, je l'ai fait vite donc si il y a des erreurs dis le moi.
6
bonjour pour ta fontction jpense g le meme exercice que toi (DM) et je sais pas comment entrer l'algorithme et surtt la fonction. Ma fonction est f(x)=-2x^3+21x²-60x+10. Comment tu as fait pour entrer la fonction dans l'algorithme. C'est urgent, MERCI.
3
Alors oui chaque ligne que j'ai écrit correspond à une ligne dans ton programme.
Pour trouver les lbl/goto/clrhome... il faut faire 2nd+0 ( catalog ) et tu tappes la premiere lettre de ce que tu recherche, et du descend jusqu'à le trouver
Clrhome veut dire effacer l'écran ( pas l'écran ou il y a les courbes ), ce n'est pas indipensable mais c'est plus esthétique, cela évite de laisser le nom du prgm en haut, qui genera à la fin l'affichage de A et B.
Pour Y1, ce n'est pas dans le catalog, donc il faut faire la manip que j'ai écrite plus haut. Pour Y1(A), il faut faire Y1, ensuite tu ouvre une parenthese, tu met A et tu ferme la parenthses tout silplement.
Lbl et goto, pour faire simple :
Lbl est une sorte de point de départ, on peut y retourner à l'aide d'un Goto suivi du même nombre/lettre que celui du Lbl, grace à ces fonctions, on a une boucle, indispensable dans un algorythme.
3

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
Bonjour,
Pourrais tu écrire le sujet complet de cet exercice s'il te plait ? Ce serait plus simple pour pouvoir t'aider
2
bon si g bien compri alors ya une erreur vous avez mis 2goto et un sel lbl donc le goto 1 je sais pas trop ou il va revenir :s et pour clrhome ya pas ds catalogue pourtant goto et lbl y sont.
merci
1
Oui, il suffit de placer le curseur à la fin d'une ligne, et de faire :
2nd+DEL+ENTRER
1
merci pr tt mais g encor qlqe probleme : ou on trouve ClrHome et sa veut dire koi? g trouver lbl et goto mais je sais pa nn plus ske sa veut dire , pour Y1(a) j'ecrit sur la calculatrice la fonction Y1 et avec le clavier (A) et (M)? enfin jvoudrai juste que tu m'affirme ke chaque ligne de ton algorithme signifie une liggne sur la calculatrice merci bcp tu msauve la vie :D
0
Vous avez tout à fait raison : il faut mettre un Lbl 1 juste avant "disp A,B".
Si ClrHome n'y est pas, c'est que votre calto est en français, il faut donc rechercher, de la même maniere, EffEcr
0
c normal que le goto 1 soit avant le lbl1 ?
0
Oui, car il faut aller au point de départ 1 une fois les conditions à l'intérieur de la boucle remplies.
0
jcomprend pas tres bien g tt fait commet vs mlavez dit mais quand jlance l'algorithme ils me mettent directement disp A,B . P-T que je devrait mettre des " " autre par que ds y1 et disp?
0
ah jpense que c'est le tant que : ds l'algorithme que je t'ai ecrit ya un tant que b-a>0.01 et non un if jpense c'est sa l'erreur et vs avez ecrit un sel end et on a un if et un tant que . sinn le tant que en anglais c comment ds la calculatrice?
0
Que valent A et B lorsque le programme est finit ? La vitesse d'execution est très rapide, c'est pourquoi on a l'impression que ce n'est pas normal, mais je ne pense pas avoir fait d'erreur, j'ai juste écrit en fonction de l'énoncé.
0
euh ils valent rien . g juste disp A,B . C pas le if qu'il faut changer en tant que ici:
If B-A>0.001 car lenoncé dit Tant que b-a>0.01 ? et fo mettre un sel end et non 2 ?
0
Vu que j'ai fait une boucle, le "if..." équivaut à "tant que".
A la fin du prgm, il ne faut pas mettre entre guillemet la derniere ligne, je l'avait mis tout à l'heure en tant que citation, d'ou les guillemets ^^, il faut juste faire :
Disp A,B
0
bon quand je les enelve g :
0.125
0.25
fait
mais moi ds mon dm g les resultat des 2 premiere passages ds la boucle:
iteration n° / 0 / 1 / 2
valeur m / / m=0.5 / m=0.25
valeur a et b / a=0 b=1 / a=0 b=0.5 / a=0 b=0.25
valeur b-a / 1 / 0.5 / 0.25

jremarque que je n'ai que 2 valeurs au lieu de a,b et m et ce n'est pas les meme valeurs :s
une idées? au fait jdoi fair autant de passage jusqu'a ce que a et b n'aient que 0.01 d'intervale.
0
eu dsl javai mis des espace pour les valeur : c comme ds un tableu chak / est une ligne . mais jvien de remarquer uen erreur: ds le 2eme passage : m=0.25 a=0 et b=0.25 g b-a=0.125 ds le polycopié alors que sa doit etre 0.25 ..
0
Je crois comprendre ou ça foire,d'après l'énoncé que tu a écris j'ai cru comprendre que si f(A)*f(M) n'étaient pas inférieurs à 0, alors on arrêtait.

Si le prgm doit finir lorsque il y a 0.01 d'écart entre A et B, il faut faire ce prgm :
ClrHome
0->A
1->B
"-2X^3+21X²-60X+10"->Y1
Lbl 0
if B-A>0.01
Then
(A+B)/2->M
Else
Goto 1
End
if Y1(A)*Y1(M)>0
Then
M->B
Else
M->A
End
Goto 0
Lbl 1
Disp A,B

Voilà, avec ça j'ai A=0.171875 B=0.1796875
0
je suis en train de recopier cet algorithme sur ma calculatrice mais je voi une erreur je sais pas si vs l'avez comise sur la calculatrice : if Y1(A)*Y1(M)>0 c'est if...<0
0