Bausteine von Algorithmen
Anweisungen als Bausteine von Algorithmen
Algorithmen werden (oft) aus Anweisungen aufgebaut.
Wir betrachten noch einmal den Algorithmus zur Suche eines Power-ups.
SOLANGE nicht auf einem Power-up:
WENN vor einem Asteroid:
links drehen
Feld weiterfliegen
rechts drehen
Feld weiterfliegen
SOLANGE rechts ein Asteroid:
Feld weiterfliegen
rechts drehen
Feld weiterfliegen
links drehen
SONST:
Feld weiterfliegen
Power-up aufheben
Dieser Algorithmus ist aus zahlreichen elementaren Anweisungen (wie z.B. "Feld weiterfliegen"), einer Entscheidungsanweisung sowie zwei Wiederholungsanweisungen aufgebaut.
Struktogramme
Besonders deutlich werden die Bausteine, wenn man Algorithmen mit einer Bildsprache - den sogenannten Struktogrammen - beschreibt.
Als Bausteine werden die folgenden Bildsymbole benutzt.
Elementare Anweisung:
Fallunterscheidung:
Wiederholung:
Die folgende Abbildung verdeutlicht noch einmal, wie mit Hilfe der Bildsymbole ein komplexer Ablauf beschrieben wird.
Elementaren Anweisungen sind hier gelb, Entscheidungsanweisungen grün und Wiederholungsanweisungen rot eingefärbt.
Die verschiedenen Anweisungen müssen auf geeignete Weise zusammengesetzt werden, um einen komplizierten Ablauf zu beschreiben. Man benutzt hierzu zwei Bauprinzipien.
Die einfachste Form der Zusammensetzung ist die (Hintereinander-) Reihung von Anweisungen.
In der Abbildung sind 4 elementare Anweisungen, eine Wiederholungsanweisung und 3 weitere elementare Anweisungen hintereinandergereit. Die Ausführung solcher gereihten Anweisungen erfolgt natürlich der Reihe nach.
Bei komplexen Anweisungen werden Anweisungen geschachtelt. Dabei können beliebig komplizierte Schachtelungsstrukturen gebildet werden.
Die Abbildung zeigt eine Schachtelung, bei der eine elementare Anweisung Teil einer Wiederholungsanweisung ist, die selbst Teil einer Entscheidungsanweisung ist, die ihrerseits wiederum Teil einer Wiederholungsanweisung ist.
Beachte, dass die Ausführung ineinandergeschachtelter Anweisungen im Fall von Entscheidungs- und Wiederholungsanweisungen mit Hilfe von Bedingungen geregelt wird.