实验名称****:命题逻辑公式化简
实验目的和要求****:加深对五个基本联结词(否定、合取、析
取、条件、双条件)的理解、掌握利用基本等价公式化简公式的方法。
实验内容:
【实验内容】用化简命题逻辑公式的方法设计一个表决开关电路。
实验用例:用化简命题逻辑公式的方法设计一个5人表决开关电路,要求3人以上(含3人)同意则表决通过(表决开关亮)。
【实验原理和方法】
(1)写出5人表决开关电路真值表,从真值表得出5人表决开关电路的主合取公式(或主析取公式),将公式化简成尽可能含五个基本联结词最少的等价公式。
(2)上面公式中的每一个联结词是一个开关元件,将它们定义成C语言中的函数。
(3)输入5人表决值(0或1),调用上面定义的函数,将5人表决开关电路真值表的等价公式写成一个函数表达式。
(4)输出函数表达式的结果,如果是1,则表明表决通过,否则表决不通过。
实验心得:
- 利用真值表(详见附录):得到5人表决开关电路的主析取范式m00111∨m01011∨m01101∨m01110∨m01111∨m10011∨m10101∨m10110∨m10111∨m11001∨m11010∨m11011∨m11100∨m11101∨m11110∨m11111
- 利用python语言:
a = [eval(x) for x in input('请输入5个人的表决意愿,同意为1,不同意为0:').split()]
if(sum(a)>2):
print('表决通过!')
else:
print('表决不通过!')
①表决通过示例:
②表决不通过示例:
附录:真值表
A
B
C
D
E
值
小项
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
1
0
0
0
0
0
1
1
0
0
0
1
0
0
0
0
0
1
0
1
0
0
0
1
1
0
0
0
0
1
1
1
1
m00111
0
1
0
0
0
0
0
1
0
0
1
0
0
1
0
1
0
0
0
1
0
1
1
1
m01011
0
1
1
0
0
0
0
1
1
0
1
1
m01101
0
1
1
1
0
1
m01110
0
1
1
1
1
1
m01111
1
0
0
0
0
0
1
0
0
0
1
0
1
0
0
1
0
0
1
0
0
1
1
1
m10011
1
0
1
0
0
0
1
0
1
0
1
1
m10101
1
0
1
1
0
1
m10110
1
0
1
1
1
1
m10111
1
1
0
0
0
0
1
1
0
0
1
1
m11001
1
1
0
1
0
1
m11010
1
1
0
1
1
1
m11011
1
1
1
0
0
1
m11100
1
1
1
0
1
1
m11101
1
1
1
1
0
1
m11110
1
1
1
1
1
1
m11111
代码可能存在借鉴,侵删!
版权归原作者 Cat_on_tree 所有, 如有侵权,请联系我们删除。