实验三.docx

上传人:b****2 文档编号:1999209 上传时间:2023-05-02 格式:DOCX 页数:9 大小:69.76KB
下载 相关 举报
实验三.docx_第1页
第1页 / 共9页
实验三.docx_第2页
第2页 / 共9页
实验三.docx_第3页
第3页 / 共9页
实验三.docx_第4页
第4页 / 共9页
实验三.docx_第5页
第5页 / 共9页
实验三.docx_第6页
第6页 / 共9页
实验三.docx_第7页
第7页 / 共9页
实验三.docx_第8页
第8页 / 共9页
实验三.docx_第9页
第9页 / 共9页
亲,该文档总共9页,全部预览完了,如果喜欢就下载吧!
下载资源
资源描述

实验三.docx

《实验三.docx》由会员分享,可在线阅读,更多相关《实验三.docx(9页珍藏版)》请在冰点文库上搜索。

实验三.docx

实验三

离散数学实验报告

实验成绩:

1.【实验序号】

实验三

2.【实验目的】

加深对五个基本联结词(否定、合取、析取、条件、双条件)的理解、掌握利用基本等价公式化简公式的方法。

 

3.【实验内容】

用化简命题逻辑公式的方法设计一个表决开关电路

 

4.【实验要求】

①某公司董事会由5个董事组成,公司要对某项决策进行投票表决,只要半数(3位董事)以上都同意(用1表示同意,用0表示不同意)决策通过,否则不通过。

试写出5位董事表决的命题公式(提示:

列出表决开关电路真值表,从真值表得出5人表决开关电路的主合取公式(或主析取公式),将公式化简成尽可能含五个基本联结词最少的等价公式)。

②上面公式中的每一个联结词是一个开关元件,将它们定义成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

usingnamespacestd;

intmain()

{

chara[100],b[100],c[100],d[100],e[100];//定义5个字符型数组,用来储存ABCDE5个董事的表决值

charf[100];//f数组为接收出结果/继续/结束的字符

voidprint();//声明显示函数

for(;;)

{

print();

cout<<"\n\t请输入5位董事(分别用A、B、C、D、E表示)的表决值(1或0):

\n\n";

cout<<"\tA董事表决值(1或0):

\n\tB董事表决值(1或0):

\n\tC董事表决值(1或0):

\n\tD董事表决值(1或0):

\n\tE董事表决值(1或0):

";

cout<<"\n\n\t出结果/继续/结束(y/c/exit):

\n";

print();

cout<<"请输入A董事表决值(1或0):

";

cin>>a;

while(strcmp(a,"0")!

=0&&strcmp(a,"1")!

=0)//利用strcmp判断字符串,避免输入值错误

{

print();

cout<<"A董事表决值输入有误,请重新输入!

\n";

print();

cout<<"请输入A董事表决值(1或0):

";

cin>>a;

}

print();

cout<<"请输入B董事表决值(1或0):

";

cin>>b;

while(strcmp(b,"0")!

=0&&strcmp(b,"1")!

=0)//利用while语句执行判断

{

print();

cout<<"B董事表决值输入有误,请重新输入!

\n";

print();

cout<<"请输入B董事表决值(1或0):

";

cin>>b;

}

print();

cout<<"请输入C董事表决值(1或0):

";

cin>>c;

while(strcmp(c,"0")!

=0&&strcmp(c,"1")!

=0)

{

print();

cout<<"C董事表决值输入有误,请重新输入!

\n";

print();

cout<<"请输入C董事表决值(1或0):

";

cin>>c;

}

print();

cout<<"请输入D董事表决值(1或0):

";

cin>>d;

while(strcmp(d,"0")!

=0&&strcmp(d,"1")!

=0)

{

print();

cout<<"D董事表决值输入有误,请重新输入!

\n";

print();

cout<<"请输入D董事表决值(1或0):

";

cin>>d;

}

print();

cout<<"请输入E董事表决值(1或0):

";

cin>>e;

while(strcmp(e,"0")!

=0&&strcmp(e,"1")!

=0)

{

print();

cout<<"E董事表决值输入有误,请重新输入!

\n";

print();

cout<<"请输入E董事表决值(1或0):

";

cin>>e;

}

print();

cout<<"您输入的董事会表决值为:

\n";

cout<<"\tA董事表决值:

"<

"<

"<

"<

"<

print();

for(;;)

{

cout<<"\t出结果/继续/结束(y/c/exit):

";

cin>>f;

if(strcmp(f,"y")==0)

{

if((a[0]+b[0]+c[0]+d[0]+e[0])>242){print();cout<<"表决通过!

\n";print();}//利用ASCII码判断表决值是否大于242(10进制为3)

else

{

print();

cout<<"表决不通过。

\n";

print();

}

}

elseif(strcmp(f,"c")==0)

{

break;

}

elseif(strcmp(f,"exit")==0)

{

exit(0);

}

else

{

print();

cout<<"输入有误,请重新输入!

\n";

print();

}

}

}

system("pause");

return0;

}

 

voidprint()

{

cout<<"****************************************************************\n";

}

7.【实验结果与分析总结(含运行结果截图)】

显示相关的要求

当输入错误时会显示出来

当五个输入都录入后进行选择

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 医药卫生 > 基础医学

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2