Tom's Guide > Forum > Programmation > Programme pour Ti-85
Mot :    Pseudo :           
 

Salut,
tout d'abord joyeux noël à tous!
Je viens de commencer a apprendre a programmer ma Ti-85, je crois que le language c'est le Basic-TI, et j'ai un probleme avec le minuscule programme que j'ais fait. Voila deja son principe: donner sous forme de fraction un nombre N. Je sais que cette fonction existe deja mais elle ne marche pas quand le numérateur est une racine, genre racine(2)/2.
Etant donner que je suis en terminale S on tombe souvent sur des nombres comme ca. Mais voila mon programme fonctionne parfaitement, sauf que pour certains nombres comme racine(7)/2, le programme ne me répond pas racine(7)/2 mais racine(28)/4, je sais ca équivaut au meme, mais la calculatrice met plus de temps a trouver et des fois pour des grandes valeurs ca devient vrément embetant. Voici mon programme (il est tout bébéte):


:Input "N=", N
:1->A
:N->D
:While fpart(1/D) =/(different)0
:(N/racine(A))->D
:A+1->A
:End
:Disp A-1
:Disp 1/D

Si vous pouviez me dire pourquoi mon programme bug, car pour la plupart des autre valeurs il me donne bien le resultat attendu, alors que quand je rentre N=racine(8)/9 il met une heure a répondre: racine(2888)/171. En plus, quand N=cos(pi/4) il me donne racine(50)/10 alors que pour N=racine(2)/2, il me donne bien racine(2)/2.

(ca ne viens pas de ma calculette car sur l'emulateur c'est pareil)
Je sais très bien que mon programme est vrément pas fini, mais j'attend d'abord de résoudre ce problème avant de le pofiné.

Merci bien a tous.


Message édité par wasalto le 25-12-2006 à 18:10:56
Liens sponsorisés
Inscrivez-vous ou connectez-vous pour masquer ceci.

Je vois que les TI85 ne sont pas mortes (avec ce bon vieux ZShell) ;)

C'est peut-être un problème de précision. Essaie de remplacer le while comme ceci:
:While fpart(1/D) < epsilon
où epsilon est une variable valant par exemple 0.000000001 (à régler selon les résultats).
Sinon, l'algo me parait bon.
Si ce n'est pas la précision, affiche tous les résultats intermédiaires pour voir où est le problème ;)

Répondre à CRicky

Eh oui, ca existe encore les TI-85. Enfin bon je suis pas spécialement content de ne pas avoir de 89, mais on fait avec ce qu'on a...

Pour en revenir a mon problème, j'ai essayé de faire comme tu a dis, ie remplacé !=0 par <epsilon, mais ca ne marche carrément pas, meme pour epsilon=1E-100, le résultat qu'il me donne est complétement faux.

Merci quand meme pout ton aide, si quelqu'un a une autre solution...

Répondre à wasalto

Les résultats intermédiaires pour racine(28)/4 donnent quoi ?

Répondre à CRicky

Excuse moi pour ma réponse (très) tardive.
Alors j'ai affiché les résultas intermédiaires pour 1/D, et bizzarement pour racine(7)/2, comme pour racine(28)/4, mon programme trouve bien 2 pour 1/D, mais il ne s'arréte pas et continu de chercher un autre entier (4). Vrément très bizzard. ..

Répondre à wasalto
Tom's Guide > Forum > Programmation > Programme pour Ti-85
Aller à :

Il y a 2912 utilisateurs connus et inconnus. Pour voir la liste des connectés connus, cliquez ici.

Attention

Vous allez répondre sur un sujet resté inactif pendant plus de 6 mois.
Assurez-vous d'apporter des éléments nouveaux à la discussion avant de poursuivre.

Répondre Annuler
Liens