Informatik

Kontrollstrukturen: Sequenz, Verzweigung, Schleife

Kontrollstrukturen: Sequenz, Verzweigung, Schleife
Kontrollstrukturen: Sequenz, Verzweigung, Schleife
Für Quiz, Lückentext, Lernkarten und Fortschritt ist JavaScript nötig. Alle Inhalte und Lösungen bleiben direkt lesbar.

Kontrollstrukturen bestimmen, in welcher Reihenfolge ein Programm seine Anweisungen ausführt. Eine Sequenz ordnet Schritte, eine Verzweigung wählt einen Weg und eine Schleife wiederholt Schritte.

Auf dieser Seite lernst du, diese drei Grundformen zu erkennen, kurze Python-Programme nachzuvollziehen und für eine Aufgabe die passende Struktur auszuwählen.

Deine Lernziele

Hake ab, was du schon kannst — und komm am Ende hierher zurück!

Die drei Grundstrukturen steuern den Ablauf

Ohne eine besondere Steuerung arbeitet ein Programm seine Anweisungen der Reihe nach ab. Kontrollstrukturen verändern oder gliedern diesen Kontrollfluss, also den Weg durch das Programm.

Definition

Kontrollstruktur

Eine Kontrollstruktur legt fest, welche Anweisung als Nächstes ausgeführt wird. Die drei Grundformen sind Sequenz, Verzweigung und Wiederholung.

  • Sequenz: Mehrere Anweisungen werden nacheinander ausgeführt.
  • Verzweigung: Eine Bedingung entscheidet zwischen verschiedenen Wegen.
  • Wiederholung oder Schleife: Ein Anweisungsblock wird mehrfach ausgeführt.

Diese Strukturen lassen sich kombinieren und ineinander schachteln. So entstehen auch komplexe Programme aus wenigen überschaubaren Bausteinen.

Merke

Frage beim Lesen eines Programms immer: Was geschieht zuerst, welche Bedingung wird geprüft und welcher Schritt wird wiederholt?

Teste dich
Frage 1 von 1LeichtWelche Kontrollstruktur wählt abhängig von einer Bedingung einen Weg aus?
Lösung: Verzweigung — Eine Verzweigung prüft eine Bedingung und entscheidet danach über den weiteren Weg.
Eine Sequenz führt Schritte nacheinander aus

Bei einer Sequenz ist die Reihenfolge entscheidend. Eine spätere Anweisung kann einen Wert verwenden, der zuvor berechnet wurde.

Beispiel

Betrachte die vier Python-Anweisungen x = 5, y = 10, z = x + y und print(z).

  1. x erhält den Wert 5.
  2. y erhält den Wert 10.
  3. Das Programm addiert beide Werte und speichert 15 in z.
  4. print(z) gibt 15 aus.

Würde die Berechnung von z vor den Zuweisungen stehen, wären die benötigten Werte an dieser Stelle noch nicht festgelegt.

Beim schrittweisen Nachvollziehen notierst du nach jeder Anweisung die aktuellen Variablenwerte. Dadurch erkennst du, wo sich ein Wert ändert und welche Ausgabe entsteht.

Lückentext

Wähle in jeder Lücke die passende Form und prüfe anschließend deine Antworten.

In einer werden Anweisungen der Reihe nach ausgeführt. Bei x = 5, y = 10 und z = x + y hat z anschließend den Wert . Erst danach gibt den Wert aus.

Lösungen: Lücke 1: Sequenz; Lücke 2: 15; Lücke 3: print(z). Verfolge die Anweisungen in ihrer notierten Reihenfolge: zuerst die Zuweisungen, dann die Berechnung und zuletzt die Ausgabe.
Eine Verzweigung trifft eine Entscheidung

Eine Bedingung ist eine prüfbare Aussage mit dem Ergebnis wahr oder falsch. Bei einer Verzweigung bestimmt dieses Ergebnis, welcher Programmteil ausgeführt wird.

Definition

Bedingung

Eine Bedingung vergleicht Werte oder prüft einen Zustand. Beispiele sind x > 10, x == 10 und x < 0.

Eine zweiseitige Verzweigung besitzt einen if-Zweig und einen else-Zweig. Genau einer dieser beiden Wege wird gewählt. Mit elif lassen sich weitere Fälle ergänzen.

