У меня есть это задание, которое требует от меня превращения предпосылки в код. Идея заключается в том, что мне нужно распечатать таблицу истинности для утверждения предпосылки.
Это предпосылка:
(((P v Q) ^ (Q -> R)) XOR (P v R)) <-> (R ^ Q)
Я могу создать ручную таблицу правды Таблица правды для вышеуказанного помещения
Я просто не понимаю, как преобразовать это в код? Как бы я подошел к этому, используя типичные базовые библиотеки, такие как iostream, string, math и т. Д. Я не могу использовать что-либо еще, например векторы, наборы и т. Д.
Вам не нужно писать буквальный код, но, возможно, какой-то псевдокод может помочь или даже оправдать советы.
Я понимаю, что «^» это &&, «v» это ||, «->» это «если-еще», но я не уверен насчет «<-> «и» XOR «или просто как поместить это в код.
Заранее спасибо.
ОБНОВИТЬ:
Согласно помощи моих коллег по работе с stackoverflow, нам удалось получить буквальное значение каждого оператора логического оператора в подходе c ++.
(P v Q) = P OR Q = (P || Q)
(P ^ Q) = P AND Q = (P && Q)
(P XOR Q) = P ^ Q = (P ^ Q)
(P -> Q) = if P then Q = (!P || Q)
(p <-> Q) = Only If P then Q = !(P ^ Q)
Вы можете (и должны) использовать логические переменные:
// declare variables and initialize.
bool p = true;
bool q = true;
bool r = true;
// Input values (from user or file)
//...
// Output some columns:
cout << p << " | " << q << " | " << r << " | ";
cout << (p || q) << " | ";
//...
cout << endl;
Других решений пока нет …