我有这个任务,要求我把一个前提声明变成代码。我的想法是,我需要打印真值表以获得前提声明。 这是前提: (((P v Q)^(Q - > R))XOR(P v R)) - < - > (R ^ Q)
我可以创建一个手动真值表Truth Table for the above premise
我只是不明白如何将其转换为代码?我如何使用典型的基本库,如iostream,字符串,数学等来处理它。我不能利用任何其他东西,如矢量,集合等。
您不必编写文字代码,但也许某些伪代码可能有所帮助,甚至只是提示。
据我所知,“^”是&&,“v”是||,“ - >”是“if-else”,但我不确定“< - >”和“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)
答案 0 :(得分:1)
您可以(并且应该)使用布尔变量:
// 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;