Robot Karol/Beispiele für Verzweigungen
Beispielaufgabe für die Verzweigung
Karol soll eine beliebig große zusammenhängende Fläche „mähen“, also alle Ziegel einsammeln. Wir gehen davon aus, dass die Ziegel immer einschichtig liegen.
oben sieht man das Struktogramm für die Lösung unserer Aufgabe.
Wenn man will, kann man Karol noch eine Aufgabe geben, die er tun soll, wenn die Aussage falsch ist, jedoch ist dies für unsere Aufgabe zwecklos.
Auf diesem Bild sieht man die Ausgangsstellung unseres Programms. Diese ist grundlegend, damit das Programm funktioniert. Es darf nur die Größe des rechteckigen Vierecks abweichen!
Der Roboter läuft nun in Schneckenform ringsherum und sammelt alle Ziegel ein.
Karol hat alle Ziegel eingesammelt und bleibt an Ort und Stelle stehen.
Hier ein weiteres Beispiel:
Karol soll nun von einer Seite auf die andere Seite gehen und alle Ziegel auf seinem Weg einsammeln.
Hauptprogramm
Nun muss man Karol eine Aufgaben geben die er tun soll wenn die Aussage nicht zutrifft, wie man dem Hauptprogramm entnehmen kann.
Die ersten Schritte kann Karol ungehindert durchführen.
Hier trifft die Aussage nicht zu, deshalb führt Karol den zweiten Teil der Verzweigung aus den wir vorher eingegeben haben.
-> Folglich hebt Karol den Ziegel auf und macht danach den Schritt.
Karol hat nun alle Ziegel aufgehoben und ist auf der anderen Seite angelangt.
-> Karol hat die Aufgabe erfüllt.