Die Notation der Struktogramme basiert auf einem Vorschlag von Nassi und Shneiderman aus dem Jahre 1973, und ermöglicht die grafische Darstellung von Kontrollstrukturen ebenso wie der Technik eines Programmablaufplans. Kontrollstrukturen dienen dazu, den Ablauf eines Algorithmus zu steuern. Die Notation ist in der DIN 66261 genormt.
Struktogramme nach Nassi und Shneiderman bilden jeden elementaren Strukturblock der strukturierten Programmierung als eindeutig erkennbares grafisches Einzelsymbol ab. Es gibt eindeutige Vorschriften zur Darstellung einer Sequenz, einer Auswahl und einer Wiederholung. Aus praktischen Gründen sind Sonderformen wie Zählschleife und Mehrfach-Auswahl als zusätzliche Strukturblöcke definiert.
Durch den Verzicht auf Pfeile zur Darstellung des Steuerflusses ist eine erheblich übersichtlichere Darstellung von Algorithmen als mit einem Programmablaufplan möglich. Der Zwang zur Aufteilung des grafischen Darstellungsbereiches führt zur Zerlegung des Algorithmus in Teilalgorithmen. Struktogramme unterstützen somit die Verfeinerungstechnik bei der Planung von Software-Systemen. Diese bieten wesentlich mehr Dar-stellungsraum für Erläuterungen und erhöhen so die Lesbarkeit.
Alle in der Abbildung dargestellten Elementar-Strukturblöcke können auf einfache Weise zusammengesetzt werden. Das Ergebnis ist wiederum ein überschaubarer Strukturblock mit genau einem Eingang und genau einem Ausgang.
Für die Konstruktion zusammengesetzter Strukturblöcke gibt des Block-Konzept folgend zwei einfache Regeln:
- Ein Strukturblock wird an einen anderen gereiht, indem die gesamte Ausgangskante des voranstehenden Strukturblocks mit der gesamten Eingangskante des nachfolgenden Strukturblocks zusammengelegt wird. Ein durch eine derartige Reihung entstandener Strukturblock wird Sequenz genannt.
- In die Block-Felder der elementaren Strukturblöcke kann dann jeder beliebige elementare oder zusammengesetzte Strukturblock kantendeckend eingesetzt werden.