Beispiel

Die Funktion vorzeichen(i) soll positive, negative und neutrale Zahlen unterscheiden:

  • Wenn i > 0 wahr ist, gibt sie positiv + zurück.
  • Andernfalls prüft sie i < 0. Ist diese Bedingung wahr, gibt sie negativ - zurück.
  • Treffen beide Bedingungen nicht zu, bleibt nur i == 0; der else-Zweig gibt neutral 0 zurück.

Für i = -5 ist die erste Bedingung falsch und die zweite wahr. Das Ergebnis lautet deshalb negativ -.

Die Reihenfolge mehrerer Bedingungen zählt. Sobald eine Bedingung einer if-elif-else-Kette wahr ist, wird ihr Zweig ausgeführt; die folgenden Zweige werden übersprungen.

Merke

Eine Fallunterscheidung ist vollständig, wenn jeder mögliche Eingabefall zu einem sinnvollen Weg führt. Ein abschließender else-Zweig kann die noch übrigen Fälle abdecken.

Teste dich
Frage 1 von 2MittelFür x = 10 wird zuerst x > 10, danach x == 10 und zuletzt else geprüft. Welcher Zweig läuft?
Lösung: Der Zweig zu x == 1010 > 10 ist falsch, aber 10 == 10 ist wahr. Deshalb wird der zweite Zweig ausgeführt.
Frage 2 von 2SchwerEin Programm soll Zahlen als positiv, negativ oder null einordnen. Welche Struktur deckt alle drei Fälle ab?
Lösung: if x > 0, danach elif x < 0, danach else — Zwei Prüfungen und ein abschließender else-Zweig unterscheiden die drei Fälle eindeutig.
Schleifen wiederholen einen Anweisungsblock

Eine Schleife führt ihren Rumpf mehrfach aus. Ein einzelner Durchlauf heißt Iteration.

Welche Schleife passt, hängt von der Aufgabe ab:

  • Eine for-Schleife eignet sich für eine vorab bestimmte Zahl von Wiederholungen oder zum Durchlaufen einer Sammlung.
  • Eine while-Schleife eignet sich, wenn der Rumpf wiederholt werden soll, solange eine Bedingung wahr ist.
  • Eine fußgesteuerte do-while-Schleife prüft ihre Bedingung erst nach dem Rumpf und läuft deshalb mindestens einmal. Nicht jede Programmiersprache verwendet dafür dieselbe Syntax.
Beispiel

Bei for i in range(5): print(i) nimmt i nacheinander die Werte 0, 1, 2, 3 und 4 an. Der Schleifenrumpf wird fünfmal ausgeführt.

Die obere Grenze 5 gehört nicht zu den erzeugten Werten. Deshalb endet die Ausgabe bei 4.

Eine entsprechende while-Schleife kann mit i = 0 beginnen, i < 5 prüfen, i ausgeben und anschließend mit i += 1 erhöhen. Die Erhöhung ist notwendig, damit die Bedingung irgendwann falsch wird.

Gut zu wissen

Eine kopfgesteuerte while-Schleife prüft vor jedem Durchlauf. Ist ihre Bedingung schon am Anfang falsch, läuft sie kein einziges Mal. Eine fußgesteuerte Schleife prüft erst danach und läuft daher mindestens einmal.

Merke

Prüfe bei einer while-Schleife drei Punkte: den Startwert, die Bedingung und die Veränderung im Schleifenrumpf. Fehlt eine passende Veränderung, kann eine unbeabsichtigte Endlosschleife entstehen.

Teste dich
Frage 1 von 3LeichtWelche Schleife kann ihren Rumpf nullmal ausführen?
Lösung: Eine while-Schleife mit anfangs falscher Bedingung — Die kopfgesteuerte while-Schleife prüft vor dem ersten Durchlauf und kann ihn deshalb überspringen.
Frage 2 von 3MittelWarum endet eine Schleife mit i = 0, der Bedingung i < 5 und i += 1?
Lösung: i wächst, bis die Bedingung i < 5 falsch wird. — Die Veränderung i += 1 führt den Schleifenzustand schrittweise zur Abbruchgrenze.
Frage 3 von 3SchwerDu möchtest jedes Element einer Liste genau einmal bearbeiten. Welche Wahl passt am besten?
Lösung: Eine for-Schleife über die Liste — Eine for-Schleife kann die Elemente einer Sammlung nacheinander durchlaufen.
Kontrollstrukturen kombinieren und auswählen

