# Programmablaufplan (PAP) und Struktogramm

> 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.

**Autor:** Mr. Benjamin · **Beruf:** IT-Grundlagen
**Veröffentlicht:** 2026-07-16 · **Aktualisiert:** 2026-10-28
**Quelle:** https://yellowbluetech.de/blog/algorithmus-struktogramm-pap

---

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.

> **Merksatz**
>
> Ein Algorithmus muss **eindeutig** (jeder Schritt ist klar), **endlich** (er kommt zu einem Ende) und **ausführbar** (die Schritte sind machbar) sein. Erst dann kann ein Computer ihn zuverlässig abarbeiten.

## 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.

> **Merksatz**
>
> **Sequenz, Verzweigung, Schleife** – mehr braucht es nicht. Jedes noch so komplexe Programm ist am Ende aus diesen drei Bausteinen zusammengesetzt.

## 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.

> **Merksatz**
>
> **PAP = Programmablaufplan** = Zeichnung des Ablaufs. Eine **Programmiersprache** ist Text, den ein Computer ausführt. Der PAP ist der Plan, die Programmiersprache die Umsetzung.

## 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?":

```text
        ( 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:

```text
┌─────────────────────────────┐
│ Zahl einlesen               │
├──────────────┬──────────────┤
│   Zahl > 0 ? │              │
│   ja         │   nein       │
├──────────────┼──────────────┤
│ "positiv"    │ "nicht pos." │
└──────────────┴──────────────┘
```

> **Prüfungstipp**
>
> Beide Darstellungen sind Prüfungsstoff und lassen sich ineinander übersetzen. Merke den Unterschied: Der **PAP** arbeitet mit **Symbolen und Pfeilen** und kann dadurch unübersichtlich werden. Das **Struktogramm** kennt **keine Pfeile** und erzwingt sauber verschachtelte Strukturen – wilde Sprünge sind gar nicht darstellbar, was zu besserem Programmaufbau führt.

## Selbstkontrolle

**Frage:** Welche drei Grundbausteine genügen, um jeden Algorithmus aufzubauen?

- [ ] Eingabe, Verarbeitung, Ausgabe.
- [x] Sequenz, Verzweigung, Schleife.
- [ ] Start, Verarbeitung, Ende.
- [ ] Variable, Funktion, Klasse.

**Erklärung:** Jeder Algorithmus lässt sich aus Sequenz (Folge), Verzweigung (Auswahl) und Schleife (Wiederholung) zusammensetzen. Diese drei Kontrollstrukturen reichen aus, um beliebig komplexe Abläufe zu beschreiben – unabhängig von der Programmiersprache.

## 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](/blog/compiler-vs-interpreter) · [Variablen und Datentypen einfach erklärt](/blog/variablen-und-datentypen) · [Sortier- und Suchalgorithmen verstehen](/blog/sortier-suchalgorithmen) · [Rekursion: wenn sich eine Funktion selbst aufruft](/blog/rekursion-erklaert) · [Datenstrukturen: Array, Liste, Stack und Queue](/blog/datenstrukturen-grundlagen)

## 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.
