BuK/IIm21/LOOP, WHILE, GOTO Umwandlungen
Aus ProgrammingWiki
Wiki-Quelltext dieser Seite.
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: