[TPW] Factorielle : runtime error 200
Bonjour,
Il me semble que le débat a un peu dévié compte tenu du nombre de difficultés à résoudre, malgré la mise au point très claire de Prof sur l'opportunité du type EXTENDED pour le calcul des fonctions exponentielles et factorielles.
Lorsque l'on doit calculer une somme S(n) = U0 + U1 + ... + Un
dont chaque terme est le rapport de deux grandeurs rapidement croissantes en valeur absolue: Uk = Vk/Wk , avec dans le cas présent:
Vk = [(-1)^k]*x^(2k+1) et Wk = (2k+1)!
il est préférable d'éviter le calcul séparé des termes (Vk, Wk), et de s'en tenir à celui des quotients successifs (Uk) par une relation de récurrence:
R(k) = U(k+1)/U(k) = -x^2/(2k+2)(2k+3) ;
on voit au passage que R(k)=-1 pour x compris entre (2k+2) et (2k+3), ce qui permet de localiser facilement le plus grand des termes |Uk|.
Par ailleurs, l'énoncé ne donne apparemment pas le domaine des valeurs de (x); en l'absence d'une borne supérieure, il me paraît difficile d'exprimer la condition d'arrêt du calcul:
x^n/n! <= 0.0001
Peut-être indique-t-on quelque part: 0 <= x <= Pi ?
Cela conduirait à k(max) = E(0.341) = 0 et simplifirait le problème, la décroissance de |Uk| commançant à partir du premier terme U1.