![]() |
![]() |
C++ |
G.Eichelsdörfer - Staatliche Technikerschule Weilburg |
Typische boolesche Ausdrücke sind
Wahl==3
, i<10
, k>5
.
Diese Ausdrücke sind zur Programmlaufzeit eindeutig wahr oder falsch.
Im mathematischen Sinne sind Aussagen solche Ausdrücke, die eindeutig wahr oder falsch sind.
Alle booleschen Operatoren bilden mit Operanden zur Laufzeit solche Aussagen. Man unterscheidet zwischen unären und binären Operatoren.
Unäre Operatoren werden auf einen Operanden angewendet.
Beispiel: -x
kehrt das Vorzeichen des Wertes der Variablen x um.
Binäre Operatoren stehen zwischen zwei Operanden.
Beispiel: a < b
vergleicht die Werte in a und b.
Es gibt sogar einen trinären Operator "?:
",
der sich mit drei Operanden beschäftigt.
Der Vorrat an Operatoren ist begrenzt. Die Sprachdefinition von C++ legt alle Operatoren fest, zusätzliche gibt es nicht.
Symbol | unär | binär | Beispiel | Bedeutung |
---|---|---|---|---|
< |
X | a<5 |
kleiner als (less than), hier: "a ist kleiner als 5." | |
> |
X | b>0 |
größer als (greater than), hier: "b ist größer als 0." | |
<= |
X | a<=10 |
kleiner oder gleich (less than or equal), hier: "a ist kleiner oder gleich 10." | |
>= |
X | b>=0 |
größer oder gleich (greater than or equal), hier: "b ist größer oder gleich 0." | |
== |
X | i==8 |
gleich (equal), hier: "i ist gleich 8." | |
!= |
X | c!=d |
ungleich, nicht gleich (not equal), hier: "c ist nicht gleich d." | |
! |
X | !(a<b) |
nicht (not), hier: "a istnichtkleiner als b." | |
&& |
X | a>5 && a<20 |
logisches UND (logical AND), hier: "a liegt zwischen 5 und 20." | |
|| |
X | b<1 || b>9 |
logisches ODER (logical OR), hier: "b liegt außerhalb 1 bis 9." |
Die letzten 3 Operatoren verknüpfen boolesche Ausdrücke, wodurch ein zusammengesetzter boolescher Ausdruck entsteht. Solche Ausdrücke können beliebig komplex zusammengesetzt werden. Wenn jedoch ein boolescher Ausdruck sehr komplex wird, dann ist er schwierig zu durchschauen. Ein solcher Ausdruck ist schwierig zu pflegen, was einem wesentlichen Qualitätsmerkmal von Software widerspricht.
Nicht nur in solchen Fällen kann man sich mit einer Variablen vom Typ bool
helfen. Eine Variable des Typs bool
kann ausschließlich einen
Wahrheitswert (true oder false) aufnehmen.
Beispiel: valid heißt soviel wie gültig.
bool valid = Wahl>0 && Wahl<4;
valid
beinhaltet nun genau dann den Wert true
, wenn der Wert von
Wahl zwischen 1 und 3 liegt. Die Variable valid
kann nun in einem booleschen
Ausdruck eingesetzt werden.
Etwa so: if(valid) ...
Erstellen Sie ein Programm, welches 3 Zahlen einliest und den int-Variablen a,b und c zuweist!
Dann sollen auf die eingelesenen Werte nacheinander alle obigen booleschen Operatoren
angewendet werden. Die Vergleiche und Verknüpfungen sollen zusammen mit deren Resultaten
ausgegeben werden. Verwenden sie auch eine boolesche Variable!
Ausgabebeispiel:
cout << a << '<' << b << " = " << (a<b)
<< endl;
Denken Sie sich die Ausdrücke selbst aus!