大连民族大学软件工程离散数学课程设计.docx





《大连民族大学软件工程离散数学课程设计.docx》由会员分享,可在线阅读,更多相关《大连民族大学软件工程离散数学课程设计.docx(15页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、大连民族学院计算机科学与工程学院实验报告实验题目: 1. 二元关系 2. 代数系统 课程名称: 离散数学 实验类型:演示性 验证性 操作性 设计性 R综合性专业:软件工程 班级:132班 学生姓名:黄正勤 学号:2013082204 实验日期:2014年11月22日12月15日 实验地点:金石滩校区机房实验学时:16学时 实验成绩:指导教师:焉德军 姜楠 二元关系(一)1. 实验题目对给定表示有穷集上关系的矩阵,确定这个关系是否是自反的或反自反的;对称的或反对称的;是否传递的。2. 实验原理从给定的关系矩阵来断判关系R是否为自反是很容易的。若flay(R的关系矩阵)的主对角线元素均为1,则R是
2、自反关系;若flay(R的关系矩阵)的主对角线元素均为0,则R是反自反关系;若flay(R的关系矩阵)的主对角线元素既有1又有0,则R既不是自反关系也不是反自反关系。而对于对称性,只需要判断矩阵所有的flayij与其对应的flayji是否都相等;若全部相等,则为对称;否则反之。对于传递性,则需要利用线性代数的方法求出R的关系矩阵的平方矩阵,只需验证所有的flagij(R的关系矩阵的平方矩阵)等于1的地方,在flayij(R的关系矩阵)等于1,则具有传递性;否则反之。3. 实验的步骤及实验记录 0 1 1(1)先输入一个整数,表示矩阵的阶数。接着输入矩阵,这里以输入矩阵0 0 1 0 0 0例,
3、在根据矩阵左上到右下的flayii的值是否为1判断矩阵是否自反或反自反,判断矩阵是否自反或反自反的代码如下:for (i = 0; i a; i +)for (j = 0; j a; j+) if (i = j)if (flay ij = 1)count_1 +;else if (flay ij = 0)count_2 +;if (count_1 = a)cout 自反 endl;else if (count_2 = a)cout 反自反 endl;输入矩阵后输出的实验结果如下:(2)判断对称的或反对称只需要flayij是否与flayji相等;若全部相等,则为可对称;否则反之。代码如下:for
4、 (i = 0; i a; i +)for (j = 0; j a; j+)if (flay ij = flay ji)count_1 +;elsecount_2 = 1;break;if (count_1 = a * a)cout 对称性 endl;else if (count_2 = 1)cout 反对称 endl;break;运行结果如下:(3) 而对于判别是否具有传递性,则相对前面两个性质来说比较复杂,关键是求出原矩阵flay的平方矩阵flag,这里通过线性代数的方法求出flay矩阵的平方矩阵flag,求平方矩阵的方法是:第一个矩阵flayij等于flayij乘以第二个矩阵的第j列之总
5、和;j+完后再i+,以后便可求出平方矩阵。然后在比较在平方矩阵flagij为1的位置,在原矩阵flayij中是否都为1;若flag矩阵中所有的为1的地方,在flay中都为1,则具有传递性;否则反之;最后输出该平方矩阵。代码如下所示:int k;for (i = 0; i a; i +)for (j = 0; j a; j+) flag ij = 0;for (k = 0; k a; k +)flag ij = flag ij + flay ik * flay kj;if (flag ij = 1)count_2 +;for (i = 0 ; i a ; i +)for (j = 0; j a;
6、 j+)if (flag ij = 1 & flay ij = 1)count_3 +;else if (flag ij = 1 & flay ij = 0)count_1 = 1;break;if (count_1 = 1)break;if (count_2 = count_3 & count_2 != 0 & count_3 != 0)cout 传递性 endl;elsecout 非传递性 endl;cout 该矩阵的平方为: endl;for (i=0; i a; i+)for (k=0; k a; k+)cout flag ik ;cout b endl;运行结果如下:以上便是对自反或
7、反自反,对称或反对称,是否传递等性质的判断过程,代码及运行代码的结果。4. 实验总结此题为验证性题目,验证性题目主要是通过其原理以及相关的概念来证明。通过此题对验证性题目的分析有很大的提高。 (二)1. 实验题目判断一个二元关系是否为等价关系,如果是,求其商集。2. 实验原理要判断一个二元关系是否是等价关系,则要判断这个关系是否具有自反性,对称性和传递性;假如这三个条件都同时符合,则该二元关系具有等价关系。这里以为A=1,2,3,4,5,6,7,R=, U Ia 为例。自反性的判别与上题一样,都是判别flayii是否都等于1;若flayii全部等于1,则具有自反性;否则反之。对于对称性与上题也
8、一样,就是判断所有的flayij与flayji是否全部相等;若全部相等,则具有对称性;否则反之。传递性的判断,则需要利用线性代数的方法求出R的关系矩阵的平方矩阵,只需验证所有的flagij(R的关系矩阵的平方矩阵)等于1的地方,在flayij(R的关系矩阵)等于1,则具有传递性;否则反之。3. 实验步骤及实验记录(1) 先输入一个整数,表示矩阵的阶数;接着输出初始空矩阵。然后一组一组的输入R在A上的关系,输入0 0时结束;接着输出关系矩阵,判别与输入的关系是否一致。代码如下所示:void Input ()for (i = 1; i = n; i +)for (j = 1; j = n; j+)
9、flay ij = 0;for (i = 1; i = n; i +)for (j = 1; j = n; j+)cout flay ij ;cout endl;R();void R()cout 请输入两个位置有关系的数值,输入“0 0”结束R的输入: a b;if (a != 0 & b != 0)flay ab = 1;R();void Output()for (i = 1; i = n; i +)for (j = 1; j = n; j+)cout flay ij ;cout endl;代码运行结果如下所示:(2) 在根据矩阵左上到右下flayii的值是否为1判断矩阵是否是自反或反自反,
10、判断矩阵是否自反或反自反的代码如下:int count = 0;for (i = 1; i = n; i +)for (j = 1; j = n; j+) if (i = j)if (flay ij = 1)count_1 +;else if (flay ij = 0)count_2 +;if (count_1 = n)cout 自反性 endl;syb_3 = 1;elsecout 反自反性 endl;代码运行结果如下所示:(3) 判断对称的或反对称只需要flayij是否与flayji相等;若全部相等,则为可对称;否则反之。代码如下:for (i = 1; i = n; i +)for (j
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 大连 民族大学 软件工程 离散数学 课程设计

限制150内