Themen

Aktuell
Kommentare
Forum
Newsletter
Archiv Lösungsvorschläge TNG-Soft
Idee
Über mich E-Mail

Die verschiedenen Schleifentypen

Author: TGGC

Grundsätzlich gibt es nur drei Schleifentypen:

  • Wiederholung mit vorangestelltem Test (Eingangsbedingung)
  • Wiederholung mit nachgestelltem Test (Abbruchbedingung)
  • Zählschleife

  • Wiederholung mit vorangestelltem Test (Eingangsbedingung)

    Bei dieser Schleife wird vor jedem, also auch vor dem ersten, Schleifendurchlauf die Bedingung geprüft. Das bedeutet das die Schleife nie durchlaufen wird, wenn die Bedingung am Beginn der Schleife nicht erfüllt ist, sondern dann das Programm die Schleife überspringt.
    Das kann z.B. nützlich sein beim ausrechnen de nten Gliedes einer Folge. Die Schleife wird bei einer negativen Zahl nicht gestartet, und bei einer einer positiven Zahl solange heruntergezählt bis diese gleich null ist.

    Wiederholung mit nachgestelltem Test (Abbruchbedingung)

    Bei dieser Schleife wird die Bedingung immer erst nach dem Schleifendurchlauf getestet. Das heisst das die Schleife auf jeden Fall mindestens einmal durchlaufen wird, ohne Rücksicht auf die Bedingung. Diese Schleife ist der ersteren sehr ähnlich, nur das sie im Endeffekt einmal mal durchlaufen wird.
    Diese Schleife ist z.B. in Suchalgorithem anwendbar, wenn in der Bedingung getestet wird ob das Suche schon erfolgreich war. So vermeidet man das die Schleife gar nicht erst gestartet wird, weil die Variable schon vor der Suche auf "gefunden" stand. Sie wird dann im ersten Durchgang auf "nicht gefunden" gestellt.

    Zählschleife

    Bei dieser Schleife wird von vornherein festgelegt, wie oft die Schleife zu durchlaufen ist. Darum ist dieser Schleifentyp am einfachsten zu beherrschen, ausserdem ist es nicht möglich eine Endlosschleif zu erzeugen, wenn man eine sinnvolle Bedingung wählt und die Zählervariable nicht manipuliert. Das macht diese Schleife natürlich ziemlich unflexibel.
    Diese Schleife sollte immer benutzt werden, wenn die Zahl der Schleifendurchläufe bekannt ist. Es ist zwar möglich durch Manipulation der Zählervariable oder durch einen direkten Abbruch in der Schleife, dieses Limit zu überwinden. Jedoch wird ein solches Vorgehen nicht nur als schlechter Programmierstil angesehen, sondern ist meistens auch nicht so schnell wie die ersten beiden Typen.