Somme des n premiers entiers.

illusionsgraphix Messages postés 3 Date d'inscription mercredi 17 mars 2010 Statut Membre Dernière intervention 17 mars 2010 - 17 mars 2010 à 11:20
Renfield Messages postés 17287 Date d'inscription mercredi 2 janvier 2002 Statut Modérateur Dernière intervention 27 septembre 2021 - 17 mars 2010 à 23:45
Bonjour,
j'ai un exercice en VBA à faire mais je ne comprends pas du tout comment faire :s
Pouvez-vous m'aider ?

voici l'exo :

"Écrivez un programme qui calcule la somme des entiers compris entre 1 et n (inclus) en utilisant la formule n(n+1)/2."

Ce que je ne comprends pas c'est qu'à mon avis, il faut utiliser une boucle ( vu qu'on ne connait pas le nombre d'itérations)
mais nous ne les avons pas encore appris ...
Comment faire ?
Voici le début de mon programme :

Option Explicit
'Cette macro calcule la somme des entiers compris entre 1 et n (inclus).
Sub sommeNombEntiers()
Dim n As Integer


End Sub


merci d'avance.
A voir également:

9 réponses

Renfield Messages postés 17287 Date d'inscription mercredi 2 janvier 2002 Statut Modérateur Dernière intervention 27 septembre 2021 74
17 mars 2010 à 15:42
recursivité, si, car apparemement notre ami n'a pas appris les boucles...

pour blinder le truc, fais les deux versions ^^

Renfield - Admin CodeS-SourceS - MVP Visual Basic & Spécialiste des RegExp
1
Renfield Messages postés 17287 Date d'inscription mercredi 2 janvier 2002 Statut Modérateur Dernière intervention 27 septembre 2021 74
17 mars 2010 à 11:47
les boucles, non, pas forcément (ce serait le plus efficace)
je pense qu'ici on cherche a TE faire travailler la recursivité

Renfield - Admin CodeS-SourceS - MVP Visual Basic
0
illusionsgraphix Messages postés 3 Date d'inscription mercredi 17 mars 2010 Statut Membre Dernière intervention 17 mars 2010
17 mars 2010 à 11:54
Merci de votre réponse
mais ce que je ne comprend pas c'est que l'on ne peut pas répéter n fois l'instruction ! Vu qu'on ne connait pas n ...

Nous avons fait un exercice où n était déterminer et où il fallait le changer et transformer le programme en fonction de n ..
Ca j'ai compris mais je n'arrive pas à l'appliquer à cet exo .. .
0
Renfield Messages postés 17287 Date d'inscription mercredi 2 janvier 2002 Statut Modérateur Dernière intervention 27 septembre 2021 74
17 mars 2010 à 12:18
Comment cela "on ne connait pas n"

ben, si, c'est un parametre de la fonction

si on donne n = 5
tu calcule la somme des 5 premiers entiers

Renfield - Admin CodeS-SourceS - MVP Visual Basic
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
Utilisateur anonyme
17 mars 2010 à 15:20
Bonjour, soit je n'ai pas compris soit ..., il n'y a pas de recursivité à appliquer, c'est une formule mathematiques (1+2+3+4+...+(n-1)+n = n*(n-1)/2), après pour codifier ce n'est pas compliqué...

http://www.les-suites.fr/somme-des-n-premiers-entiers.htm
0
Utilisateur anonyme
17 mars 2010 à 16:54
En supposant que 'n' est saisie dans la cellule A1 et que l'on mette le resultat dans la cellule A2 :

Option Explicit
'Cette macro calcule la somme des entiers compris entre 1 et n (inclus).
Sub sommeNombEntiers()
Dim n As Integer

n = Cells(1, 1)
Cells(1, 2) = n * (n + 1) / 2
End Sub

Voilà...
0
Renfield Messages postés 17287 Date d'inscription mercredi 2 janvier 2002 Statut Modérateur Dernière intervention 27 septembre 2021 74
17 mars 2010 à 17:03
je connaissais pas cette formule, bien qu'ecrite dans le premier post.


du coup, j'avoue ne pas comprendre l'interet de l'exercice et encore moins la raison qui peu pousser quelqu'un a demander de l'aide, la solution etant dans l'énoncé..

Renfield - Admin CodeS-SourceS - MVP Visual Basic & Spécialiste des RegExp
0
illusionsgraphix Messages postés 3 Date d'inscription mercredi 17 mars 2010 Statut Membre Dernière intervention 17 mars 2010
17 mars 2010 à 17:29
je sais que la formule est dans l'énoncé.
mais le problème, c'est que ,ayant des cours algo & programmation en C, envoyant cet exo je pensais demander à l'tulisateur un entier n et faire une boucle For (pour)
Mais nous n'avons pas appris ca en VBA
et je ne sais pas ce qu'est la récursivité et comment on l'utilise ...
0
Renfield Messages postés 17287 Date d'inscription mercredi 2 janvier 2002 Statut Modérateur Dernière intervention 27 septembre 2021 74
17 mars 2010 à 23:45
je ne te suis vraiment pas, la...

somme des 5 premiers entiers :

1+2+3+4+5 = 15

en prenant n = 5 et en utilisant :

n * (n + 1) / 2

on a bien

5 * (5 + 1) / 2
5 * 6 / 2
5 * 3
15

je ne vois donc pas ce que vient faire une boucle là dedans...

Renfield - Admin CodeS-SourceS - MVP Visual Basic & Spécialiste des RegExp
0
Rejoignez-nous