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.

Welt - vorherWelt - nachher

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 Sequenzen 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.

X

Fehler melden

X

Suche