Home |
Logithèque |
TI81
Logarithme par l'algorithme CORDIC
Code
Input X
0->I
1->Y
Lbl 1
1+10^-I->Z
Lbl 3
If XZ>10
Goto 2
XZ->X
Y-Log Z->Y
Goto 3
Lbl 2
Is(I,10)
Goto 1
Disp Y
Mode d'emploi
Lancer le programme.
Taper un nombre compris entre 1 et 10.
Le logarithme du nombre est affiché.
Mathématiques à l'oeuvre
On utilise l'algorithme CORDIC. Il ne faut pas croire que la fonction Log, présente dans le programme, soit utilisée de façon dérobée, elle évite seulement le recours à une table.
Pour être plus convaincant, on pourrait adapter le programme pour qu'il utilise xStat et yStat, sans aucune élévation à la puissance ni Log.
Le principe est de multiplier le nombre de départ par des nombres de la forme Pi=(1+10^-i) afin d'atteindre 10 sans jamais le dépasser. On commence naturellement par la valeur de i la plus basse possible, soit 0 (ligne 2). Lorsque 10 est atteint, on a : 10=X*Produit(Pi) soit 1=log(X) + Somme(log(Pi)). ou log(X)=1-Somme(log(Pi)). Or une table précalculée donne les log(Pi), il suffit donc de les sommer dans la boucle à chaque fois qu'on multiplie par le Pi correspondant.