LOOP, WHILE, GOTO Umwandlungen

Aus ProgrammingWiki
Archivierte Version vom 2022-05-30T15:49:39+00:00. Aktuelle Version

LOOP-Programm Grundstruktur:

LOOP (Zählwariable) DO (Anweisung) END

Erklärung:

Die Zählvariable gibt an, wie oft die Anweisung wiederholt werden soll. Die Anweisung kann ein anderes LOOP-Programm (z.B. eine Wertzuweisung) beschreiben.

Beispiel:

x0 := 2; x1 := 1; LOOP x0 DO x1 := x1 + 1 END

->> Führe zwei mal (Wert von Zählvariable x0) durch, dass der Variable x1 die Summe der Variable x1 und der Konstante 1 zugewiesen wird.

WHILE-Programm Grundstruktur:

WHILE (Abbruchbedingung) DO (Anweisung) END

Erklärung:

Solange die Abbruchsbedingung nicht erfüllt ist, soll die Anweisung wiederholt werden. Achtung: Wenn das Erzeugen einer Endlosschleife nicht geplant ist, muss sichergestellt werden, dass die Abbruchsbedingung in der Anweisung erreicht werden kann.

Beispiel:

x0 := 2; WHILE x0 <> 0 DO x1 := x1 + 1; x0 := x0 - 1 END

->> Führe durch solange der Wert der Variable x0 ungleich 0 ist, dass der Variable x1 die Summe der Variable x1 und der Konstante 1 zugewiesen wird und der Variable x0 die Differenz der Variable x0 und der Konstante 1 zugewiesen wird.


GOTO-Programm Grundstruktur:

GOTO (Marker) (Marker) : (Anweisung)

Erklärung:

Springe zum angewiesenen Marker und führe die dort beschriebene Anweisung durch.

Beispiel:

M3: GOTO M2; M1: x0 := 1; M2: x0 := 2;

->> Springe zum Merker M2 und weise der Variable x0 den Wert zwei zu.


Umwandlung LOOP zu WHILE:

LOOP-Programm: LOOP xj DO P END;

Entsprechendes WHILE-Programm: xi := xj; WHILE Xi <> 0 DO xi:= xi - 1; P END

Erklärung: Weise einer Variablen xi den Wert der Zählvariablen xj zu. Setze die Abbruchsbedingung für das WHILE-Programm als xi ungleich 0. Als Anwendung setze eine Sequenz aus der Dekrementierung von xi um 1 und der Anweisung aus dem LOOP-Programm.


Umwandlung WHILE zu GOTO

WHILE-Programm: WHILE xi <> 0 DO P END;

Entsprechendes GOTO-Programm: