Struktogramme
Struktogramme sind eine Möglichkeit, Programme und Algorithmen grafisch darzustellen. Diese Dartstellungsform wurde 1973 von Isaac Nassi und Ben Shneiderman vorgeschlagen und heisst deshalb auch Nassi-Shneiderman-Diagramm.1
Die hier verwendeten Farben nur eine optische Hilfe. Sie haben keine besondere Bedeutung.
Sequenz 👣
In einem Struktogramm wird jeder Befehl in einen rechteckigen Kasten geschrieben. Befehle müssen nicht in einer Programmiersprache geschrieben werden.
Wiederholung 🔁
Eine Wiederholung wird wie folgt dargestellt.
- Beim Struktogramm wird der wiederholte Teil durch die Einrückung ersichtlich. Auch in Python werden wiederholte Sequenzen (Zeilen 4-5) visuell mit einem Tabulator eingerückt.
- Der Doppelpunkt am Zeilenende zeigt an, dass eine eingerückte Sequenz (beim Programmieren spricht man von einem Codeblock) folgt.
Bedingte Ausführung (Verzweigung) ☑️
Wenn ein Befehl nur unter bestimmten Bedingungen ausgeführt werden soll, stellen wir dies folgendermassen dar:
Für die bedingte Ausführung (auch Verzweigung genannt) gibt es auch andere Darstellungsformen, welche wir hier nicht behandeln.
Nicht bei jedem Algorithmus braucht es einen Sonst-Block zu einem Wenn-Block. Das zeigt folgendes Beispiel:
Eine Verzweigung kann auch mehr als nur einen oder zwei "Ausgänge" haben. Das können wir mit Sonst, wenn-Blöcken ausdrücken:
- Wir prüfen nur so lange die jeweils nächste Bedingung, bis eine davon erfüllt ist.
- Wenn also die Sonne scheint, prüft der obige Algorithmus nicht mehr, ob es allenfalls trotzdem auch kalt ist.
- Ein neues Wenn (kein Sonst, wenn) würde allerdings eine neue Verzweigung starten: ab da prüfen wir wieder die Bedingungen.
- Der Sonst-Block hat keine Bedingung. Er wird immer dann ausgeführt, wenn keine der Bedingungen erfüllt ist.
EVA (Eingabe ‣ Verarbeitung ‣ Ausgabe)
Die meisten Algorithmen verarbeiten eine Eingabe und produzieren eine Ausgabe.
In einem Struktogramm stellen wir dies folgendermassen dar:
Variablen
Eine Variable ist wie eine Box, die einen Wert enthält, der sich verändern kann.
Variablen (hier: Schafe) kennzeichnen wir in einem Struktogramm deshalb auch mit einer "Box", um sie visuell hervorzuheben:
Struktogramme in Aktion
Addition zweier Zahlen
Nimm zwei Zahlen als Eingabe. Addiere diese Zahlen. Gib die Summe als Ausgabe aus.

Zahl dekrementieren
Nimm eine Zahl als Eingabe. Dekrementiere diese Zahl in Einerschritten, solange sie grösser ist als 0. Gib nach jedem Dekrementierungsschritt die aktuelle Zahl aus. Gib am Schluss aus, dass du fertig bist.


Footnotes
-
Quelle: 👉 rothe.io ↩