Eine Kontrollstruktur kann weitere Kontrollstrukturen enthalten. Das nennt man Schachtelung.

Beispiel

Ein Programm durchläuft mit einer Schleife mehrere Zahlen. Innerhalb der Schleife prüft eine Verzweigung, ob die aktuelle Zahl größer als null ist.

Der äußere Ablauf ist eine Wiederholung. Die Entscheidung innerhalb jedes Durchlaufs ist eine Verzweigung. Zusammen kann das Programm dieselbe Prüfung auf alle Zahlen anwenden.

Gehe bei einer neuen Aufgabe in drei Schritten vor:

  1. Notiere die einzelnen Aktionen in ihrer nötigen Reihenfolge.
  2. Markiere Entscheidungen mit ihren Bedingungen und allen benötigten Fällen.
  3. Markiere Aktionen, die mehrfach ausgeführt werden, und bestimme, wodurch die Wiederholung endet.

Nutze diese Entscheidungshilfe:

  • Nur eine feste Reihenfolge nötig? Verwende eine Sequenz.
  • Hängt der nächste Schritt von einem Zustand ab? Verwende eine Verzweigung.
  • Wird derselbe Schritt mehrfach benötigt? Verwende eine Schleife.
  • Treten mehrere dieser Fragen zugleich auf? Schachtele oder kombiniere die Strukturen.
Teste dich
Frage 1 von 1SchwerEin Programm soll fünf Zahlen nacheinander prüfen und nur bei negativen Zahlen eine Warnung ausgeben. Welche Kombination passt?
Lösung: Eine Schleife mit einer Verzweigung im Schleifenrumpf — Die Schleife verarbeitet alle Zahlen; die Verzweigung entscheidet bei jeder Zahl, ob die Warnung nötig ist.
Karteikasten
Karteikasten

Überlege zuerst selbst und drehe die Karte anschließend zum Prüfen um.

Alles auf einen Blick
Mindmap
  • Kontrollstrukturen
    • Sequenz: Schritte nacheinander
    • Verzweigung: Weg durch Bedingung wählen
    • Schleife: Schritte wiederholen
    • Schachtelung: Grundstrukturen kombinieren
    • Ablaufprüfung: Werte, Bedingungen und Wiederholungen verfolgen
Abschluss-Check
Teste dich
Frage 1 von 4LeichtWelche drei Kontrollstrukturen bilden den Kern strukturierter Programme?
Lösung: Sequenz, Verzweigung und Schleife — Die Sequenz ordnet Schritte, die Verzweigung wählt einen Weg und die Schleife wiederholt Schritte.
Frage 2 von 4MittelWelche Ausgabe entsteht durch x = 5, y = 10, z = x + y und print(z)?
Lösung: 15 — Die Sequenz setzt zuerst beide Werte, berechnet danach z = 15 und gibt zuletzt z aus.
Frage 3 von 4MittelEine while-Schleife startet mit i = 0 und prüft i < 5, verändert i aber nie. Was ist das Problem?
Lösung: Die Bedingung bleibt wahr und die Schleife kann endlos laufen. — Startwert, Bedingung und Veränderung müssen zusammen dafür sorgen, dass die Schleife ihr Ziel erreicht und endet.
Frage 4 von 4SchwerEin Programm soll mehrere Eingaben bearbeiten und jede als positiv, negativ oder null einordnen. Welche Lösung beschreibt den Aufbau am besten?
Lösung: Eine Schleife um eine vollständige if-elif-else-Verzweigung — Die Schleife verarbeitet mehrere Eingaben. Die geschachtelte Verzweigung unterscheidet für jede Eingabe vollständig zwischen positiv, negativ und null.

Kontrolliere zum Schluss deinen Denkweg: Kannst du bei einem kurzen Programm die Reihenfolge markieren, jede Bedingung auswerten und für jede Schleife erklären, warum sie endet? Dann kannst du den Kontrollfluss systematisch nachvollziehen.

Passend dazu