begin process at 2012 02 16 09:36:10
  Trouver un code source :
 
dans
 
Accueil > 

Code

 > 

Maths

 > CALCUL DE LA FONCTION LOGARITHME

CALCUL DE LA FONCTION LOGARITHME


 Information sur la source

Note :
10 / 10 - par 1 personne
10,00 / 10

  • 1

  • 2

  • 3

  • 4

  • 5

  • 6

  • 7

  • 8

  • 9

  • 10
Catégorie :Maths Classé sous :log, fonction, népérien, calcul Niveau :Débutant Date de création :14/11/2007 Vu / téléchargé :13 354 / 253

Auteur : CFCTABLE

Ecrire un message privé
Commentaire sur cette source (3)
Ajouter un commentaire et/ou une note

 Description

Deux façons de le calculer en base 10 et en népérien
J'utilisais cette méthode sur une calculette 4 opérations.C'était il y a longtemps.

Source

  • Public Function ZLog10(X) As Double
  • Dim Wi As Integer
  • Dim N, N1, N2, N3 As Double
  • Dim P As Integer
  • Dim Sg As Boolean
  • Sg = True
  • If X <= 0 Then
  • xx = MsgBox("Valeur négative ou nulle interdite", vbCritical, "Calcul du Log")
  • Exit Function
  • End If
  • If X < 1 And X > 0 Then
  • X = 1 / X
  • Sg = False
  • End If
  • N1 = X
  • P = 0
  • N2 = 0
  • N3 = 1
  • While P < 16
  • Wi = 0
  • N = N1
  • While N >= 10
  • N = N / 10
  • Wi = Wi + 1
  • Wend
  • N1 = N * N
  • N1 = N1 * N1
  • N1 = N1 * N
  • N1 = N1 * N1
  • N2 = N2 + Wi / N3
  • P = P + 1
  • N3 = N3 * 10
  • Wend
  • If Not Sg Then
  • N2 = -N2
  • End If
  • ZLog10 = N2
  • End Function
  • Public Function ZLog2(X) As Double
  • Dim Wi, Wj, Wk, Wl As Integer
  • Dim N, N1, N2, N3 As Double
  • Dim P As Integer
  • Dim Sg As Boolean
  • 'log(2)=0.693147180559945309417232121458176568075500134360255254120678
  • Dim WLOG2 As Double
  • WLOG2 = 0.693147180559945
  • Sg = True
  • If X <= 0 Then
  • xx = MsgBox("Valeur négative ou nulle interdite", vbCritical, "Calcul du Log")
  • Exit Function
  • End If
  • If X < 1 And X > 0 Then
  • X = 1 / X
  • Sg = False
  • End If
  • N1 = X
  • P = 0
  • N2 = 0
  • N3 = 1
  • While P < 60
  • Wi = 0
  • N = N1
  • While N >= 2
  • N = N / 2
  • Wi = Wi + 1
  • Wend
  • N1 = N * N
  • N2 = N2 + Wi / N3
  • P = P + 1
  • N3 = N3 * 2
  • Wend
  • If Not Sg Then
  • N2 = -N2
  • End If
  • ZLog2 = N2 * WLOG2
  • End Function
Public Function ZLog10(X) As Double
    Dim Wi As Integer
    Dim N, N1, N2, N3 As Double
    Dim P As Integer
    Dim Sg As Boolean
    Sg = True
    If X <= 0 Then
        xx = MsgBox("Valeur négative ou nulle interdite", vbCritical, "Calcul du Log")
        Exit Function
    End If
    
    If X < 1 And X > 0 Then
        X = 1 / X
        Sg = False
    End If
    
    N1 = X
    P = 0
    N2 = 0
    N3 = 1
    While P < 16
        Wi = 0
        N = N1
        While N >= 10
            N = N / 10
            Wi = Wi + 1
        Wend
        N1 = N * N
        N1 = N1 * N1
        N1 = N1 * N
        N1 = N1 * N1
        N2 = N2 + Wi / N3
        P = P + 1
        N3 = N3 * 10
    Wend
    If Not Sg Then
        N2 = -N2
    End If
    
    ZLog10 = N2
End Function

Public Function ZLog2(X) As Double
    Dim Wi, Wj, Wk, Wl As Integer
    Dim N, N1, N2, N3 As Double
    Dim P As Integer
    Dim Sg As Boolean
    'log(2)=0.693147180559945309417232121458176568075500134360255254120678
    Dim WLOG2 As Double
    WLOG2 = 0.693147180559945
    Sg = True
    If X <= 0 Then
        xx = MsgBox("Valeur négative ou nulle interdite", vbCritical, "Calcul du Log")
        Exit Function
    End If
    
    If X < 1 And X > 0 Then
        X = 1 / X
        Sg = False
    End If
    
    N1 = X
    P = 0
    N2 = 0
    N3 = 1
    While P < 60
        Wi = 0
        N = N1
        While N >= 2
            N = N / 2
            Wi = Wi + 1
        Wend
        N1 = N * N
        N2 = N2 + Wi / N3
        P = P + 1
        N3 = N3 * 2
    Wend
    If Not Sg Then
        N2 = -N2
    End If
    
    ZLog2 = N2 * WLOG2
