Zum Hauptinhalt springen
Version: 28Gj

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

Sequenz 👣

In einem Struktogramm wird jeder Befehl in einen rechteckigen Kasten geschrieben. Befehle müssen nicht in einer Programmiersprache geschrieben werden, Parameter werden unterstrichen.

forward(100)
left(90)
forward(50)
100 Schritte vorwärts
90° nach links
50 Schritte vorwärts

Parameter ⊕ ⊖

Ein Unterprogramm kann mit Parametern aufgerufen werden.

Parameter werden jeweils unterstrichen, so dass klar ist, welche Werte sich ändern können.

Wiederholung 🔁

Eine Wiederholung wird wie folgt dargestellt.

for i in range(4):
forward(100)
left(90)
4 mal wiederholen:
100 Schritte vorwärts
90° nach links
Bemerke
  • 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.

Unterprogramm 🏷

Eine Sequenz kann mit einem Namen versehen werden. Anstatt immer die ganze Sequenz aufzuschreiben, genügt es den Namen aufzuschreiben.

def zick_zack():
left(60)
forward(30)
right(120)
forward(30)
left(60)


forward(100)

zick_zack()
zick_zack()
zick_zack:
60° nach links
30 Schritte vorwärts
120° nach rechts
30 Schritte vorwärts
60° nach links
100 Schritte vorwärts
zick_zack
zick_zack
Bemerke
  • Um ein Unterprogramm aufzurufen, wird beim Struktogramm der Kasten mit doppelten Seitenstrichen markiert, bei Python werden runde Klammern am Ende des Namens angegeben.
  • Den Namen für Unterprogramm kann beliebig gewählt werden, sofern er nicht mit einer Zahl beginnt und keine Sonderzeichen enthält. Leerschläge und Bindestriche sind nicht erlaubt - stattdessen werden Unterstriche _ verwendet: Statt zick zack wird der Name zick_zack verwendet.

Variablen

Bei Programmen wird zwischen Parametern und Variablen unterschieden. Genau wie Paramter können diese das Ergebnis eines Algorithmus ändern. Sie werden in einem Struktogramm speziell als markiert, damit klar ist, dass eigentlich der in der Variable gespeicherte Wert gemeint ist.

grösse = input('Wie gross bist du [cm]?')
print(f'Ich bin {grösse} cm gross')
grösse = Wie gross bist du [cm]?
Ausgabe: Ich bin grösse cm gross.

Footnotes

  1. Quelle: 👉 rothe.io