Calcule de puissance par la boucle for..next [Résolu]

Signaler
Messages postés
33
Date d'inscription
samedi 16 février 2008
Statut
Membre
Dernière intervention
11 mai 2011
-
Messages postés
33
Date d'inscription
samedi 16 février 2008
Statut
Membre
Dernière intervention
11 mai 2011
-
salut!
j'ai un axercice de vb6 alor puiske chui une débutante je demande votre aide.^^
 lexercice c com suit on doit faire un form ki est sensé por calculer des puissance bah voilà mon codes mai ça ne marche po b1 je sai pk si ya kelk1 ki vx m'aider :

Private Sub Command1_Click()
Dim x, n, i, xn As Integer

x = Text1.Text
n = Text2.Text
xn = 1

For i = 1 To n Step x
    xn = i * xn
Next

Text3.Text = xn
End Sub

Private Sub Command2_Click()
Unload Me
End Sub

et merci à priori

8 réponses

Messages postés
3877
Date d'inscription
mardi 19 mars 2002
Statut
Membre
Dernière intervention
23 août 2018
18
Salut,
Regarde le point 3 ICI

MPi²
Pour ceux qui programment sous Office, n'oubliez pas qu'il existe un forum dédié à ces applications VBA....... ICI
Messages postés
50
Date d'inscription
mercredi 4 août 2004
Statut
Membre
Dernière intervention
12 mai 2008

Bonsoir

dim x as integer
dim puissance as integer '(avec Puissance >0)
dim i as integer

for i=1 to (puissance-1) step 1
x=x*x
next i

ou quelque chose comme ça??
Messages postés
7393
Date d'inscription
mercredi 23 avril 2003
Statut
Membre
Dernière intervention
6 avril 2012
57
Salut,
Horrible ce langage SMS....
Faudrait inventer un langage de prog avec, tellement c'est inintelligible

@+: Ju£i?n
Pensez: Réponse acceptée
Messages postés
33
Date d'inscription
samedi 16 février 2008
Statut
Membre
Dernière intervention
11 mai 2011
2
 salut
mr MPi² pardon mais vraiment j'ai pas fais attention à ce point
mr le grand zorro ton code ne marche pas mais merci de toutes façons
Messages postés
50
Date d'inscription
mercredi 4 août 2004
Statut
Membre
Dernière intervention
12 mai 2008

Oui exacte, J'ai pas réfléchi assez c'est plutôt ça :

        Dim i As Integer
        Dim MonX As Integer ' avec MonX à la puissance MaPuissance
        dim MaPuissance as integer
        Dim Resultat As Integer
        Resultat = MonX
        For i = 1 To (MaPuissance - 1) Step 1
            Resultat = MonX * Resultat
        Next i
  
Messages postés
33
Date d'inscription
samedi 16 février 2008
Statut
Membre
Dernière intervention
11 mai 2011
2
merci le grang zorro mais ce code aussi ne marche pas
voilà j'ai pu trouvé la solution et voilà le  correct code :

Private Sub Command1_Click()
Dim x, n, xn, i As Integer

x = Text1.Text
n = Text2.Text
xn = 1

If n < 0 Then

n = Abs(n)
 
  For i = 1 To n
      xn = x * xn
  Next

  xn = 1 / xn
 
  Text3.Text = xn

Else

  For i = 1 To n
      xn = x * xn
  Next

  Text3.Text = xn

End If
End Sub

Private Sub Command2_Click()
Unload Me
End Sub

en tous cas merci pour votre aide.
Messages postés
3877
Date d'inscription
mardi 19 mars 2002
Statut
Membre
Dernière intervention
23 août 2018
18
Quand tu déclares ainsi
Dim x, n, xn, i As Integer
seul i est Integer. Les autres variables sont Variant.
Habitue-toi à déclarer le type pour chaque variable.

Dim x As Integer, n As Integer, xn As Integer, i As Integer

Et comme tu travailles avec des puissances, tu peux facilement te retrouver avec de gros nombres... Il serait peut-être préférable d'utiliser des Long plutôt que des Integer.

MPi²
Pour ceux qui programment sous Office, n'oubliez pas qu'il existe un forum dédié à ces applications VBA....... ICI
Messages postés
33
Date d'inscription
samedi 16 février 2008
Statut
Membre
Dernière intervention
11 mai 2011
2
merci pour le conseil
mais pour la deuxiéme remarque il faut que tu sache que les types de variables sont imposés dans l'innoncé de l'exercice c'est pourquoi je les ai utilisés.
et merci deuxiéme fois.