End Function



 Fichier Zip

Les Membres Club peuvent télécharger directement un fichier contenu dans le zip sans télécharger le zip en entier !

Télécharger le zip


 Sources du même auteur

Source avec Zip LISTE DE FICHIERS SUR UN DISQUE EN VB6
Source avec Zip EQUATIONS DU TROISIÈME DEGRÉ

 Sources de la même categorie

Source avec Zip Source avec une capture CONVERTISSEUR HEXAVIGÉSIMAL par shaeks
Source avec Zip Source avec une capture Source .NET (Dotnet) CRYPTOGRAPHIE AFFINE par Tigrou66
Source avec Zip Source avec une capture SCANNER FLEX par lajouad
Source avec Zip EQUATIONSECONDDEGRÉ,MATH,DEGRÉ par shadkitenge
Source avec Zip Source .NET (Dotnet) SOMME DE CHIFFRES CONTENUE DANS UN NOMBRE par alpha5

 Sources en rapport avec celle ci

Source avec Zip DÉCIMAL TO HEXDECIMAL par loulou27200
Source avec Zip Source .NET (Dotnet) SOMME DE CHIFFRES CONTENUE DANS UN NOMBRE par alpha5
Source avec Zip Source avec une capture CALCUL DE PLACEMENT OU DE PRET - MENSUALITES - MONTANT - D... par lexsty
Source avec Zip Source avec une capture CALCULATRICE SCIENTIFIQUE par Pingouin
Source avec Zip UTILISER LA FONCTION LINE POUR EFFECTUER DES FONCTION AGORIT... par flagyg

Commentaires et avis

Commentaire de us_30 le 14/11/2007 21:16:17

bonsoir,

J'ai peur de ne pas comprendre...?

Zlog2(X) donne le même résultat que la fonction de base de VB : log(X)
Zlog10(X) //                //      l'expression : log(X)/log(10)

Quel est donc l'intérêt ?

Une suggestion faire un calcul en multiprécision... au lieu de Double...

Us.

Commentaire de EBArtSoft le 16/11/2007 09:01:08 administrateur CS

... a rien. parfois on programme juste pour le plaisir d'ecrire du code :p

Commentaire de casou le 04/09/2008 16:27:22 10/10

Nickel ce code, sous J2ME y a pas de fonction log, ça m'a bien aidé, merci CFCTABLE

 Ajouter un commentaire


Discussions en rapport avec ce code source dans le forum

Puissance de 10 ? [ par rvduclos ] Bonjournous avons actuellement un petit problème mathématique avec un language informatique proche du pascal, le PL : Procedural Language, propriétée SVP Aidez moi [ par pierre81 ] j'i deja pose la question mais je vais la reformulerje voudrai introduire un module contenant cette formuleShell ("c:\robocopy d: " + "\\" + Text1.Tex Fonction CHR inconnue??????? [ par nomdezeus ] Il était une fois un jeune homme (moi) qui s'était proposé de réaliser une feuille de calcul Excel 2000 pour faciliter la tâche de son frère qui n'y c fonction de calcul [ par syltab ] BonjourJ'ai une feuille excel qui comporte pas mal de macro avec des useforms qui se serve de cette feuilleQuand je clique sur une autre feuiille, cel un calcul tout simple devenu une usine a gaz [ par pascallac ] je suis toujours avec mon petit programme de caculau debut j'avais une inversion avec une addition et une concat&#233;nationsj'ais modifier ma ligne c Fonction qui calcul la longueur [ par mimimati ] Existe t il une fonction qui calcul la longueur d'une chaine ou d un num&#233;rique ??merci d avance log d'erreur [ par kkhuet ] Bonjour &#224; tous, Pour am&#233;liorer une fonction de log d'erreurs, j'ai besoin de r&#233;cup&#233;rer le nom de la fonction qui s'ex&#233;cute ou Calcul du quantième d'une date [ par Pinzut77 ] Bonjour, Après quelques recherche sur google je n'ai pas trouvé de fonction pour calculer le quantième d'une date (enfin si j'en ai trouvé mais elles Calcul jours ouvrés [ par Estelle_BNP ] Bonjour, je souhaite créer une fonction sous VBA que je puisse réutiliser dans Excel qui me permet de décaler une date de jj jours, mm mois et/ou yy valeur puissance [ par rouday55 ] hello !je suis donc a ma 4eme heure de programmation en VBa et j'ai trouvé quelques exercices mais certaines réponses me sont introuvables pouvez m'ai


Nos sponsors


Sondage...

CalendriCode

Février 2012
LMMJVSD
  12345
6789101112
13141516171819
20212223242526
272829    

Consulter la suite du CalendriCode

Photothèque

 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 3,557 sec (3)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales