Darstellungsformen für Algorithmen
Aus Informatik
Es gibt verschiedene Darstellungsformen, um algorithmische Grundbausteine und Algorithmen darzustellen. An dieser Stelle soll auf die drei wichtigsten eingegangen werden:
- Pseudocode
- Der Pseudocode stellt einen Algorithmus in einer Schreibweise in der Art einer Programmiersprache dar, die aber in der Regel näher an der natürlichen Sprache ist als am formalen Programmcode. Es gibt keine Standardisierung bzw. Vorschrift, wie ein Pseudocode auszusehen hat; die Ablaufstrukturen werden grob durch Texte und fest vorgeschriebene Schlüsselwörter beschrieben. Guter Pseudocode zeichnet sich durch eine kurze präzise Beschreibung des Algorithmus aus.
- Struktogramm
- Struktogramme (auch nach ihren Entwicklern Nassi-Shneidermann-Diagramme genannt) ist eine genormte (DIN 66261) Entwurfsmethode für Algorithmen. Die Methode zerlegt ein Gesamtproblem, das man mit dem gewünschten Algorithmus lösen will, in immer kleinere Teilprobleme bis schließlich nur noch elementare Grundstrukturen wie Sequenzen und Kontrollstrukturen zur Lösung des Problems übrig bleiben.
In der Softwareentwicklung werden Struktogramme sehr selten eingesetzt, da normaler Programmcode einfacher zu schreiben und zu verändern ist: Korrigiert man einen Fehler oder macht eine Ergänzung, muss man ein Struktogramm in der Regel komplett neu zeichnen. Im Informatik-Unterricht werden Struktogramme dagegen verwendet, damit Schüler den Aufbau logischer Abläufe, die für die Programmierung nötig sind, trainieren können. Die Erstellung von Struktogrammen aufgrund von Beschreibungen verschiedener Problemstellungen, die wegen wiederkehrender gleicher Vorgehensweise automatisiert werden können, ist immer noch Bestandteil vieler schulischer Abschlussprüfungen.
- Programmablaufplan (PAP)
- Der Programmablaufplan (auch Flussdiagramm oder Programmstrukturplan) ist eine graphische Darstellung zur Umsetzung eines Algorithmus in einem Programm und beschreibt die Folge von Operationen zur Lösung einer Aufgabe. Die Symbole für Programmablaufpläne sind in der DIN 66001 genormt.
Programmablaufpläne werden oft unabhängig von Computerprogrammen auch zur Darstellung von Prozessen und Tätigkeiten eingesetzt. Im Bereich der Softwareerstellung werden sie nur noch selten verwendet: Programmcode moderner Programmiersprachen bietet ähnlichen Abstraktionsgrad, ist jedoch einfacher zu erstellen und in der Regel sehr viel einfacher zu verändern.
Das Konzepte für den Programmablaufplan und das Nassi-Shneiderman-Diagramm (Struktogramm) stammen aus den 1960er-Jahren und bilden einen linearen Programmfluss ab. Für die Abbildung objektorientierter Programmkonzepte haben sich beide Konzepte als ungeeignet erwiesen. Als Konsequenz wurde die Unified Modelling Language (UML) für objektorientierte Programmkonzepte entwickelt.