rouday55
Messages postés40Date d'inscriptionjeudi 28 février 2008StatutMembreDernière intervention 8 décembre 2011
-
28 févr. 2008 à 23:44
NHenry
Messages postés15102Date d'inscriptionvendredi 14 mars 2003StatutModérateurDernière intervention27 mars 2024
-
29 févr. 2008 à 10:42
Bonsoir à tous,
Je suis tout nouveau ici!
Cela dit j'ai besoin de quelques petites aides. J'essaye de prendre de l'avance sur mes cours en VBA mais je rame un petit peu. C est un tout nouveau langage que je débutai il y a une semaine toute juste. J'essayais de faire un exercice sur la somme des n premiers termes d"une suite géométrique. En effet étant donnés un nombre x et un entier n >=0 trouver une definition qui renvoie la somme géometrique 1 + x + x^2 + x^3
Je pensais utiliser la formule de la somme (1-x^(n+1))/1 -x mais je ne vois pas comment y parvenir.
J'aimerais utiliser deux méthodes: itérative et récursive.
NHenry
Messages postés15102Date d'inscriptionvendredi 14 mars 2003StatutModérateurDernière intervention27 mars 2024159 29 févr. 2008 à 09:32
Bonjour
Pour la méthode réccurssive :
Public function GeoRecu(byval pIndex as long,byval pCoef as long) as long
if pindex=0 then
GeoRecu=1
else
GeoRecu= GeoRecur(pindex-1,pcoef)*pCoef
end if
end function
Pour la méthode itérattive :
Public function GeoIte(byval pIndex as long,byval pCoef as long) as long
Dim lRes as long
lRes=1
do while pindex>0
lres=lres*pcoef
pindex=pindex-1
loop
GeoIte=lres
end function
En espérant avoir répondu à ta question
Dans Word, j'Excel. (juste pour la citation)
VB (6, .NET1&2), C++, C#.Net1
NHenry
Messages postés15102Date d'inscriptionvendredi 14 mars 2003StatutModérateurDernière intervention27 mars 2024159 29 févr. 2008 à 10:42
Bonjour
Merci pour le terme, c'était raison le mot qui me manquait.
pIndex indique le nième élémentt de la liste (Le premier est 0 = 1)
pCoef est la raison
Pour la base, regarde les lignes suivantes :
- Récursive :
if pindex=0 then 'Index de base (si tu veux passer en base 1, remplace "=0" par "=1")
GeoRecu=1 'Valeur de départ
- Itérative :
lRes=1 'Valeur de départ
do while pindex>0 'Index de base (si tu veux passer en base 1, remplace ">0" par ">1")
Je n'ai pas mis la valeur de départ en, paramètre, mais c'est parfaitement faisable.
Dans Word, j'Excel. (juste pour la citation)
VB (6, .NET1&2), C++, C#.Net1