Bedingungen beim Programmieren einfach erklärt
Eine Bedingung ist eine prüfbare Aussage. Ihr Ergebnis ist entweder wahr oder falsch. Ein Programm nutzt dieses Ergebnis, um einen passenden Codepfad auszuwählen oder eine Schleife fortzusetzen.
Auf dieser Seite lernst du, Bedingungen zu formulieren, Programmzweige vorherzusagen und typische Fehler zu vermeiden.
Hake ab, was du schon kannst — und komm am Ende hierher zurück!
Von einer Aussage zur Entscheidung
Stell dir eine Heizung vor: Liegt die Temperatur unter 20 Grad, soll sie eingeschaltet werden. Das Programm prüft dazu die Aussage Temperatur < 20.
Bedingung
Eine Bedingung ist ein Ausdruck, der als wahr oder falsch ausgewertet wird. Dieses Ergebnis heißt auch boolescher Wert oder Wahrheitswert.
Bei Temperatur = 17 ist Temperatur < 20 wahr. Bei Temperatur = 22 ist die Bedingung falsch.
Der Programmplan lautet:
- Prüfe
Temperatur < 20. - Ist die Bedingung wahr, schalte die Heizung ein.
- Ist sie falsch, überspringe diese Anweisung.
- Fahre danach mit dem Programm fort.
Für Temperatur = 17 wird die Heizung eingeschaltet. Für Temperatur = 22 wird die Anweisung übersprungen.
Eine Bedingung wird bei jedem erneuten Erreichen wieder geprüft. Ändert sich die Temperatur, kann dasselbe Programm beim nächsten Durchlauf anders reagieren.
Vergleiche richtig formulieren
Vergleichsoperatoren stellen zwei Werte einander gegenüber:
| Bedeutung | Operator | Beispiel |
|---|---|---|
| größer als | > | x > 5 |
| kleiner als | < | x < 5 |
| größer oder gleich | >= | x >= 5 |
| kleiner oder gleich | <= | x <= 5 |
| gleich | == | x == 5 |
| ungleich | != | x != 5 |
In vielen textbasierten Programmiersprachen bedeutet = eine Zuweisung: Eine Variable erhält einen Wert. Der Vergleich auf Gleichheit wird dort mit == geschrieben. Die genaue Schreibweise hängt jedoch von der Programmiersprache ab.
Frage dich vor dem Programmieren: Will ich einer Variable einen Wert geben oder zwei Werte vergleichen?
Für Alter = 21 wird Alter >= 18 geprüft.
21ist größer als18.- Die Grenze
18wäre durch>=ebenfalls eingeschlossen. - Die Bedingung ist deshalb wahr.
Das Programm kann nun den Codepfad für volljährige Personen auswählen.
Wähle in jeder Lücke die passende Form und prüfe anschließend deine Antworten.
Der Ausdruck `Punkte 10 schließt den Wert 10 ein. Für Punkte = 10` ist er deshalb . Mit `Punkte 10` wird geprüft, ob der Wert genau 10 beträgt.
>= bedeutet „größer oder gleich“. == ist in vielen Sprachen der Gleichheitsvergleich.>= bedeutet „größer oder gleich“. == ist in vielen Sprachen der Gleichheitsvergleich.Mit if und else zwei Wege auswählen
Eine bedingte Anweisung führt einen Codeabschnitt nur aus, wenn ihre Bedingung wahr ist. Häufig wird dafür if verwendet. Ein optionaler else-Zweig beschreibt den anderen Fall.
Verzweigung
Eine Verzweigung teilt den Programmablauf in alternative Pfade. Bei einer if-else-Verzweigung wird genau einer der beiden Zweige ausgeführt.
Ein sprachunabhängiger Programmplan kann so aussehen:
- Falls
Passwort_eingegeben == Passwort_gespeichert, führeanmeldenaus. - Sonst führe
Zugriff_verweigernaus. - Setze das Programm nach der Verzweigung fort.
Gegeben sind Passwort_gespeichert = 4821 und Passwort_eingegeben = 4821.
Der Vergleich 4821 == 4821 ist wahr. Deshalb wird anmelden ausgeführt. Zugriff_verweigern wird nicht ausgeführt.
Bei Passwort_eingegeben = 4812 wäre der Vergleich falsch. Dann würde das Programm den else-Zweig mit Zugriff_verweigern wählen.
Ohne else gibt es keinen alternativen Codeblock. Bei einer falschen Bedingung setzt das Programm seine Ausführung nach der if-Anweisung fort.
Mehrere Bedingungen verbinden
Manchmal reicht ein einzelner Vergleich nicht. Dann werden Teilbedingungen logisch verknüpft.
- UND ist nur wahr, wenn beide Teilbedingungen wahr sind. Häufige Schreibweise:
&&. - ODER ist wahr, wenn mindestens eine Teilbedingung wahr ist. Häufige Schreibweise:
||. - NICHT kehrt einen Wahrheitswert um. Häufige Schreibweise:
!.
Ein Spielzug ist erlaubt, wenn Energie > 0 und Pause == falsch gilt.
Für Energie = 3 und Pause = falsch sind beide Teilbedingungen erfüllt. Die UND-Verknüpfung ist wahr.
Für Energie = 0 und Pause = falsch ist die erste Teilbedingung falsch. Damit ist die gesamte UND-Verknüpfung falsch.
Bei längeren Ausdrücken machen Klammern die beabsichtigte Gruppierung deutlich. Die genaue Operatorschreibweise und einzelne Auswertungsregeln sind sprachabhängig.
Vertiefung: Kurzschlussauswertung
Bei üblichen Kurzschlussoperatoren endet die Auswertung, sobald das Gesamtergebnis feststeht:
- Bei UND genügt eine erste falsche Teilbedingung.
- Bei ODER genügt eine erste wahre Teilbedingung.
Ist beispielsweise die erste Teilbedingung von A UND B falsch, kann B das Gesamtergebnis nicht mehr wahr machen.
Mehr als zwei Fälle unterscheiden
Für mehrere mögliche Ergebnisse gibt es zwei verbreitete Vorgehensweisen.
Eine geordnete if-Kette prüft unterschiedliche Bedingungen nacheinander. Sobald eine Bedingung wahr ist, wird ihr Zweig ausgeführt. Ein abschließender else-Zweig kann alle übrigen Fälle abdecken.
Eine Punktzahl soll eingeordnet werden:
- Falls
Punkte >= 80, gib „hoch“ aus. - Sonst, falls
Punkte >= 50, gib „mittel“ aus. - Sonst gib „niedrig“ aus.
Für Punkte = 85 trifft bereits die erste Bedingung zu: Ausgabe „hoch“.
Für Punkte = 65 ist die erste Bedingung falsch, aber die zweite wahr: Ausgabe „mittel“.
Für Punkte = 30 sind beide Bedingungen falsch: Ausgabe „niedrig“.
Die Reihenfolge ist wichtig. Würde zuerst Punkte >= 50 geprüft, würde auch der Wert 85 bereits dort eingeordnet.
Wenn ein einzelner Ausdruck mit mehreren festen Werten verglichen wird, kann eine Fallauswahl wie switch geeignet sein. Ein default-Zweig fängt nicht aufgeführte Werte ab. Syntax und Verhalten unterscheiden sich je nach Programmiersprache.
Bedingungen steuern außerdem Schleifen: Eine while-Schleife wiederholt ihren Rumpf, solange ihre Bedingung wahr ist. Wird sie falsch, endet die Wiederholung.
Karteikasten
Überlege zuerst selbst und drehe die Karte anschließend zum Prüfen um.
Alles auf einen Blick
- Bedingung steuert den Programmablauf
- Vergleich liefert wahr oder falsch
- if führt den Wahr-Zweig aus
- else übernimmt den anderen Fall
- UND, ODER und NICHT verbinden Bedingungen
- Mehrfachverzweigung unterscheidet mehrere Fälle
- while wiederholt, solange die Bedingung wahr ist
Abschluss-Check
Du kannst eine Verzweigung jetzt systematisch nachvollziehen: Setze die aktuellen Werte in die Bedingung ein, bestimme wahr oder falsch und folge genau dem zugehörigen Codepfad.
Mit Google fortfahren