Checkmark on Circle.png

Programmablaufplan

Aus KGS-Wiki

Ein Programmablaufplan zum Erhardt-Algorithmus

Programmablaufpläne (PAPs) sind ein Diagrammtyp, mit dem der Ablauf von Algorithmen visualisiert werden kann.

Indem man sich das, was man programmieren möchte, zunächst analog und schriftlich veranschaulicht, kann man sich eine Menge Programmieraufwand ersparen:

  1. Der Ablauf des Algorithmus kann schon vor der Implementierung, etwa mit Trace-Tabellen händisch getestet werden.
  2. Es ist leichter, kleine elementare Anweisungen in eine Programmiersprache zu übersetzen, als komplexe Ideen.
  3. Wenn man den Ablauf auf Papier neben sich liegen hat, verliert man das große Ganze, an dem man gerade sitzt, nicht so schnell aus dem Blick und verzettelt sich nicht.
  4. Wenn man alle Abläufe auf Papier festgehalten hat, kann man die Umsetzung leichter delegieren

Syntaxelemente

flowchart TD node["Anweisung"]

flowchart TD node{"Bedingung"}

flowchart TD node[/"Ein-/Ausgabe"/]

flowchart TD node[["Unterprogramm"]]

flowchart LR start(["Start"]) ende(["Ende"])

Ein Programmablaufplan besteht aus den einzelnen Ablaufelementen, die mit Pfeilen verbunden sind. Der besseren Lesbarkeit halber ist ein Programmablaufplan typischerweise von oben nach unten angeordnet. Davon darf aber abgewichen werden, das Ziel sollte immer die bestmögliche Lesbarkeit sein.

Die einzelnen Ablaufelemente sind

Anweisung

Einfache Anweisungen wie lösche die Ausgabe oder x := x * 2 werden in ein Rechteck gesetzt. Von jeder Anweisung darf nur ein weiterer Pfeil ausgehen, sonst wäre der Ablauf des Algorithmus nicht mehr eindeutig.

Bedingung

Bedingungen wie x > 2? oder name = "Hans Meier"? werden in Rauten gesetzt, die auf der Spitze stehen. Von jeder Bedingung müssen zwei Pfeile ausgehen, die mit ja und nein beschriftet sind. Diese Pfeile dürfen auch auf vorhergehende Stellen im Plan zeigen.

Bedingungen enden immer mit einem Fragezeichen.

Ein- und Ausgabe

Ein- und Ausgaben wie x := Eingabe oder Gib y aus werden in Parallelogramme gesetzt. Der Übersichtlichkeit halber kann man in die untere rechte Ecke ein kleines E für Eingaben oder ein A für Ausgaben setzen, muss man aber nicht.

Unterprogramme

Um PAPs übersichtlicher zu halten, können einzelne Programmteile in Unterprogramme ausgelagert werden. Für jedes Unterprogramm wird ein eigener PAP gezeichnet. Der Aufruf eines Unterprogramms wird in ein Rechteck mit doppelten senkrechten Linien gesetzt.

Start und Ende

Jeder PAP beginnt mit einem Startknoten, der typischerweise ganz oben steht, und endet mit einem Endknoten, der typischerweise ganz unten steht. Dies dient aber nur der Lesbarkeit und ist keine feste Vorschrift.