Was ist ein Struktogramm?

Nassi-Shneiderman-Diagramme einfach erklärt – mit Beispielen und allen Elementen.

Definition

Ein Struktogramm (auch Nassi-Schneiderman-Diagramm oder Nassi-Shneiderman-Diagramm) ist eine grafische Methode zur Darstellung von Algorithmen und Programmabläufen. Es wurde 1972 von Isaac Nassi und Ben Shneiderman entwickelt und gehört heute zu den Standardwerkzeugen in der Informatik-Ausbildung.

Im Gegensatz zu Flussdiagrammen verzichtet das Struktogramm vollständig auf Pfeile und beliebige Sprünge (GOTO). Alle Strukturen sind rechteckig und ineinander verschachtelt – das erzwingt strukturiertes, übersichtliches Denken und entspricht direkt dem Konzept der strukturierten Programmierung.

Geschichte

Isaac Nassi und Ben Shneiderman veröffentlichten 1972 in den ACM SIGPLAN Notices das Konzept der "Structured Flowcharts". Ziel war es, die Schwächen klassischer Flussdiagramme zu überwinden: Pfeile erlauben beliebige Sprünge im Code, die schwer lesbar und wartbar sind.

Das Struktogramm-Format setzt die Prinzipien von Dijkstra und Böhm/Jacopini um: Jedes Programm lässt sich aus nur drei Grundstrukturen aufbauen – Sequenz, Auswahl und Schleife. Das Struktogramm macht diese Strukturen sichtbar und verhindert unsaubere Programmiermuster.

Die Grundelemente

Anweisung / Sequenz

Eine einfache Anweisung – das Grundelement jedes Struktogramms.

Deklaration und Einlesen: alter als Ganzzahl
Ausgabe: "Alter: " + alter

Zweiseitige Alternative (if/else)

Verzweigung mit zwei Zweigen – einer für wahr, einer für falsch.

zahl > 0
TrueFalse
Ausgabe: "Zahl ist positiv"
Ausgabe: "Zahl ist nicht positiv"

Einseitige Alternative (if)

Verzweigung mit nur einem aktiven Zweig – der False-Zweig bleibt leer.

zahl < 0
TrueFalse
Ausgabe: "Zahl ist negativ"
---

Zählerschleife (for)

Läuft eine feste Anzahl von Durchläufen – Zähler wird automatisch verwaltet.

Wiederhole von i = 0 solange i <= 10, Schrittweite: 1
Ausgabe: i

While-Schleife (kopfgesteuert)

Bedingung wird vor jedem Durchlauf geprüft – läuft nur, wenn die Bedingung erfüllt ist.

Wiederhole solange i < 10
Ausgabe: i
Zuweisung: i = i + 1

Funktionsaufruf

Aufruf einer Unterroutine oder Funktion – erkennbar am doppelten Rahmen.

Deklaration und Einlesen: temp als Ganzzahl
prüfung = temperatur_prüfen(temp)
Ausgabe: prüfung

Vergleich: Struktogramm vs. Flussdiagramm

MerkmalStruktogrammFlussdiagramm
PfeileKeineJa, beliebig
GOTO möglich?Nein (erzwungen strukturiert)Ja
LesbarkeitSehr hoch bei VerschachtelungenGering bei Komplexität
Standard in BW-GymnasienJaTeilweise
Lehrplankonform (BW, Abitur)JaNein (für Algorithmen)

Struktogramme im BW-Gymnasium

An Gymnasien in Baden-Württemberg – Wirtschaftsgymnasium (WG), Technisches Gymnasium (TG), Berufsgymnasium (BG) und allgemeinbildendes Gymnasium – gehören Struktogramme fest zum Informatik-Lehrplan. In Klausuren, bei GFS-Präsentationen und im Abitur wird die korrekte Darstellung von Algorithmen als Struktogramm erwartet.

Typische Aufgaben: Algorithmus als Struktogramm darstellen, Struktogramm in Pseudocode übersetzen, Struktogramm für eine gegebene Problemstellung entwickeln. Mit dem Nassi-Designer kannst du diese Aufgaben direkt im Browser lösen – auf dem iPad genauso wie am PC.

Weiterführende Links

Jetzt selbst Struktogramme erstellen

Basis-Version kostenlos, ohne Anmeldung, direkt im Browser.

App starten →