Operateur factoriel(!) en visual basic

asavril Messages postés 5 Date d'inscription mardi 8 juin 2004 Statut Membre Dernière intervention 22 juin 2004 - 8 juin 2004 à 04:04
Renfield Messages postés 17287 Date d'inscription mercredi 2 janvier 2002 Statut Modérateur Dernière intervention 27 septembre 2021 - 6 juin 2011 à 09:31
coucou
je voudrai savoir s'il existe en vb l'operateur factoriel car j'en ai besoin pour calculer une equation et sinon comment faire?
merci beaucoup
anneso

8 réponses

HFanny Messages postés 699 Date d'inscription mercredi 19 février 2003 Statut Membre Dernière intervention 13 mai 2011 20
8 juin 2004 à 08:42
Bonjour,

voilà un petit exemple de comment faire :
Dim total As Integer
Dim rep As String
total = 1
rep = InputBox("Veuillez entrer un chiffre")

For i = 1 To CInt(rep)
total = total * i
Next i

MsgBox total


Je ne sais pas s'il existe une fonction, mais dans l'aide je n'en ai pas trouvé ...

Fanny
0
TheLordFreddy Messages postés 157 Date d'inscription mardi 9 décembre 2003 Statut Membre Dernière intervention 3 février 2005 2
8 juin 2004 à 08:53
slt,
ou tu pourai faire comme ca:

'la fonction
Public Function fact(a As Integer)
fact = 1
Do While a <> 1
fact = a * fact
a = a - 1
Loop
End Function

'aprés dans ton code tu poura faire ca par exemple

msgbox fact(3) 'est égal a 6 bien sur

a+

-------------------------------------------
Ne vous fiez pas à l'apparence...
0
Renfield Messages postés 17287 Date d'inscription mercredi 2 janvier 2002 Statut Modérateur Dernière intervention 27 septembre 2021 74
8 juin 2004 à 09:16
petite correction...

Public Function fact(ByVal a As Integer)
fact = 1
Do While a <> 1
fact = a * fact
a = a - 1
Loop
End Function


parce sinon, la fonction modifiera ton parametre a...
pour preuve, essaies le code ci-dessous (avec le code proposé par TheLordFreddy

Dim a as integer
a = 5

MsgBox "a = " & a
MsgBox "fact(a) = " & fact ( a )
MsgBox "a = " & a
0
TheLordFreddy Messages postés 157 Date d'inscription mardi 9 décembre 2003 Statut Membre Dernière intervention 3 février 2005 2
8 juin 2004 à 09:47
C cool Renfield je te remerci par ce que Byval jle mettai, jle mettai pas mais je ne savai pas tro a qoi ca servai voila maintenan je sai ;-)
-------------------------------------------
Ne vous fiez pas à l'apparence DU CODE
0

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

Posez votre question
asavril Messages postés 5 Date d'inscription mardi 8 juin 2004 Statut Membre Dernière intervention 22 juin 2004
9 juin 2004 à 00:35
le probleme est que je veux pouvoir effectuer des factoriels sur des grands nombre or les longs ne peuvent avoir que 12 chiffres au maximum.
Comment faire?
merciVotre texte ICI
0
Renfield Messages postés 17287 Date d'inscription mercredi 2 janvier 2002 Statut Modérateur Dernière intervention 27 septembre 2021 74
9 juin 2004 à 06:01
essaies les doubles...
0
DevLama Messages postés 356 Date d'inscription mercredi 13 avril 2011 Statut Membre Dernière intervention 18 novembre 2021 10
5 juin 2011 à 00:11
Selon mes recherches,il n'existe une commande pour cela donc voici les codes:
dim i as integer,n as integer
fact=1
n=val(text1.text)
if not isnumeric(n)then
msgbox "SVP saisissez en numerique entier"
text1=""
text1.setfocus
else
for i=1 to n
fact=fact*i
label1=fact

Attention! n'ose pas a déclarer le fact

D'après hornel Lama,etudiant de l'ISIPA Congo-kinshasa
Citattion:la partage des connaissance nous rends forts!!!!
0
Renfield Messages postés 17287 Date d'inscription mercredi 2 janvier 2002 Statut Modérateur Dernière intervention 27 septembre 2021 74
6 juin 2011 à 09:31
je ne suis pas d'accord avec :

n=val(text1.text)
if not isnumeric(n)then

ici, n sera forcément numérique...

faire plutot :

if isnumeric(text1.text)then 
    n=CInt(text1.text) 
Else
    n=val(text1.text) 
end if
...





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