On Thu, 19 Sep 2002, Noury wrote:
> Il s'agit d'un probleme que vous connaissez surement deja.
>...
Eh oui, pas plus tard que la semaine derni�re sur cette liste...
>...
> On voit bien que dans les deux cas, un supplement infime est ajoute au
> resultat, ce qui nuit a un test de comparaison sur egalite. De plus, dans le
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
> cas ou on soustrairait au lieu d'additionner le resultat serait encore pire.
> Il y a bien des solutions en mulitpliant par 10 et en divisant par 10 mais je
> cherche une solution elegante avec un listing comprehensible. L'un de vous
> aurait-il une idee?
Au risque de passer pour un vieux rabat-joie je rapellerai simplement que d�s
que l'on se met � jouer avec des nombres non entiers on doit oublier le test
d'�galit� basique x=y. On doit se fixer une pr�cision eps et red�finir
l'�galit� selon cette eps avec un test du genre
eps<-0.000001 pour une pr�cision au million�me pr�s par exemple
si |x-y| < eps alors
retourner vrai
sinon
retourner faux
finsi
Que l'on soit en java, C, fortran ou tout ce que l'on veut (qui ne soit pas du
calcul formel) il est illusoire d'esp�rer mieux qu'une pr�cision relative. Il
me semble que j'ai appris cela tout petit (vers 83), que d'autres l'avaient
appris bien avant et que je l'enseigne encore � mes �tudiants parce que h�las
je ne vois pas comment faire autrement.
Pascal NICOLAS Universite d'ANGERS
E Mail : [EMAIL PROTECTED]
Web Page : http://www.info.univ-angers.fr/pub/pn/