Forum

Catégorie : Programmes
Forum : Aide à la programmation
Vues : 811
Réponses : 12
Type : discussion
Etat : réponses autorisées

Bug pgcd?

azerty1 le 01/11/2011 à 21:29
Bonjour à tous, j'ai un problème avec la fonction pgcd( en effet lorsque que je tape
Code
pgcd(15,20

Cela me renvoie bien 5, mais quand par exemple dans un programme j'ai (avec N=1.5 et D=2 )
Code
:10N->N
:10D->D
:pgcd(N,D

j'obtiens à chaque fois une erreur de domaine après D ou si j'ai mis
Code
pgcd(N,D->M

L'erreur sur le -> ... vous avez une solution...? Merci
The K le 01/11/2011 à 21:34
M'étonnerai que ce soit ça ... mais peut-être que cette fonction nécéssite une parenthèse fermente avant le sto ?
Aucune idée sinon ...

(ou alors la calculette n'aime pas qu'on mette les pgcd dans M ? Oh la vilaine ! godgrace.gif )
azerty1 le 01/11/2011 à 21:42
Non j'ai tout essayé crazy.gif Fermé parenthèse, ne pas stocker... Rien à faire...
The K le 01/11/2011 à 21:54
Euh moi perso j'ai essayé ça en programme :

Code

10N -> N
10D -> D
pgcd(N,D -> M
Disp M


Ce, en mettant les mêmes valeurs que toi dans N et D eh bien ... je suis sur ti-82 stats.fr, ça marche très bien ...

Sinon, essaie peut-être ça :

Code

10N -> N
10D -> D
pgcd(N,D
Rep -> M
Disp M
azerty1 le 01/11/2011 à 22:12
Non, j'ai déjà essayer avec Rep... crazy.gif Je deviens fous crazy.gif Le probleme c'est que dans un programme seul, cela fonctionne, mais dans le mien, non... crazy.gif
The K le 01/11/2011 à 22:54
Aucune idée alors comme ça ...
Ça vient peut être des lignes précédente de ton programme non ?
azerty1 le 01/11/2011 à 23:02
j'ai regarder mais de toute façons on a 2 variables nombres, donc cela ne devrait pas poser de problème, surtout que leurs valeurs sont normales au niveau du bug (et pour n'importe quelles valeurs testées...)
The K le 02/11/2011 à 13:16
Oui logiquement ça devrait le faire. Mais sait-on jamais, le basic est parfois capricieux ... eyeonly.gif
sandro le 02/11/2011 à 19:41
rajoute un arrondit à l'unité de N et D juste avant le calcul du PGCD (il y a peut-être une erreur d'arrondit dans une des décimales prise en compte dans les calculs mais non affichées).
Sinon je t'ai répondu de manière plus complette sur Espace-TI

Sandro
azerty1 le 02/11/2011 à 19:59
Merci beaucoup! Cela fonctionne! C'est tout de même bizarre...
Encore merci, je commençais à desespérer... godgrace.gif
sandro le 02/11/2011 à 20:05
c'est pas "plus bizzard que ça" : la calculatrice fait tous ces tests avec les 12 premiers chiffres et la puissance de 10, mais n'affiche que 10 chifferes, donc si l'imprécision ateint le 11ème ou le 12ème chiffre à cause d'une erreur d'arrondit, on le remarque pas mais ça fausse les tests.

Sandro

PS : en interne la TI fonctionne avec 14 chiffres (tronqué au 15ème)
azerty1 le 02/11/2011 à 20:14
Mais c'est bizarre dans le sens où, j'obtenais aussi une erreur non pas en multipliant avant par 10puissance 10, mais simplement par dix,se qui me donnais, par exemple 15, j'avais la même erreur...
sandro le 03/11/2011 à 19:04
oui, l'errur devait ce trouver au 12ème chiffre (ce qui fait qu'il reste une part décimale si on multiplie par 10 voir même par 10^10).

Sandro