1、实验三离散数学实验报告 实验成绩:1【实验序号】实验三2【实验目的】 加深对五个基本联结词(否定、合取、析取、条件、双条件)的理解、掌握利用基本等价公式化简公式的方法。3【实验内容】 用化简命题逻辑公式的方法设计一个表决开关电路4. 【实验要求】 某公司董事会由5个董事组成,公司要对某项决策进行投票表决,只要半数(3位董事)以上都同意(用1表示同意,用0表示不同意)决策通过,否则不通过。试写出5位董事表决的命题公式(提示:列出表决开关电路真值表,从真值表得出5人表决开关电路的主合取公式(或主析取公式),将公式化简成尽可能含五个基本联结词最少的等价公式)。 上面公式中的每一个联结词是一个开关元件
2、,将它们定义成C语言中的函数。 输入5人表决值(同意为1,不同意为0),调用上面定义的函数,将5人表决开关电路真值表的等价公式写成一个函数表达式。 输出函数表达式的结果,如果是1,则表明表决通过,否则表决不通过。5. 【算法描述】通过以下界面提示实现相应逻辑运算,给出具体逻辑值*请输入5位董事(分别用A、B、C、D、E表示)的表决值(1或0):A董事表决值(1或0): B董事表决值(1或0):C董事表决值(1或0):D董事表决值(1或0):E董事表决值(1或0):出结果/继续/结束(y/c/exit): *6. 【源程序(带注释)】#include #include #include usin
3、g namespace std;int main() char a100,b100,c100,d100,e100; /定义5个字符型数组,用来储存ABCDE5个董事的表决值 char f100; /f数组为接收出结果/继续/结束的字符 void print(); /声明显示函数 for(;) print(); coutnt请输入5位董事(分别用A、B、C、D、E表示)的表决值(1或0):nn; couttA董事表决值(1或0):ntB董事表决值(1或0):ntC董事表决值(1或0):ntD董事表决值(1或0):ntE董事表决值(1或0):; coutnnt出结果/继续/结束(y/c/exit)
4、:n; print(); couta; while(strcmp(a,0)!=0 & strcmp(a,1)!=0) /利用strcmp判断字符串,避免输入值错误 print(); coutA董事表决值输入有误,请重新输入!n; print(); couta; print(); coutb; while(strcmp(b,0)!=0 & strcmp(b,1)!=0) /利用while语句执行判断 print(); coutB董事表决值输入有误,请重新输入!n; print(); coutb; print(); coutc; while(strcmp(c,0)!=0 & strcmp(c,1)
5、!=0) print(); coutC董事表决值输入有误,请重新输入!n; print(); coutc; print(); coutd; while(strcmp(d,0)!=0 & strcmp(d,1)!=0) print(); coutD董事表决值输入有误,请重新输入!n; print(); coutd; print(); coute; while(strcmp(e,0)!=0 & strcmp(e,1)!=0) print(); coutE董事表决值输入有误,请重新输入!n; print(); coute; print(); cout您输入的董事会表决值为:n; couttA董事表决
6、值:antB董事表决值:bntC董事表决值:cntD董事表决值:dntE董事表决值:eendl; print(); for(;) coutf; if(strcmp(f,y)=0) if(a0+b0+c0+d0+e0)242) print();cout表决通过!n;print();/利用ASC II码判断表决值是否大于242(10进制为3) else print(); cout 表决不通过。n; print(); else if(strcmp(f,c)=0) break; else if(strcmp(f,exit)=0) exit(0); else print(); cout输入有误,请重新输入!n; print(); system(pause);return 0; void print() cout*n;7【实验结果与分析总结(含运行结果截图)】 显示相关的要求当输入错误时会显示出来当五个输入都录入后进行选择
copyright@ 2008-2023 冰点文库 网站版权所有
经营许可证编号:鄂ICP备19020893号-2