Fonctions de Fibonacci et de Lucas

Sous programmes Visual Basic


    Le sous programme FIBO_R calcule les nombres de Fibonacci d'indices entiers ou réels supérieurs à 14, l'erreur relative diminuant quand l'indice croît. Voir Du triangle de Pascal à la "fonction" de Fibonacci réelle

Public Function FIBO_R(N)
FIBO_R = 0
For J = -5 To N / 2 + 5 Step 0.25
     I = N - 1 - J
     K = I - J
     FIBO_R = FIBO_R + GAMMA(I) / (GAMMA(K) * GAMMA(J))
Next J
FIBO_R = FIBO_R / 4
End Function


    Le sous programme GAMMA calcule la fonction Gamma

Public Function GAMMA(Relais)
X = Relais
FM = 1
' Nombres inférieurs à -0.5
If X < -0.5 Then
     I = -Fix(X)
     For J = 0 To I + 1
          X = X + 1
          FM = FM * X
     Next J
End If
' Nombres supérieurs à 1
If X > 1 Then
     I = Fix(X)
     For J = 0 To I - 1
          FM = FM / X
          X = X - 1
     Next J
End If
' Intégration par la méthode des trapèzes
Pas2 = 0.05
GAMMA = 0
For T = 0 To 2 Step Pas2
     GAMMA = GAMMA + (Exp(-T ^ 8) * T ^ (8 * X 7))
Next T
If FM <> 0 Then GAMMA = 8 * GAMMA * Pas2 / FM Else GAMMA = 1E+50
End Function