CALCULE LOG(X)

Signaler
Messages postés
310
Date d'inscription
samedi 18 décembre 2004
Statut
Membre
Dernière intervention
6 juillet 2019
-
 Samy -
Cette discussion concerne un article du site. Pour la consulter dans son contexte d'origine, cliquez sur le lien ci-dessous.

https://codes-sources.commentcamarche.net/source/51445-calcule-log-x

cs_JCDjcd
Messages postés
1138
Date d'inscription
mardi 10 juin 2003
Statut
Membre
Dernière intervention
25 janvier 2009
2
Je ne comprends pas le raisonnement ...
Quoi qu'il en soit, une precision de 10e-60 avec des double ne veut rien dire
tagtog
Messages postés
7
Date d'inscription
mardi 17 février 2009
Statut
Membre
Dernière intervention
20 juillet 2011

La fonction while(fabs(term)>epsilon) ne s'arrête pas quand la condition n'est pas fausse.
Donc, nous sommes arrivés à notre objectif d'accès à la valeur epsilon = 10^(-60).
Donc le problème en dehors de notre mains ^^.
cs_JCDjcd
Messages postés
1138
Date d'inscription
mardi 10 juin 2003
Statut
Membre
Dernière intervention
25 janvier 2009
2
Pour revenir a la "precision de 10e-60" ... c'est tout bonnement absurde d'affirmer cela :
Avec les doubles au maximum tu peux avoir 16 chiffres significatifs, donc la précision maximale est de 10e-16

Il ne faut pas confondre le fait que l'on puisse ecrire le nombre 10e-100 dans un double et le fait le nombre 1.000 000 000 000 000 1 * 10e-100 le soit aussi alors que 1.000 000 000 000 000 01 * 10e-100 (avec un 0 de plus) soit identique a 10e-100 !
Bref 10e+100 additionne avec 10e-100 n'a aucun sans dans l'arithmetique des flottants.


Pour finir, un petit retour sur des choses plus mathemtiques :
ton test d'arret est que fabs(term)<epsilon, cele ne veut absolument pas dire que l'ecart a la vraie valeur est plus petite d'epsilon, mais seulement que le dernier terme de la serie de Taylor est plus petit en module a epsilon.
Avec ce raisonnement il suffirait de prendre la serie harmonique somme 1/n et dire qu'il suffit de s'arreter quand n depasse 1/epsilon ... alors que la serie harmonique diverge (equivalent a ln(n)+constante d'Euler+...).
Donc morale de l'histoire ne pas confondre grandeur du dernier terme avec l'erreur commise sur l'approximation
cs_Jaboun
Messages postés
3
Date d'inscription
dimanche 28 mars 2010
Statut
Membre
Dernière intervention
11 décembre 2010

merci pour cette information de calculer log(x),
j'ai un exercice de la langage c slv:
Ecrire un programme pour la gestion de stock
le stock est identifier par nom,prix unitaire,stock,stock minimal.
les operations a gérer:
1.Ajouter un produit
2.Modifier un produit
3.Supprimer un produit
4.Rechercher un produit
5.trier les produits par prix unitaire
6.trier les produit par stock
7.liste des produits a commander