Zum Hauptinhalt springen
26e

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.

from turtle import *

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

Wiederholung 🔁

Eine Wiederholung wird wie folgt dargestellt.

from turtle import *

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.

from turtle import *

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.

Parameter ⊕ ⊖

Ein Unterprogramm kann mit Parametern aufgerufen werden.

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

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