Section courante

A propos

Section administrative du site

LOG

Logarithme
Fortran

Syntaxe

FUNCTION LOG(n)

Paramètres

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

Description

Cette fonction retourne le logarithme naturel (base e).

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 LOG(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 logsamples
  2.     REAL I
  3.     I = 0.1
  4.     DO WHILE (I <= 2.0)
  5.         PRINT'(a, f7.5, a, f7.5)', 'LOG(', I, ')=', log(I)
  6.         I = I + 0.1
  7.     END DO
  8. END  

on obtiendra le résultat suivant :

LOG(0.10000)=*******
LOG(0.20000)=*******
LOG(0.30000)=*******
LOG(0.40000)=-.91629
LOG(0.50000)=-.69315
LOG(0.60000)=-.51083
LOG(0.70000)=-.35667
LOG(0.80000)=-.22314
LOG(0.90000)=-.10536
LOG(1.00000)=0.00000
LOG(1.10000)=0.09531
LOG(1.20000)=0.18232
LOG(1.30000)=0.26236
LOG(1.40000)=0.33647
LOG(1.50000)=0.40547
LOG(1.60000)=0.47000
LOG(1.70000)=0.53063
LOG(1.80000)=0.58779
LOG(1.90000)=0.64185


Dernière mise à jour : Dimanche, le 23 novembre 2014