离散数学实验报告
专业班级:12级计算机本部一班 姓名:鲍佳珍 学号: [**************] 实验成绩:
1.【实验题目】
命题逻辑实验三
2.【实验目的】
加深对五个基本联结词(否定、合取、析取、条件、双条件)的理解、掌握利用基本等价公式化简公式的方法。
3.【实验内容】
用化简命题逻辑公式的方法设计一个表决开关电路。
4、【实验要求】
C 或C ++语言编程实现
5. 【算法描述】
(1)写出5人表决开关电路真值表,从真值表得出5人表决开关电路的主合取公式(或主析取公式),将公式化简成尽可能含五个基本联结词最少的等价公式。
(2)上面公式中的每一个联结词是一个开关元件,将它们定义成C 语言中的函数。
(3)输入5人表决值(同意为1,不同意为0),调用上面定义的函数,将5人表决开关电路真值表的等价公式写成一个函数表达式。
(4)输出函数表达式的结果,如果是1,则表明表决通过,否则表决不通过。
6. 【源程序(带注释)】
#include
int show(int a,int b,int c,int d,int e);//声明一个函数
int main()
{
int a,b,c,d,e;
int m,n; printf(“您是否要计算5人表决真值,是请输入1,否请输入0
“);
scanf(“%d”,&n); while(n){ //使程序可以随用户自己结束或继续
printf(“请输入5人表决结果,1表示同意,0表示不同意
“);
}
int show(int a,int b,int c,int d,int e) //定义函数
{
if( a&&b&&c || a&&b&&d || a&&b&&e || a&&c&&d || } return 0; scanf(“%d%d%d%d%d”,&a,&b,&c,&d,&e); m=show(a,b,c,d,e); if(m==1) printf(“表决通过
“); else printf(“表决不通过
“); printf(“您是否要继续输入,是请输入1,否请输入0
“); scanf(“%d”,&n); a&&c&&e || a&&d&&e || b&&c&&d || b&&c&&e || b&&d&&e ||
c&&d&&e)
}
7.【实验结果与分析总结(含运行结果截图)】
return 1; else return 0;
软件界面
进行五人表决并输出结果
再次输入五人表决,并输
出最后结果
输入0,程序结束