zur vorherigen Seite   zum Inhaltsverzeichnis   zur nächsten Seite

Antwort:

(4 < 8 ) && (  8 < 0 ) && ( 100 > 45 )
   (T    &&      F)    && ( 100 > 45 )
          F            && ( 100 > 45 )

.... Auswertung stoppt mit dem Wert false für den gesamten Ausdruck.

Kaskadierende &&-Operatoren

Tritt mehr als ein &&-Operator in einem Ausdruck auf, so werden diese &&-Operatoren gruppiert. Das Ergebnis einer solchen Gruppe wird als normaler einzelner Boole'scher Wert behandelt und sofern er true ist, über die rechts daneben stehende &&-Operation mit dem dann folgenden Operanden verknüpft.

Nehmen wir an V, W, X, Y, und Z stehen für Boole'sche Operanden. Diese werden für die Auswertung von links nach rechts wie folgt gruppiert:

   V && W  && X   && Y  && Z

  (V && W) && X   && Y  && Z

 ((V && W) && X ) && Y  && Z

(((V && W) && X ) && Y) && Z

In der letzten Zeile des obigen Beispiels hat jeder &&-Operator einen Operanden links und einen rechts. Die sogenannte Assoziativität eines Operators beschreibt, wie seine Operanden in solchen Ausdrücken wie oben gruppiert werden. Der &&-Operator hat eine Assoziativität von links nach rechts, so wie die meisten Operatoren. Es gibt allerdings auch Operatoren mit anderer Assoziativität.

Sollte dies alles etwas verwirrend klingen, so macht Euch keine allzu große Sorgen. Was Ihr mitnehmen solltet ist, dass die Auswertung von Ausdrücken mit mehreren &&-Operatoren den gesamten Ausdruck von links nach rechts nach einem false absucht. Das erste false beendet die Auswertung, und das Ergebnis des gesamten Ausdrucks ist false. Nur dann, wenn jeder Operand true ist, ist der gesamte Ausdruck true.

FRAGE 10:

Welchen Wert ergibt folgender Ausdruck:

(4 < 8 ) || (  8 < 0 ) || ( 100 > 45 )