Logo des digitalen Schulbuchs inf-schule.de. Schriftzug in Zustandsübergangsdiagramm eines endlichen Automaten.

Exkurs - Darstellung von Algorithmus

Problem - Ziegel einsammeln

Wir betrachten weiterhin das folgende Problem: Ein Roboter soll 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 - vorher Welt - nachher

Es gibt eine Reihe von Möglichkeiten, einen Algorithmus zur Lösung des Problems zu formulieren.

Algorithmus - dargestellt in der Umgangssprache

Umgangssprachlich formulierte Algorithmen versuchen, die Idee eines Algorithmus zu beschreiben, ohne strenge Formalien in der Darstellung zu beachten.

Solange die Wand noch nicht erreicht ist, tue Folgendes:
Wenn ein Ziegel im Weg liegt, 
dann hebe ihn auf und gehen einen Schritt weiter.
Ansonsten gehe direkt einen Schritt weiter.
Drehe dich um 180° Grad.
Solange die Wand noch nicht erreicht ist, gehe einen Schritt weiter.
Drehe dich um 180° Grad.

Algorithmus - dargestellt in einer (Pseudo-)Programmiersprache

Algorithmen, die in einer Programmiersprache verfasst sind, können direkt getestet werden (sofern ein Ausführsystem für die Programmiersprache bereitsteht).

solange NichtIstWand tue
    wenn IstZiegel dann
        Aufheben
        Schritt
    sonst
        Schritt
    *wenn
*solange
RechtsDrehen
RechtsDrehen
solange NichtIstWand tue
    Schritt
*solange
RechtsDrehen
RechtsDrehen

Häufig formuliert man Algorithmen auch in einer Sprache, die sich stark an gängige Programmiersprachen anleht, ohne alle Vorgaben der Programmiersprache strikt zu beachten. Beispiele hierzu findest du in den weiteren Abschnitten.

Algorithmus - dargestellt als Struktogramm

Struktogramme benutzt man, um den strukturellen Aufbau eines Algorithmus deutlich zu machen. Hier ist insbesondere die Schachtelung der Kontrollstrukturen zur Ablaufmodellierung besonders gut zu erkennen.

Struktogramm

Algorithmus - dargestellt als Flussdiagramm

Flussdiagramme eigen sich sehr gut, um den Ablauf bei Wiederholungen und Fallunterscheidungen zu veranschaulichen.

Struktogramm
X

Fehler melden

X

Suche