Programmablaufplan (PAP) und Struktogramm
Kurzantwort
Ein Algorithmus ist eine eindeutige, schrittweise Anleitung zur Lösung eines Problems – die Idee hinter jedem Programm. Bevor man programmiert, stellt man den Ablauf grafisch dar: Der Programmablaufplan (PAP) nutzt genormte Symbole, das Struktogramm ineinander geschachtelte Blöcke. Beide zeigen dieselben Grundbausteine: Folge, Verzweigung und Schleife.
Teil des Lernpfads Programmieren und Softwareentwicklung · Schritt 1 von 18
Zuletzt aktualisiert am
Bevor auch nur eine Zeile Code entsteht, muss klar sein, was das Programm eigentlich tun soll – Schritt für Schritt. Genau das ist ein Algorithmus. Wer ihn beherrscht, kann in jeder Programmiersprache arbeiten, denn die Idee dahinter bleibt immer dieselbe.
Was ist ein Algorithmus?
Ein Algorithmus ist eine eindeutige, endliche Folge von Schritten, die ein Problem löst. Das Wort klingt technisch, das Prinzip ist alltäglich: Ein Kochrezept ist ein Algorithmus, eine Wegbeschreibung auch. Man sagt genau, was in welcher Reihenfolge zu tun ist, bis das Ziel erreicht ist.
Die drei Grundbausteine
So unterschiedlich Programme wirken – sie bestehen aus nur drei Kontrollstrukturen, die sich beliebig kombinieren lassen:
- Sequenz (Folge): Schritte werden nacheinander abgearbeitet.
- Verzweigung (Auswahl): Je nach Bedingung geht es unterschiedlich weiter – „wenn … dann … sonst".
- Schleife (Wiederholung): Ein Teil wird wiederholt, solange eine Bedingung gilt.
Ist PAP eine Programmiersprache?
Nein. PAP steht für Programmablaufplan und ist eine grafische Darstellung eines Ablaufs, keine Programmiersprache. Man kann einen PAP weder kompilieren noch ausführen. Er beschreibt, was ein Programm Schritt für Schritt tut, bevor es in einer echten Programmiersprache wie Python oder Java umgesetzt wird.
Der Programmablaufplan (PAP)
Ein PAP stellt den Ablauf mit genormten Symbolen dar (nach DIN 66001). Die wichtigsten:
| Symbol | Bedeutung |
|---|---|
| Oval | Start oder Ende |
| Rechteck | Verarbeitung (ein Schritt, eine Berechnung) |
| Raute | Verzweigung (eine Ja/Nein-Frage) |
| Pfeil | Richtung des Ablaufs |
Ein einfaches Beispiel – „Ist eine Zahl positiv?":
( Start )
│
┌──────────────┐
│ Zahl einlesen │
└──────────────┘
│
╱ Zahl ╲ nein
╱ > 0 ? ╲───────┐
╲ ╱ │
╲──────╱ │
│ ja │
┌───────────┐ ┌─────────────┐
│ "positiv" │ │ "nicht pos."│
└───────────┘ └─────────────┘
│ │
└──────┬───────┘
( Ende )Das Struktogramm
Das Struktogramm (auch Nassi-Shneiderman-Diagramm) zeigt denselben Ablauf, aber als ineinander geschachtelte Blöcke ohne Pfeile. Es wird von oben nach unten gelesen:
┌─────────────────────────────┐
│ Zahl einlesen │
├──────────────┬──────────────┤
│ Zahl > 0 ? │ │
│ ja │ nein │
├──────────────┼──────────────┤
│ "positiv" │ "nicht pos." │
└──────────────┴──────────────┘Selbstkontrolle
Selbstkontrolle
Welche drei Grundbausteine genügen, um jeden Algorithmus aufzubauen?
Häufige Fragen
Was ist der Unterschied zwischen einem Algorithmus und einem Programm?
Ein Algorithmus ist die Idee, die Lösungsvorschrift – unabhängig von jeder Programmiersprache. Ein Programm ist die konkrete Umsetzung dieses Algorithmus in einer bestimmten Sprache, die ein Computer ausführen kann. Derselbe Algorithmus lässt sich in vielen Sprachen programmieren.
Warum plant man einen Ablauf, statt gleich zu programmieren?
Weil sich Denkfehler in einem Diagramm viel schneller finden und beheben lassen als in fertigem Code. Ein Struktogramm oder PAP zwingt dazu, den Ablauf vollständig zu durchdenken, bevor man ihn umsetzt. Das spart am Ende Zeit und vermeidet Fehler.
Ist PAP eine Programmiersprache?
Nein. PAP steht für Programmablaufplan und ist eine grafische Darstellung eines Ablaufs mit genormten Symbolen. Er ist nicht ausführbar und wird nicht kompiliert. Erst wenn der Ablauf in einer Programmiersprache wie Python oder Java umgesetzt wird, entsteht ein Programm.
Wofür steht PAP in der IT?
In der Ausbildung steht PAP meist für Programmablaufplan, also die grafische Darstellung eines Algorithmus. In der Netzwerktechnik bezeichnet PAP außerdem das Password Authentication Protocol, ein einfaches Anmeldeverfahren. Mit dem Programmablaufplan hat das nichts zu tun.
Was ist der Unterschied zwischen PAP und Struktogramm?
Beide stellen denselben Algorithmus dar. Der PAP nutzt genormte Symbole und Pfeile und ähnelt einem Flussdiagramm. Das Struktogramm verwendet ineinander verschachtelte Blöcke ohne Pfeile und erzwingt dadurch einen sauberen, sprungfreien Aufbau. Welche Form verlangt wird, gibt die Aufgabenstellung vor.
Was ist eine Verzweigung?
Eine Verzweigung ist eine Stelle, an der der Ablauf abhängig von einer Bedingung unterschiedlich weiterläuft – nach dem Muster wenn, dann, sonst. Im PAP wird sie als Raute dargestellt, im Code meist als if-Anweisung. Sie ist einer der drei Grundbausteine jedes Algorithmus.
Weiterlesen: Compiler vs. Interpreter: Unterschied erklärt · Variablen und Datentypen einfach erklärt · Sortier- und Suchalgorithmen verstehen · Rekursion: wenn sich eine Funktion selbst aufruft · Datenstrukturen: Array, Liste, Stack und Queue
Das Wichtigste in Kürze
- Ein Algorithmus ist eine eindeutige, endliche und ausführbare Schrittfolge zur Problemlösung.
- Jedes Programm besteht aus drei Bausteinen: Sequenz, Verzweigung, Schleife.
- Der PAP stellt den Ablauf mit genormten Symbolen und Pfeilen dar.
- Das Struktogramm nutzt verschachtelte Blöcke ohne Pfeile und erzwingt sauberen Aufbau.