2022年2022年离散数学二元关系传递性判别、闭包方法实验报告 .pdf
-
资源ID:33379224
资源大小:607.14KB
全文页数:9页
- 资源格式: PDF
下载积分:4.3金币
快捷下载

会员登录下载
微信登录下载
三方登录下载:
微信扫一扫登录
友情提示
2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
|
2022年2022年离散数学二元关系传递性判别、闭包方法实验报告 .pdf
离散数学二元关系传递性判别、闭包方法实验报告学院:理学院班级: 11信息与计算科学1 班姓名: * 学号: * 一、实验目的1. 通过上机程序,进一步加深对二元关系传递性判别,自反闭包,对称闭包,传递闭包的理解。2. 掌握传递性判别,Warshall算法。3. 学会用程序解决离散数学中的问题。4. 增强我们编写程序的能力二、实验内容实验 1:二元关系传递性判别实验 2:有限集上给定关系的自反、对称和传递闭包(用Warshall算法)。三、实验环境在 microsoft visual c+实验环境下完成的,而所设计的程序也在这个环境下通过了编译,运行和测试。四、实验原理和实现过程实验 1:#include using namespace std; void main() int n,i,j,k; int m=0; /m是判断传递关系计数参数coutn; int a2020; for(i=1;i=n;i+) for(j=1;j=n;j+) cout 请输入 aijaij; /输入 R矩阵coutR 的关系矩阵为:endl; for(i=1;i=n;i+) for(j=1;j=n;j+) coutaij ; 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 1 页,共 9 页 - - - - - - - - - coutendl; /输出 R矩阵for(i=1;i=n;i+) for(j=1;j=n;j+) if(aij!=0) for(k=1;k=n;k+) if(aikajk /利用布尔加的特征,前一行数大于后一行 m=m+1; / 如果有一个数不成立,m加 1 if(m=0) coutR有传递关系 endl; else coutR没有传递关系endl; 实验 2: 1)自反闭包#include using namespace std; void main() int n,i,j; coutn; int a2020; for(i=1;i=n;i+) for(j=1;j=n;j+) cout 请输入 aijaij; 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 2 页,共 9 页 - - - - - - - - - coutR 的关系矩阵为:endl; for(i=1;i=n;i+) for(j=1;j=n;j+) coutaij ; coutendl; for(i=1;i=n;i+) for(j=1;j=n;j+) if(aij!=0) aii=1; ajj=1; /把符合条件的对角线上的值改为1 coutR 的关系矩阵为:endl; for(i=1;i=n;i+) for(j=1;j=n;j+) coutaij ; coutendl; 2)对称闭包#include using namespace std; void main() int n,i,j; coutn; int a2020; for(i=1;i=n;i+) 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 3 页,共 9 页 - - - - - - - - - for(j=1;j=n;j+) cout 请输入 aijaij; coutR 的关系矩阵为:endl; for(i=1;i=n;i+) for(j=1;j=n;j+) coutaij ; coutendl; for(i=1;i=n;i+) for(j=1;j=n;j+) if(aij!=0) aji=1; /对称元素的值改为1 coutR 的对称闭包矩阵为:endl; for(i=1;i=n;i+) for(j=1;j=n;j+) coutaij ; coutendl; 3)传递闭包#include using namespace std; void main() int n,i,j,k; 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 4 页,共 9 页 - - - - - - - - - int m=0; coutn; int a2020; for(i=1;i=n;i+) for(j=1;j=n;j+) cout 请输入 aijaij; coutR 的关系矩阵为:endl; for(i=1;i=n;i+) for(j=1;j=n;j+) coutaij ; coutendl; for(j=1;j=n;j+) for(i=1;i=n;i+) if(aij=1) for(k=1;k=n;k+) aik=aik+ajk; /warshall方法if(aik=2) aik=1; /规范布尔加 coutR 的传递闭包矩阵为:endl; for(i=1;i=n;i+) for(j=1;j=n;j+) coutaij ; coutendl; 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 5 页,共 9 页 - - - - - - - - - 五、实验输入输出和数据实验 1:1) 输入没有传递关系的关系矩阵R 2)输入课本 P30/例 2.6 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 6 页,共 9 页 - - - - - - - - - 实验 2:1)自反闭包名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 7 页,共 9 页 - - - - - - - - - 2)对称闭包名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 8 页,共 9 页 - - - - - - - - - 3)传递闭包 P52/ 例 2.13 六、实验体会通过这次的实验,使我明白了,平日里学习不能浅尝辄止,必须要知道它的方法。做这次实验前我以为我对这块知识已经很熟了,但实际做的时候, 发现我还是不是特别懂,必须要反复看书。其次,让我知道了,我平时学的数学知识可以很好的跟计算机结合,让我对程序设计有了更好的人是。名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 9 页,共 9 页 - - - - - - - - -