Fibonacci en VBA (3méthodes)

Résolu
VBA_Newb Messages postés 4 Date d'inscription   Statut Membre Dernière intervention   -  
VBA_Newb Messages postés 4 Date d'inscription   Statut Membre Dernière intervention   -
Bonjour,
En mathématique, la suite de Fibonacci est définie comme suit :
Fibonacci(n) = 1 si n = 1 ou 2
= Fibonacci(n-1) + Fibonacci(n-2) si n>=3
Il existe un algorithme itératif pour fibonacci(n) comme suit :

initialiser la valeur de fibo à 0
initialiser i à 1

on répète n fois les 2 instructions suivantes :

fibo = fibo + i
i = fibo - i;

après n itérations, le résultat de fibonacci(n) est dans fibo.

Écrivez 3 fonctions, recevant la valeur de n pour calculer fibonacci de n:

1) en utilisant la boucle for…next
2) en utilisant la boucle while …
3) en utilisant la boucle do … Loop while …

j'aimerais écrire ces trois fonctions en suivant les instructions mentionnés plus haut. Si quelqu'un pourrait répondre à au moins une de ces trois là, ce serait très apprécier

merci

2 réponses

wilfried_42 Messages postés 907 Date d'inscription   Statut Contributeur Dernière intervention   245
 
Bonjour

En fonction de ce que j'ai compris

Function fibo_fn (n as long) as long
    dim fibo as long
    dim i as long
    dim j as long
    fibo = 0 : i = 1
    for j = 1 to n
         fibo = fibo + i
         i = fibo - i
    next i
    fibo_fn = fibo
end function 

Function fibo_while (n as long) as long
    dim fibo as long
    dim i as long
    dim j as long
    fibo = 0 : i = 1 : j = 0
    While j< n
         fibo = fibo + i
         i = fibo - i
         j = j + 1
    wend
    fibo_While = fibo
end function 

Function fibo_do (n as long) as long
    dim fibo as long
    dim i as long
    dim j as long
    fibo = 0 : i = 1 : j = 0
    Do
         fibo = fibo + i
         i = fibo - i
         j = j + 1
    loop while j<n
    fibo_do = fibo
end function 
9