Schleifen
  • 01 Jul 2024
  • 2 Minutes to read
  • Dark
    Light
  • PDF

Schleifen

  • Dark
    Light
  • PDF

The content is currently unavailable in English. You are viewing the default German version.
Article summary

Eine Schleife ist eine Kontrollstruktur in Programmiersprachen. Sie wiederholt einen Anweisungs-Block – den sogenannten Schleifenrumpf oder Schleifenkörper – solange die Schleifenbedingung als Laufbedingung gültig bleibt bzw. als Abbruchbedingung nicht eintritt. Schleifen, deren Schleifenbedingung immer zur Fortsetzung führt oder die keine Schleifenbedingung haben, sind Endlosschleifen.

FOR Schleife

Führt eine oder mehrere Anweisungen wiederholt durch, abhängig von einer Variablen, die die Anzahl der Durchläufe beinhaltet.

Syntax:

ZählVar1 = 0

FOR ZählVar1 = Anfangswert TO Endwert [ STEP Inkrement ] DO BEGIN

Anweisung1

Anweisung2

END

ZählVar1 ist die Variable, die bei jedem Durchlauf um eine bestimmte Schrittweite erhöht wird. Diese Schrittweite ist standardmäßig 1. Anfangswert ist der Wert, den die Zähl-variable vor dem ersten Durchlauf als Startwert erhält.

Der Anfangswert kann eine Konstante oder ein Ausdruck sein. Endwert ist der letzte Wert der Zähl-variablen. Wenn dieser Wert erreicht ist, wird der letzte Durchlauf gestartet. Der Endwert kann eine Konstante oder ein Ausdruck sein.

Inkrement ist die Schrittweite, um welche die Zähl-variable bei jedem Durchlauf erhöht wird. Sie ist immer 1, wenn sie nicht ausdrücklich angegeben wird. Das Inkrement kann eine Konstante oder ein Ausdruck sein. Ist sein Wert 0, so wird die Schleife nur einmal durchlaufen.

Beispiel:

FOR a = 0 TO 20 STEP 3 DO BEGIN ! bei Schrittweite = 3 kann 20 nicht exakt erreicht werden

RUN RechneEtwas(a)

PRINT a

END

! die Ausgabe lautet: 0, 3, 6, 9, 12, 15, 18

! beim letzten Schritt wird 18 + 3 = 21 noch ausgeführt,

! aber weil 21 > 20 wird die Verarbeitung beendet

! a enthält jetzt den Wert 21

WHILE-Schleife

Die vorprüfende oder kopfgesteuerte Schleife. Bei dieser Schleife wird eine Bedingung geprüft, mit der vorher entschieden wird, ob der Schleifenrumpf (Schleifeninhalt) ausgeführt wird.

Syntax:

WHILE Bedingung DO BEGIN

Befehl1

Befehl2

END

Befehl1, Befehl2, etc. sind Anweisungen, die solange ausgeführt werden, solange die Bedingung erfüllt ist. Bedingung ist ein logischer Ausdruck (z.B. Vergleich), der am Beginn jedes Schleifendurchlaufs geprüft wird. Ist sie erfüllt, so wird die Verarbeitung der Schleife fortgesetzt.

Die WHILE-Anweisung ist eine abweisende Schleifenoperation, d.h. sie wird kein einziges Mal durchlaufen, wenn die Bedingung bereits vor dem ersten Durchlauf erfüllt ist, da diese ja bereits vor dem Eintritt in die Schleife geprüft wird.

Beispiel für eine richtige While-Schleife:

a = 20

WHILE a >= 0 DO BEGIN

RUN RechneEtwas(a)

a = a - 1

END

Beispiel für Endlos While-Schleife:

a = 10

WHILE a > 0 DO BEGIN ! a ist immer positiv

a = a + 1 ! a wird immer um 1 erhöht

PRINT a

END

REPEAT Schleife

Die nachprüfende oder fußgesteuerte Schleife. Diese führt eine oder mehrere Anweisungen wiederholt durch, abhängig von einer Abbruch-Bedingung, die nach jedem Schleifendurchlauf geprüft wird.

Die REPEAT-Anweisung ist eine nicht abweisende Schleifenoperation, d.h. sie wird in jedem Fall mindestens einmal durchlaufen, auch wenn die Abbruch-Bedingung bereits beim ersten Durchlauf erfüllt ist, da diese ja erst am Ende der Schleife geprüft wird.

Syntax:

REPEAT

Befehl1

Befehl2

UNTIL Bedingung

Beispiel für eine richtige Repeat-Schleife:

a = 20

REPEAT

RUN RechneEtwas(a)

a = a - 1

UNTIL a < 0

Beispiel für Endlos-Repeat-Schleife:

a = 10

REPEAT

a = a + 1 ! a wird immer um 1 erhöht

PRINT a

UNTIL a < 0 ! a ist niemals negativ


Was this article helpful?