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.


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.

Algorithmus - dargestellt als Flussdiagramm
Flussdiagramme eigen sich sehr gut, um den Ablauf bei Wiederholungen und Fallunterscheidungen zu veranschaulichen.
