欢迎来到天天文库
浏览记录
ID:58061012
大小:83.52 KB
页数:8页
时间:2020-04-21
《离散数学实验报告 2011.doc》由会员上传分享,免费在线阅读,更多相关内容在应用文档-天天文库。
1、《离散数学》实验报告学院科信软件学院专业计算机科学与技术指导教师邹丽娜学号10999181姓名赵辉提交日期2011-12-23-7-实验一连结词逻辑运算一.实验目的实现二元合取、析取、蕴涵和等价表达式的计算。熟悉连接词逻辑运算规则,利用程序语言实现逻辑这几种逻辑运算。二.实验内容从键盘输入两个命题变元P和Q的真值,求它们的合取、析取、蕴涵和等价四种运算的的真值。要求对输入内容进行分析,如果不符合0、1条件需要重新输入,程序有良好的输入输出界面。三.实验过程1.算法分析:编程语言为c语言合取/:p,q都为1的时候为1,其他为0析取/:p,q都为0的时候为0,其他为1蕴含->:p为1
2、,q为0时为0,其他为1等价<->:p,q同真同假2.程序代码:#includeintmain(){intp,q,i,t;printf("************************************************");printf("******");printf("欢迎进入逻辑运算软件");printf("******");printf("************************************************");do{printf("请输入p的值(0或1)");scanf("%d",&p);if
3、(p!=0&&p!=1)printf("输入有误");}while(p!=0&&p!=1);do{printf("请输入q的值(0或1)");scanf("%d",&q);if(q!=0&&q!=1)printf("输入有误");-7-}while(q!=0&&q!=1);do{printf("请选择要进行的操作");printf("1:合取2:析取3:蕴含4:等价");scanf("%d",&i);switch(i){case1:{if(p&&q)printf("合取运算:p/\q=1");elseprintf("合取运算:p/\q=0");brea
4、k;}case2:{if(p
5、
6、q)printf("析取运算:p\/q=1");elseprintf("析取运算:p\/q=0");break;}case3:{if(p&&!q)printf("蕴含:p->q=0");elseprintf("蕴含:p->q=1");break;}case4:{if((p&&q)
7、
8、(!p&&!q))printf("等价运算:p<->q=1");elseprintf("等价运算:p<->q=0");break;}}printf("是否继续运算1\0");scanf("%d",&t);}while(t);return0;
9、}3.实验数据及结果分析;初始界面输入及选择进行的操作-7-循环操作退出实验二关系的闭包运算一、实验目的熟悉关系的闭包运算,编程实现关系闭包运算算法。一、实验内容利用矩阵求解有限集上给定关系的自反、对称和传递闭包。三.实验过程1.算法分析:在三种闭包中自反和对称闭包的求解很容易,对矩阵表示的关系,其自反闭包只要将矩阵的主对角线全部置为1就可;对称闭包则加上关系的转置矩阵(逻辑加法);传递闭包则有两种算法(二选一即可):-7-算法1:直接根据计算,过程略。算法2:Warshall算法(1962)设R的关系矩阵为M(1)令矩阵A=M(2)置i=1(3)对所有的j,若A[j,i]=1,则对
10、于k=1,2,…,n,令A[j,k]=A[j,k]+A[i,k]注:此处为逻辑加,可以使用运算符
11、
12、(4)i=i+l.(5)若i≤n,则转到(3),否则结束.流程图开始声明各子函数输入关系矩阵输入zz=1;调用自反闭包函数z=2,调用对称闭包函数z=3调用传递闭包函数结束-7-2.程序代码:(c++)#includeintm,n;voidzifan(inta[100][100]){inti,j;a[0][0]=a[1][1]=a[2][2]=a[3][3]=1;for(i=0;i13、ut<<"";}cout<14、15、a[j][i];cout<
13、ut<<"";}cout<14、15、a[j][i];cout<
14、
15、a[j][i];cout<
此文档下载收益归作者所有