Fonction recursive (plus simple)

Contenu du snippet

Pour ceux qui ne connaitraient pas du tout la récurrence, je leur met ce petit code qui illustre bien l'utilité des fonctions récursives.
Ce code permet de calculer la factorielle d'un nombre.
Vous avez besoin d'un bouton de commande et d'une textbox

Source / Exemple :


Option Explicit

' Pour ceux qui ne connaitraient pas le principe d'une factorielle,
' c'est de multiplier un chiffre par tous ses inférieurs .. par ex : factorielle
' de 5 = 5 * 4 * 3 * 2 * 1 donc = 120. Pour calculer ceci en informatique,
' on a besoin d'une fonction récursive (en l'occurence la fonction "Factorielle")
' qui s'appelle elle-même jusqu'à ce que le chiffre à calculer soit égal à zéro,
' sachant que factorielle de zéro = 1
'

Private Function Factorielle(p_Number As Integer) As Long
   If p_Number = 0 Then
      Factorielle = 1
   Else
      Factorielle = Factorielle(p_Number - 1) * p_Number
   End If
End Function

Private Sub Command1_Click()
   Dim Num As Integer
   Dim Fac As Long
   
   Num = Text1.Text
   Fac = Factorielle(Num)
   
   MsgBox "Factorielle (" & Num & ") = " & Fac, vbOKOnly, ":)"
End Sub

Private Sub Form_Load()
   Top = (Screen.Height - Form1.Height) / 2
   Left = (Screen.Width - Form1.Width) / 2
   Form1.Width = 3195
   Form1.Height = 2310
   Form1.Caption = "Calcul d'une factorielle"
   Command1.Width = 2175
   Command1.Height = 375
   Command1.Left = 480
   Command1.Top = 960
   Command1.Caption = "&Factorielle ?"
   Text1.Width = 2175
   Text1.Height = 285
   Text1.Left = 480
   Text1.Top = 360
   Text1.Text = "5"
End Sub

Conclusion :


Voila

A voir également

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.