Struktogramm

Aus FLBK-Wiki
Version vom 17. September 2025, 10:18 Uhr von Flbkwikiadmin (Diskussion | Beiträge) (Die Seite wurde neu angelegt: „Ein '''Struktogramm''' (auch bekannt als '''Nassi-Shneiderman-Diagramm''') ist ein Diagrammtyp zur Darstellung von Programmentwürfen und Algorithmen. Es wurde 1972/73 von Isaac Nassi und Ben Shneiderman entwickelt. == Einführung == Struktogramme zerlegen ein Gesamtproblem, das mit einem Algorithmus gelöst werden soll, in immer kleinere Teilprobleme, bis nur noch elementare Grundstrukturen wie Befehle und Kontrollstrukturen übrig bleiben. Dies…“)
(Unterschied) ← Nächstältere Version | Aktuelle Version (Unterschied) | Nächstjüngere Version → (Unterschied)
Zur Navigation springen Zur Suche springen

Ein Struktogramm (auch bekannt als Nassi-Shneiderman-Diagramm) ist ein Diagrammtyp zur Darstellung von Programmentwürfen und Algorithmen. Es wurde 1972/73 von Isaac Nassi und Ben Shneiderman entwickelt.

Einführung

Struktogramme zerlegen ein Gesamtproblem, das mit einem Algorithmus gelöst werden soll, in immer kleinere Teilprobleme, bis nur noch elementare Grundstrukturen wie Befehle und Kontrollstrukturen übrig bleiben. Diese werden dann durch das Struktogramm visualisiert.

In der Softwareentwicklung werden Struktogramme selten eingesetzt; hier werden vorrangig erweiterte Programmablaufpläne (Aktivitätsdiagramme der UML) verwendet. Im Informatik-Unterricht hingegen werden Struktogramme häufig verwendet, um den Aufbau von Algorithmen zu veranschaulichen. Die Erstellung von Struktogrammen ist Bestandteil vieler schulischer Abschlussprüfungen.

Syntax und Aufbau

Der Aufbau eines Struktograms wird in der DIN 66261 definiert.

Strukturblock

Symbol Beschreibung
Datei:Strukturblock.svg Anweisung
Jeder Befehl wird in einen rechteckigen Strukturblock geschrieben. Die Strukturblöcke werden nacheinander von oben nach unten durchlaufen. Leere Strukturblöcke sind nur in Verzweigungen zulässig.

Verzweigungen

Symbol Beschreibung
Datei:EinfacheAuswahl.svg Einfache Auswahl
Wenn die Bedingung im Sinne der booleschen Algebra wahr ist, wird der Anweisungsblock 1 durchlaufen. Trifft die Bedingung nicht zu (falsch), wird der Durchlauf ohne weitere Anweisung fortgesetzt.
Datei:ZweifacheAuswahl.svg Zweifache Auswahl
Wenn die Bedingung wahr ist, wird Anweisungsblock 1 durchlaufen, sonst Anweisungsblock 2.
Datei:Mehrfachauswahl.svg Mehrfachauswahl (Fallauswahl)
Besonders bei mehr als drei abzuprüfenden Bedingungen geeignet. Der Wert der Variable wird geprüft und der entsprechende Anweisungsblock wird durchlaufen.
Datei:VerschachtelteAuswahl.svg Verschachtelte Auswahl
Alle Varianten der Verzweigung lassen sich auch verschachtelt modellieren.

Schleifen

Symbol Beschreibung
Datei:KopfgesteuerteSchleife.svg Kopfgesteuerte Schleife
Die Schleifenbedingung wird vor dem Schleifenrumpf geprüft (WHILE-Schleife). Der Schleifenkörper wird nur durchlaufen, solange die Bedingung wahr ist.
Datei:Zählschleife.svg Zählschleife
Sonderform der kopfgesteuerten Schleife mit fester Anzahl von Durchläufen (FOR-Schleife). Enthält Initialisierung, Endwert und Schrittweite.
Datei:FussgesteuerteSchleife.svg Fußgesteuerte Schleife
Die Bedingung wird nach dem Schleifenrumpf geprüft (DO-WHILE-Schleife). Der Schleifenkörper wird mindestens einmal durchlaufen.

Aufruf

Symbol Beschreibung
Datei:Aufruf.svg Aufruf
Symbol für den Aufruf eines Unterprogramms bzw. einer Methode. Nach deren Durchlauf wird zur aufrufenden Stelle zurückgesprungen.

Konventionen

  • Allgemeingültigkeit: Struktogramme sollten keine programmiersprachenspezifische Syntax enthalten
  • Deklaration: Variablen und Konstanten sind im ersten Anweisungsblock zu deklarieren
  • Exklusivität: Jeder Befehl erhält einen eigenen Strukturblock
  • Zuweisungen: Werden mit einem nach links gerichteten Pfeil (←) oder mit := dargestellt
  • Benennung: Jedes Struktogramm benötigt einen Titel zur Identifikation

Beispiel

Folgendes Struktogramm beschreibt einen Algorithmus, der eine Zahl in eine textbasierte Note umwandelt:

Datei:NotenumwandlungStruktogramm.svg

Struktogramm zur Umwandlung von Zahlen in Noten

Der Algorithmus beginnt mit einem Titel, gefolgt von der Deklaration der benötigten Variablen. Es folgen Befehle zur Bildschirmausgabe und Eingabe, eine Mehrfachverzweigung je nach Wert der Variable, und abschließend die Ausgabe des Ergebnisses.