Logo des digitalen Schulbuchs inf-schule.de. Schriftzug in Zustandsübergangsdiagramm eines endlichen Automaten.

Fachkonzept - Bedingungen

Datentyp Wahrheitswerte

Wahrheitswerte spielen bei der Auswertung von Bedingungen eine zentrale Rolle. Eine Bedingung ist dabei wahr oder falsch (oder nicht auswertbar, wenn Variablen noch keinen Wert haben).

Der Datentyp Wahrheitswerte beschreibt die Menge {wahr, falsch} der Wahrheitswerte zusammen mit den Operationen, die man mit Wahrheitswerten ausführen kann.

In Python wird der Datentyp Wahrheitswerte mit bool bezeichnet. Die Wahrheitswerte selbst werden mit True und False bezeichnet.

Wahrheitswerte kann man mit logischen Operatoren verknüpfen. Die folgende Tabelle zeigt, wie die drei logischen Grundoperatoren in Python bezeichnet werden. Das Verhalten der logischen Operatoren wird mit Wahrheitstafels festgelegt (siehe ...).

Operator Bedeutung Beispiel Wert
not nicht not True False
and und True and False False
or oder True or False True

Bedingungen

Bedingungen werden durch logische Terme (d.h. Terme vom Datentyp "Wahrheitswert") dargestellt.

Wie solche Terme aufgebaut sein können, soll im Folgenden anhand von Beispielen aufgezeigt werden. Die Beispiele sind dabei in der Programmiersprache Python dargestellt.

Häufig werden Bedingungen mit Vergleichsoperatoren gebildet. So sind jahr % 400 == 0 bzw. jahr % 100 != 0 zwei Bedingungen die die Vergleichssoperatoren == (für "gleich") bzw. != (für "ungleich") verwenden. Mehr über Vergleichsoperatoren und ihre Darstellung in Python findest du im Abschnitt ???.

Bedingungen, die auf diese Weise mit Vergleichsoperatoren formuliert werden, sind elementare Bedingungen, da sie nicht weiter in Teilbedingungen zerlegt werden können.

Zusammengesetzte Bedingungen erhält man, wenn man Bedingungen mit Hilfe von logischen Operatoren verknüpft. Zur Verknüpfung stehen dabei u.a. die Operatoren and (für ein logisches "und"), or (für ein logisches "oder") und not (für ein logisches "nicht") zur Verfügung.

Das folgende Programm enthält eine solche zusammengesetzte Bedingung. Mit diesem Programm kann man bestimmen, ob ein eingegebenen Jahr ein Schaltjahr ist.

# Eingabe
jahr  = int(input('Jahr: '))
# Verarbeitung und Ausgabe
if jahr % 400 == 0 or (jahr % 4 == 0 and not jahr % 100 == 0):
    print(jahr, 'ist ein Schaltjahr.')
else:
    print(jahr, 'ist kein Schaltjahr.')

Beachte, dass in Python Vergleichsoperatoren stärker binden als logische Operatoren.

Logische Variablen

Logische Variablen sind Variablen, die ein Datenobjekt vom Typ bool verwalten. Das folgende Programm benutzt die logische Variable istSchaltjahr, um zu erfassen, ob ein Schaltjahr vorliegt.

# Eingabe
jahr  = int(input('Jahr: '))
# Verarbeitung und Ausgabe
if jahr % 400 == 0 or (jahr % 4 == 0 and not jahr % 100 == 0):
    istSchaltjahr = True
else:
    istSchaltjahr = False
# Ausgabe
if istSchaltjahr == True:
    print(jahr, 'ist ein Schaltjahr.')
else:
    print(jahr, 'ist kein Schaltjahr.')

Zuweisungen an logische Variablen können - wie im folgenden Programm - auch mit logischen Termen gebildet werden.

# Eingabe
jahr  = int(input('Jahr: '))
# Verarbeitung und Ausgabe
istSchaltjahr = jahr % 400 == 0 or (jahr % 4 == 0 and not jahr % 100 == 0)
# Ausgabe
if istSchaltjahr == True:
    print(jahr, 'ist ein Schaltjahr.')
else:
    print(jahr, 'ist kein Schaltjahr.')

Das Zusammenspiel von logischen Variablen und logischen Operatoren liefert oft kurze und verständliche Programme.

Logische Funktionen

Bedingungen können auch Funktionsaufrufe enthalten, wenn diese Funktionen Rückgaben vom Datentyp bool erzeugen.

X

Fehler melden

X

Suche