Informatik

Struktogramm

Ein Struktogramm (englisch Nassi-Shneiderman diagram oder structogram) stellt einen Algorithmus als ineinandergeschachtelte Kästen dar. Anders als der Programmablaufplan kennt es keine Pfeile – schon die Bauweise verhindert Sprünge, die sich nicht sauber programmieren lassen.

Die Notation ist die von StruktoLab. Sie legt nur die Form der Kästen fest; die Inhalte dürfen umgangssprachlich formuliert werden.

Die Bausteine

Baustein Aussehen Pseudocode in Java
Anweisung ein Kasten mit Text ergebnis = 1 eine Anweisung
Eingabe Kasten mit davor eingabe("Zahl n") einlesen
Ausgabe Kasten mit davor ausgabe(ergebnis) ausgeben
Sequenz Kästen untereinander Zeilen untereinander nacheinander
Verzweigung Kasten mit Schrägen, darunter zwei Spalten falls …: / sonst: if / else
Mehrfachverzweigung Kasten mit mehreren Spalten unterscheide …: / fall …: switch / case
Zählergesteuerte Schleife Kasten, der oben und links um den Rumpf greift wiederhole für i = 1 bis n: for
Kopfgesteuerte Schleife Kasten, der oben und links um den Rumpf greift wiederhole solange …: while
Fußgesteuerte Schleife Kasten, der unten und links um den Rumpf greift wiederhole:solange … do-while
Funktion umschließender Kasten mit Kopfzeile funktion name(parameter): eine Methode

Die beiden Zweige einer Verzweigung sind mit Wahr und Falsch beschriftet. Ein leerer Zweig wird mit einem Strich oder dem Zeichen ∅ markiert – so ist klar, dass er nicht vergessen wurde.

Der Pseudocode

In StruktoLab lässt sich dasselbe Struktogramm als Bild oder als Text bearbeiten; beide Darstellungen bleiben synchron. Die Einrückung bestimmt, was in welchem Kasten liegt.

eingabe("Zahl n")
ergebnis = 1
wiederhole für i = 1 bis n:
    ergebnis = ergebnis * i
ausgabe(ergebnis)

Eine Verzweigung:

falls x > 0:
    ausgabe("positiv")
sonst:
    ausgabe("nicht positiv")

Eine fußgesteuerte Schleife – die Bedingung steht hinter dem Rumpf, ohne Doppelpunkt:

wiederhole:
    eingabe("Zahl")
solange eingabe != 0

Eine Mehrfachverzweigung:

unterscheide farbe:
    fall "rot":
        ausgabe("Stopp")
    fall "grün":
        ausgabe("Weiter")
    sonst:
        ausgabe("Unbekannt")

Die Schlüsselwörter im Überblick:

deutsch englisch
falls / sonst if / else
wiederhole / solange / für repeat / while / for
unterscheide / fall switch / case
funktion function
eingabe / ausgabe input / output
versuche / fange try / catch
Wahr / Falsch True / False

Für die Wertzuweisung schreibt StruktoLab =, nicht den Pfeil , den manche Bücher verwenden. Aus einem fertigen Struktogramm erzeugt StruktoLab auf Knopfdruck Java, Python oder JavaScript.

Struktogramm

Teilbare URL erstellen

Abschnitte auswählen