Struktogramme

Eine der ältesten visuellen Darstellungsformen für Programme ist der Programmablaufplan, der auch als Struktogramm bezeichnet wird.

Ein Programmablaufplan in seiner ursprünglichen Form besteht im Kern aus nur zwei Knoten-Elementen: Aktionen und Fallunterscheidungen. Zusätzlich kann ein spezielles Symbol für den Beginn und das Ende des Programms verwendet werden.

Die Abfolge der einzelnen Aktionen wird durch gerichtete Kanten (Pfeile) zum Ausdruck gebracht. Eine Folge von Knoten, die durch Pfeile miteinander verbunden sind, stellen einen Ablaufpfad dar. Ein Programm kann mehrere Ablaufpfade haben. Dabei sind diese Ablaufpfade prinzipiell immer alternativ und nicht parallel. Im Programmablauf wird also immer genau ein Pfad verfolgt und nicht mehrere gleichzeitig.

Eine Fallunterscheidung ist als eine spezielle Aktion aufzufassen, bei der eine Bedingungsprüfung erfolgt und in Abhängigkeit von dieser Prüfung unterschiedliche Ablaufpfade eingeschlagen werden. Typischerweise wird von einer binären Fallunterscheidung ausgegangen: Entweder ist die zu prüfende Bedingung erfüllt (Ja-Pfad) oder nicht (Nein-Pfad).

In Programmablaufplänen stehen keine speziellen Symbole für die Modellierung von Iterationen zur Verfügung, die gerade in der Programmierung eine wichtige Rolle spielt. Iterationen lassen sich indirekt dadurch zum Ausdruck bringen, dass eine Fallunterscheidung mit einem auf eine frühere Aktion verweisenden Ablaufpfad kombiniert wird. Diese Modellierung entspricht der Programmierung mit älteren Sprachen wie Fortran oder Basic, in der die Iteration mit Hilfe von Sprungbefehlen (Goto) abgebildet wurde. Diese Praxis führte jedoch bei unsystematischem Gebrauch zu sehr unübersichtlichen Programmen und ist daher mittlerweile verpönt. Bei sogenannten strukturierten Programmiersprachen wie Pascal oder C wurden eigene Befehlselemente für die Programmierung einer Iteration eingeführt, die den Sprungbefehl überflüssig machen.

example

Ein einfaches Programm soll das sukzessive Aufsummieren von eingegebenen Zahlen ermöglichen, wie es mit Hilfe eines Taschenrechners erfolgt.

Abb. 1: FlussdiagrammAbb. 1: Flussdiagramm

In diesem Programm wird der Summierungsprozess über ein einfaches Abbruchkriterium gesteuert: Der Prozess endet bei Eingabe einer Null, wonach das Ergebnis ausgewiesen wird.

Struktogramme werden nicht nur für die Visualisierung von Computerprogrammen gebraucht, sondern auch für die Darstellung anderer Algorithmen und formaler Zusammenhänge, etwa für die Modellierung von Entscheidungsprozessen.

Struktogramme lassen sich generell für die Modellierung von Prozessen einsetzen. Für diesen Einsatz ist eine Reihe weiterer Symbole eingeführt worden, mit denen verschiedene Arten von Aktivitäten und andere relevante Elemente dargestellt werden können. Allerdings wird auch bei diesem Gebrauch üblicherweise angenommen, dass nur ein Ablaufpfad zur Zeit verfolgt wird und keine parallele Bearbeitung von Aufgaben erfolgt.