C :: Aufgabe #309
0 Lösungen
Ternäre Logik (Dreiwertige Logik)
Fortgeschrittener - C
von JKooP
- 02.12.2020 um 17:20 Uhr
Statt der bekannten Wahrheitswerte TRUE (t) und FALSE (f) gibt es noch einen weiteren Wert: DON’T CARE (x).
Dies wird als Dreiwertige Logik bezeichnet.
für x gilt zusätzlich bei Junktoren zur bekannten Aussagenlogik:
Negation:
NOT x => x
Konjunktion:
t AND x => x
f AND x => f
x AND x => x
Disjunktion:
t OR x => t
f OR x => x
x OR x => x
und darüber hinaus:
Inklusion:
A -> B => (NOT A) OR B
Äquivalenz:
(A <-> B) => (A -> B) AND (B -> A)
Es soll ein Programm erstellt werden, mit dem es möglich ist,
die o.a. ternäre Logik - auch innerhalb von Inklusion und Äquivalenz - abzubilden.
Hier bieten sich zur Lösung des Problems sowohl Methoden bzw. Funktionen,
als auch, wenn es die Programmiersprache zulässt, Operatorüberladungen an.
Beispiele:
t OR (NOT x) == t
NOT(x) OR (NOT(t)) == x
x -> t == t
(x OR f) <-> (x -> (f AND (NOT x))) == x
Viel Spaß
Dies wird als Dreiwertige Logik bezeichnet.
für x gilt zusätzlich bei Junktoren zur bekannten Aussagenlogik:
Negation:
NOT x => x
Konjunktion:
t AND x => x
f AND x => f
x AND x => x
Disjunktion:
t OR x => t
f OR x => x
x OR x => x
und darüber hinaus:
Inklusion:
A -> B => (NOT A) OR B
Äquivalenz:
(A <-> B) => (A -> B) AND (B -> A)
Es soll ein Programm erstellt werden, mit dem es möglich ist,
die o.a. ternäre Logik - auch innerhalb von Inklusion und Äquivalenz - abzubilden.
Hier bieten sich zur Lösung des Problems sowohl Methoden bzw. Funktionen,
als auch, wenn es die Programmiersprache zulässt, Operatorüberladungen an.
Beispiele:
t OR (NOT x) == t
NOT(x) OR (NOT(t)) == x
x -> t == t
(x OR f) <-> (x -> (f AND (NOT x))) == x
Viel Spaß
Lösungen:
Für diese Aufgabe gibt es noch keine Lösung.