Wahrheitswerte Flashcards

Boolesche Funktionen; der Typ 𝚋𝚘𝚘𝚕; logische und relationale Operatoren; Kurzschlussauswertung

1
Q

Was repräsentiert der Typ 𝚋𝚘𝚘𝚕 und was ist sein Wertebereich?

A

Der Typ 𝚋𝚘𝚘𝚕 repräsentiert Wahrheitswerte. Sein Wertebereich ist {𝚏𝚊𝚕𝚜𝚎, 𝚝𝚛𝚞𝚎} bzw. {0, 𝟷}.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
2
Q

Was sind relationale Operatoren, was für Werte geben sie aus und welche Operatoren gibt es?

A

Relationale Operatoren vergleichen verschiedene R-Werte und geben einen R-Wert des Typs 𝚋𝚘𝚘𝚕 zurück. Es gibt: (In Klammer jeweils: Stelligkeit, Präzedenz, Ass.)

  • kleiner < (2, 11, l)
  • grösser > (2, 11, l)
  • kleiner gleich <= (2, 11, l)
  • grösser gleich >= (2, 11, l)
  • gleich == (2, 10, l)
  • ungleich != (2, 10, l)
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
3
Q

Was ist eine Boolesche Funktion?

A

Eine Funktion f: {0, 1}² → {0, 1}, die für logische Operationen einen Wahrheitswert ausgibt.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
4
Q

Welche logischen Operatoren existieren und welches ist ihre C++-Syntax?

A

Es gibt: (In Klammer jeweils: Stelligkeit, Präzedenz, Ass.) - Logisches “Und”: 𝚊 && 𝚋 (2, 6, l)

  • Logisches “Oder”: 𝚊 || 𝚋 (2, 5, l)
  • Logisches “Nicht”: !𝚋 (1, 16, r)
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
5
Q

Wie werden logische, arithmetische und relationale Operatoren gebunden in Anbetracht ihrer Präzedenzen?

A
  1. Unäre logische Operatoren (z.B. “nicht”)
  2. Binäre arithmetische Operatoren (z.B. “5 + b”)
  3. Relationale Operatoren (z.B. “kleiner als”)
  4. Binäre logische Operatoren (z.B. “oder”)
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
6
Q

Wie wird der folgende Ausdruck geklammert?

𝟽 + 𝚡 < 𝚢 && 𝚢 != 𝟹 * 𝚣 || !𝚋

A

(((𝟽 + 𝚡) < 𝚢) && (𝚢 != (𝟹 * 𝚣))) || (!𝚋)

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
7
Q

Es gibt auch logische Operationen, die aus den drei grundlegenden Booleschen Funktionen kombiniert werden können, z.B. das “exklusive Oder”. Wie wird es konstruiert?

A

XOR(x, y) = UND(ODER(x, y), NICHT(UND(x, y))).

oder in C++:
𝚡 || 𝚢) && !(𝚡 && 𝚢

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
8
Q

Wie werden die Typen 𝚋𝚘𝚘𝚕 und 𝚒𝚗𝚝 jeweils in den anderen Typen kombiniert?

A

Von 𝚋𝚘𝚘𝚕 → 𝚒𝚗𝚝:
𝚝𝚛𝚞𝚎 → 𝟷
𝚏𝚊𝚕𝚜𝚎 → 0

Von 𝚒𝚗𝚝 → 𝚋𝚘𝚘𝚕:
≠0 → 𝚝𝚛𝚞𝚎
0 → 𝚏𝚊𝚕𝚜𝚎

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
9
Q

Welches sind die beiden DeMorganschen Regeln?

A

(1) !(𝚊 && 𝚋) == (!𝚊 || !𝚋)

2) !(𝚊 || 𝚋) == (!𝚊 && !𝚋

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
10
Q

Was bedeutet die sogenannte Kurzschlussauswertung?

A

Falls Aufgrund der Linkspräzedenz der beiden binären logischen Operatoren das Ergebnis schon feststeht, wird der rechte Teil nicht mehr ausgewertet.
Zum Beispiel für 𝚡 == 𝟹 ist der Ausdruck
𝚡 != 𝟹 && 𝚡 / 𝟹 > (𝚢 || 𝚣) schon nach 𝚡 != 𝟹 falsch und der rechte Teil wird übersprungen.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly