Section courante

A propos

Section administrative du site

LN

Logarithme naturel
Delphi/Kylix/Lazarus System

Syntaxe

Function Ln(r:Real):Real;

Paramètres

Nom Description
r Ce paramètre permet d'indiquer l'expression contenant le nombre à traiter

Description

Cette fonction permet de calculer le logarithme népérien (Naturel).

Algorithme

MODULE SQRT(X)
   SI X = 0.0 ALORS
      RETOURNE 0.0
   SINON
      M ← 1.0
      XNX
      BOUCLE FAIRE TANT QUE XN >= 2.0
         XN ← 0.25 x XN
         M ← 2.0 x M
      FIN BOUCLE FAIRE TANT QUE
      BOUCLE FAIRE TANT QUE XN < 0.5
         XN ← 4.0 x XN
         M ← 0.5 x M
      FIN BOUCLE FAIRE TANT QUE
      AXN
      B ← 1.0 - XN
      BOUCLE REPETER
         AA x (1.0 + 0.5 x B)
         B ← 0.25 x (3.0 + B) x B x B
      FIN BOUCLE JUSQU'A B ← 1.0E - 15
      RETOURNE A x M
   FIN SI

MODULE LN(x)
   negatif ← faux
   fois ← 1
   ajout ← 0
   SI x <= 0.0 ALORS
      RETOURNE 0
   FIN SI
   SI x < 1.0 ALORS
      negatif ← vrai
      x ← 1.0 / x
   FIN SI
   BOUCLE FAIRE TANT QUE x >= 10.0
      xx / 10.0
      ajoutajout + 2.302585092994046
   FIN BOUCLE FAIRE TANT QUE
   BOUCLE FAIRE TANT QUE x >= 1.1
      x ← SQRT(x)
      foisfois x 2
   FIN BOUCLE FAIRE TANT QUE
   xx - 1
   savxx
   i ← 2
   xpx x x
   quotient ← (xp / i)
   dlx - quotient
   BOUCLE FAIRE TANT QUE 1.0E-15 ← quotient
      ii + 1
      xpxp x x
      dldl + (xp / i)
      ii + 1
      xpxp x x
      quotient ← (xp / i)
      dldl - quotient
   FIN BOUCLE FAIRE TANT QUE
   dldl x fois
   dldl + ajout
   SI negatif ALORS
      dl ← -dl
   FIN SI
   RETOURNE dl

Exemple

Voici un exemple permettant d'afficher le logarithme inférieurs à 2 :

  1. Program LnSamples;
  2.  
  3. {$APPTYPE CONSOLE}
  4.  
  5. Uses SysUtils;
  6.              
  7. Var
  8.  I:Real;
  9.           
  10. BEGIN
  11.  I := 0.1;
  12.  While I <= 2.0 do Begin
  13.   WriteLn('LN(',I:0:1,')=',Ln(I):0:15);
  14.   I := I + 0.1;
  15.  End;
  16. END.

on obtiendra le résultat suivant :

LN(0.1)=-2.302585092994046
LN(0.2)=-1.609437912434100
LN(0.3)=-1.203972804325936
LN(0.4)=-0.916290731874155
LN(0.5)=-0.693147180559945
LN(0.6)=-0.510825623765991
LN(0.7)=-0.356674943938732
LN(0.8)=-0.223143551314210
LN(0.9)=-0.105360515657826
LN(1.0)=-0.000000000000000
LN(1.1)=0.095310179804325
LN(1.2)=0.182321556793955
LN(1.3)=0.262364264467491
LN(1.4)=0.336472236621213
LN(1.5)=0.405465108108165
LN(1.6)=0.470003629245736
LN(1.7)=0.530628251062171
LN(1.8)=0.587786664902119
LN(1.9)=0.641853886172395

Voir également

Langage de programmation - Delphi/Kylix/Lazarus - Référence de procédures et fonctions - Exp
Langage de programmation - Delphi/Kylix/Lazarus - Référence de procédures et fonctions - Log10

Dernière mise à jour : Mercredi, le 18 février 2015