Calcule de puissance par la boucle for..next

Résolu
khedidija Messages postés 33 Date d'inscription samedi 16 février 2008 Statut Membre Dernière intervention 11 mai 2011 - 26 mars 2008 à 22:13
khedidija Messages postés 33 Date d'inscription samedi 16 février 2008 Statut Membre Dernière intervention 11 mai 2011 - 30 mars 2008 à 17:53
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

cs_MPi Messages postés 3877 Date d'inscription mardi 19 mars 2002 Statut Membre Dernière intervention 17 août 2018 23
26 mars 2008 à 22:40
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
3
Le grand Zorro Messages postés 50 Date d'inscription mercredi 4 août 2004 Statut Membre Dernière intervention 12 mai 2008
27 mars 2008 à 00:13
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??
0
jrivet Messages postés 7392 Date d'inscription mercredi 23 avril 2003 Statut Membre Dernière intervention 6 avril 2012 60
27 mars 2008 à 08:24
Salut,
Horrible ce langage SMS....
Faudrait inventer un langage de prog avec, tellement c'est inintelligible

@+: Ju£i?n
Pensez: Réponse acceptée
0
khedidija Messages postés 33 Date d'inscription samedi 16 février 2008 Statut Membre Dernière intervention 11 mai 2011 2
27 mars 2008 à 16:35
 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
0

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

Posez votre question
Le grand Zorro Messages postés 50 Date d'inscription mercredi 4 août 2004 Statut Membre Dernière intervention 12 mai 2008
27 mars 2008 à 19:33
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
  
0
khedidija Messages postés 33 Date d'inscription samedi 16 février 2008 Statut Membre Dernière intervention 11 mai 2011 2
30 mars 2008 à 00:25
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.
0
cs_MPi Messages postés 3877 Date d'inscription mardi 19 mars 2002 Statut Membre Dernière intervention 17 août 2018 23
30 mars 2008 à 00:50
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
0
khedidija Messages postés 33 Date d'inscription samedi 16 février 2008 Statut Membre Dernière intervention 11 mai 2011 2
30 mars 2008 à 17:53
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.
0
Rejoignez-nous