10.3 Wiederholungen – Iteration

Müssen Anweisungen oder eine Folge von Anweisungen in einem Anweisungsblock wiederholt ausgeführt werden, dann können Sie die folgenden, ausgewählten Kontrollstrukturen einsetzen, die in diesem Kapitel beschrieben werden. In der Aufzählung finden Sie nur die verkürzten, synonymen Beschreibungen.

Die Kontrollstrukturen werden als Wiederholung, Iteration, Schleife oder Loop bezeichnet.

Beispiel für den Einsatz von 3 unterschiedlichen Kontrollstrukturen (WHILE … WEND, FOR … TO … STEP … NEXT und FOR EACH … IN … NEXT) in einer Funktion:

Private Function IsPolynomial(sInput As String) As Boolean
  Dim sPattern, sTerm As String
  Dim aResult, aTmp As New String[]
  Dim iI, iJ As Integer
  Dim sExpression As String
 
  sInput = Trim(sInput)
  sInput = Replace$(sInput, Left$(Format$(0, ".0")), ".")
  aResult = Split(sInput, "+", "", True)
 
  iI = 0
  While iI < aResult.Count
    sExpression = IIf(aResult[iI] Not Begins "-", "+", "") & aResult[iI]
    aResult.Remove(iI)
    aTmp = Split(sExpression, "-", "", True)
    For iJ = 0 To aTmp.Max Step 1
      aTmp[iJ] = IIf(aTmp[iJ] Not Begins "+", "-", "") & aTmp[iJ]
    Next ' iJ
    aResult.Insert(aTmp, iI)
    iI += aTmp.Count
  Wend
 
  sPattern = "^[+-]?([0-9]+(\\.[0-9]+)?)?(x([\\^][0-9]+)?)?$"
 
  For Each sTerm In aResult
    If sTerm Not Match sPattern Then
       Return False
    Endif ' Match Pattern
  Next ' sTerm
 
  Return True
 
End ' Function IsPolynomial(sInput As String) As Boolean

Download