Exkurs - Bausteine von Algorithmus
Problem - Ziegel einsammeln
Ein Roboter solle alle Ziegel, die auf dem Weg zur nächsten Wand liegen, einsammeln und zurück zur Ausgangsposition laufen. Wir setzen hier voraus, dass Ziegel immer nur einzeln (also nicht aufeinanderliegend) vorkommen.


Dieses Problem lässt sich mit dem folgenden Algorithmus lösen:
solange NichtIstWand tue
wenn IstZiegel dann
Aufheben
Schritt
sonst
Schritt
*wenn
*solange
RechtsDrehen
RechtsDrehen
solange NichtIstWand tue
Schritt
*solange
RechtsDrehen
RechtsDrehen
Algorithmen werden aus Anweisungen aufgebaut. Das Beispiel oben zeigt, dass dabei verschiedene Anweisungstypen benutzt werden.
Elementaranweisungen
Elementaranweisungen sind Anweisungen, die als Basisaktionen des Prozessors angesehen werden können.
Im vorliegenden Fall gehört z.B. die Anweisung Schritt
zu diesen Elementaranweisungen.
Kontrollanweisungen
Kontrollanweisungen sind Anweisungen, deren Aufgabe es ist, die Ablauflogik festzulegen. Hierzu gehören Anweisungen zur Beschreibung von Wiederholungen, Fallunterscheidungen und zur Sequenzbildung.
Im vorliegenden Fall ist die Anweisung solange BED tue ANW *solange
eine
Kontrollanweisung, mit der man eine Wiederholung festlegt.
Beachte, dass eine Sequenz von Anweisungen im Beispiel oben einfach durch eine Aneinanderreihung
der entsprechenden Anweisungen entsteht.
Aufgabe 1
Der Roboter soll alle Ziegel auf dem Weg zur nächsten Wand einsammeln, sie jeweils zurück zur Ausgangsposition bringen und dort als Ziegelturm stapeln.
Entwickle einen geeigneten Algorithmus zur Lösung des Problems. Verdeutliche anhand des Algorithmus die verschiedenen Anweisungstypen.