VBA - REKURSIVE PROGRAMMIERUNG
' Rekursions-Beispiele
Option Explicit
' den Aufruf einer rekursiven Prozedur testen
Public Sub TestFakultaet()
Debug.Print Fakultaet(5)
End Sub
' rekursive Prozedur zur Berechnung der Fakultät von x
Function Fakultaet(x)
If x <= 1 Then
Fakultaet = 1
Else
Fakultaet = x * Fakultaet(x - 1)
End If
'Fakultaet = IIf(x <= 1, 1, x * Fakultaet(x - 1)) ' funktioniert nicht
End Function
Public Function FLAECHE_GESAMT_REKURSIV(Typ As String, HOEHE, BREITE, LAENGE As Single) As Single
Typ =ucase(Typ ) ' Großschreibung forcieren
Select Case Typ
Case "WAND", "WÄNDE"
FLAECHE_GESAMT_REKURSIV = (HOEHE * (BREITE + LAENGE) * 2)
Case "BODEN", "FUSSBODEN", "FUßBODEN", "DECKE"
FLAECHE_GESAMT_REKURSIV = BREITE * LAENGE
Case "GESAMT"
FLAECHE_GESAMT_REKURSIV = _
FLAECHE_GESAMT_REKURSIV("BODEN", HOEHE, BREITE, LAENGE) * 2 + _
FLAECHE_GESAMT_REKURSIV("WAND", HOEHE, BREITE, LAENGE)
End Select
End Function