Kontrollstrukturen: Verzweigungen und Schleifen
Kurzantwort
Kontrollstrukturen steuern, in welcher Reihenfolge die Anweisungen eines Programms ausgeführt werden. Es gibt drei Grundtypen: die Sequenz (nacheinander), die Verzweigung (Entscheidung mit if/else) und die Schleife (Wiederholung mit while oder for). Aus diesen drei Bausteinen lässt sich jeder Algorithmus zusammensetzen.
Teil des Lernpfads Programmieren und Softwareentwicklung · Schritt 3 von 18
Ein Programm, das nur stur eine Zeile nach der anderen abarbeitet, kann wenig. Erst wenn es entscheiden und wiederholen kann, wird es nützlich. Genau das leisten Kontrollstrukturen – und es gibt erstaunlich wenige davon.
Was sind Kontrollstrukturen?
Kontrollstrukturen bestimmen den Ablauf eines Programms: welche Anweisung wann und wie oft ausgeführt wird.
Die Sequenz
Die einfachste Struktur: Anweisungen werden von oben nach unten ausgeführt, eine nach der anderen.
lies Preis
lies Menge
berechne Summe = Preis * Menge
gib Summe ausDie Verzweigung
Eine Verzweigung führt Code nur unter einer Bedingung aus. Die Bedingung ist wahr oder falsch – abhängig davon geht es unterschiedlich weiter.
WENN alter >= 18 DANN
gib "volljährig" aus
SONST
gib "minderjährig" ausGibt es mehr als zwei Fälle, nutzt man sonst wenn oder eine Fallunterscheidung (in vielen Sprachen switch).
Die Schleife
Eine Schleife wiederholt Anweisungen. Zwei Typen sind zu unterscheiden:
| Typ | Wann | Merkmal |
|---|---|---|
Zählschleife (for) | Anzahl der Durchläufe steht fest | „mache das 10-mal" |
Bedingungsschleife (while) | Anzahl hängt von einer Bedingung ab | „solange noch Eingaben da sind" |
SOLANGE guthaben > 0 TUE
ziehe monatsbeitrag abDie Endlosschleife: der häufigste Anfängerfehler
Selbstkontrolle
Selbstkontrolle
Eine Schleife soll auf jeden Fall mindestens einmal durchlaufen werden. Welchen Typ wählst du?
Häufige Fragen
Wann nehme ich for, wann while?
Nimm die Zählschleife for, wenn die Anzahl der Durchläufe von vornherein feststeht, etwa „für jeden der 30 Datensätze". Nimm die while-Schleife, wenn die Anzahl von einer Bedingung abhängt, die sich erst während der Ausführung entscheidet, etwa „solange noch Zeilen in der Datei stehen". Technisch lässt sich jede for-Schleife auch als while schreiben, aber die passende Wahl macht den Code lesbarer.
Was ist eine geschachtelte Schleife?
Eine Schleife innerhalb einer anderen Schleife. Für jeden Durchlauf der äußeren läuft die innere komplett durch. Typisches Beispiel ist die Verarbeitung einer Tabelle: Die äußere Schleife geht über die Zeilen, die innere über die Spalten. Die Gesamtzahl der Durchläufe ist das Produkt beider – das kann schnell groß werden.
Was bedeutet break und continue?
Mit break verlässt man eine Schleife vorzeitig, sobald ein Ziel erreicht ist, etwa wenn der gesuchte Eintrag gefunden wurde. Mit continue überspringt man nur den Rest des aktuellen Durchlaufs und macht mit dem nächsten weiter. Beide sind nützlich, sollten aber sparsam eingesetzt werden, weil zu viele Sprünge den Ablauf schwer nachvollziehbar machen.
Warum reichen drei Grundstrukturen wirklich aus?
Das besagt das Strukturtheorem: Jeder berechenbare Algorithmus lässt sich allein mit Sequenz, Verzweigung und Schleife ausdrücken, ohne Sprungbefehle. Das ist die Grundlage der strukturierten Programmierung und der Grund, warum Struktogramme mit genau diesen Bausteinen auskommen. Mehr Konstrukte sind Komfort, keine Notwendigkeit.
Weiterlesen: Variablen und Datentypen einfach erklärt · Datenstrukturen: Array, Liste, Stack und Queue · Rekursion: wenn sich eine Funktion selbst aufruft · Sortier- und Suchalgorithmen verstehen
Das Wichtigste in Kürze
- Drei Grundstrukturen genügen: Sequenz, Verzweigung, Schleife.
- Verzweigung = Entscheidung anhand einer wahr/falsch-Bedingung.
- Zählschleife (for): feste Anzahl; Bedingungsschleife (while): von Bedingung abhängig.
- Kopfgesteuert kann null-mal laufen, fußgesteuert mindestens einmal.
- Jede Schleife braucht eine erreichbare Abbruchbedingung, sonst wird sie endlos.