计算命题演算公式的真值

【问题描述】

 所谓命题演算公式是指由逻辑变量(其值为 TRUE 或 FALSE)和逻辑运算符∧(AND)、∨(OR)和 (NOT)按一定规则所组成的公式(蕴含之类的运算可以用∧、∨和来表示)。公式运算的先后顺序为 、∧、∨,而括号() 可以改变优先次序。已知一个命题演算公式及各变量的值,要求设计一个程序来计算公式的真值。

【基本要求】

 (1)程序运行有菜单选择。
 (2)利用二叉树来计算公式的真值。首先利用堆栈将中缀形式的公式变为后缀形式;然后根据后缀形式,从叶结点开始构造相应的二叉树;最后按后序遍历该树,求各子树之值,即每到达一个结点,其子树之值已经计算出来,当到达根结点时,求得的值就是公式之真值。
 (3)逻辑变元的标识符用单字母表示。
 (4)打印公式的后序遍历序列。
 (5)根据用户的要求,输入各变量的值,计算并显示表达式的真值。

【扩展要求】(选做)

(1)设计多种不同形式的命题演算公式,对各个命题演算公式进行合法性检查。
(2)逻辑变元的标识符不限于单字母,而可以是任意长的字母数字串。
(3)打印创建的二叉树的结构。
(4)根据用户的要求显示公式的真值表。
(5)将命题演算公式中的逻辑运算符增加异或、蕴含、等价。
(6)实现程序的可视化界面。

https://download.csdn.net/download/cqq20091001234/3513677
https://jz.docin.com/p-1027128634.html