2011离散数学实验指导书
- 格式:doc
- 大小:40.00 KB
- 文档页数:6
实验要求
1.实验前,复习《离散数学》课程中的有关内容。
2.上机前编好程序,用实验报告纸写好,并利用开放机房上机调试。
3.编程要独立完成,程序应加适当的注释。
4.上机时携带书写在实验报告纸上的程序,经老师审查后方可进入实验室。
5.上机调试程序,经老师审查通过后提交实验报告(含在实验报告纸上的程序、在上面的修改、测试结果等),并把最后的源文件和运行程序等压缩后发送到sdlixiaofeng@,命名规则:以肖现翠的第一个实验为例,1-2010111001-肖宪翠.rar 。
实验一 真值表判断
实验目的
公式是由命题变元、逻辑联结词、括号组成的合法的符号串,而命题变元是一个抽象的概念,若不指定命题变元的真值,则公式没有真值可言。反之,若对所有的命题变元都指定一定的真值,则公式就变成了一个具有确切真值的命题。将所有的这些命题变元的可能取值一一列出形成一个表格的形式,这个表格称为该公式的真值表。利用真值表技术和公式的演算方法,能够求得一公式对应的主析取范式和主合取范式,还能够判断两公式是否相等,是否为永真式、永假式、可满足式。
实验内容与要求
1、逻辑联接词的运算
从键盘输入两个命题变元P和Q的真值,输出它们的合取、析取、条件、双条件和P的否定的真值。
2、任意一个命题公式的真值表
实现任意输入公式的真值表计算。一般我们将公式中的命题变元放在真值表的左边,将公式的结果放在真值表的右边。命题变元可用数值变量表示,合适公式的表示及求真值表转化为逻辑运算结果;可用一维数表示合式公式中所出现的n个命题变元,同时它也是一个二进制加法器的模拟器,每当在这个模拟器中产生一个二进制数时,就相当于给各个命题变元产生了一组真值指派。算法逻辑如下:
(1)将二进制加法模拟器赋初值0
(2)计算模拟器中所对应的一组真值指派下合式公式的真值。
(3)输出真值表中对应于模拟器所给出的一组真值指派及这组真值指派所对应的一行真值。
(4)产生下一个二进制数值,若该数值等于2n-1,则结束,否则转(2)。
3、(选做)根据第二步得到的命题公式的真值表,构建主析取范式和主合取范式。 实验二 集合运算
实验目的
集合是一切数学的基础,每一门数学的讨论都离不开集合,为此,我们必须掌握集合的基本定义及运算规律,掌握集合的运算规则对与学习离散数学将有着极大的帮助。
本实验通过编写一个C++程序,让计算机来完成两个集合的交、并、差、笛卡儿积运算。目的是让同学们更加深刻的理解集合的运算规则,特别是集合的笛卡儿积运算是我们接触的一个新的集合运算规则。
实验内容与要求
1、集合的基本运算:
依据集合运算规则,实现任意给定两个集合的交、并、差、笛卡儿积运算,和第一个集合的幂集,并显示运算结果。
实验思考
在掌握集合运算的基础上,思考如何使用集合的运算来证明集合间的包含、相等和真包含的关系? 实验三 关系对称性判断
实验目的
本实验现对一个关系矩阵的对称性判断,从而得出此矩阵所对应关系是否具有对称性。
实验内容与要求
1、关系矩阵的特性判断
判断任意给定一个6×6的关系矩阵是否是自反的、对称的、反对称的,并显示运算结果。
2、关系矩阵的闭包
对输入的矩阵,输出其自反闭包、对称闭包,并利用Warshall算法实现其传递闭包。 实验四 图的矩阵表示及基本运算
实验目的
学习图在计算机中的矩阵表示,并能利用课堂所学知识进行出度和入度的计算。
实验内容与要求
根据输入的整数对,输出一个图形的邻接矩阵。并求出各结点的出度和入度。
实验准备
图可以用多种方式来表示,其中邻接矩阵是一种较简单的方式。复习关于邻接矩阵的描述。明确一下内容:
1.如何使用邻接矩阵表示图。
2.利用图的邻接矩阵求结点的出度和入度的方法。
实验步骤
1.编写一段代码,接收键盘的输入,并以输入的整数对作为边来建立图形的邻接矩阵graph_matrix。
2.根据第一步得到的邻接矩阵计算每个结点的度数()。
一个结点i的出度等于邻接矩阵第i行之和。
deg_out[i] = graph_matrix[i][0]+ graph_matrix[i][1]+ …+graph_matrix[i][n]
一个结点i的入度等于邻接矩阵第i列之和。
deg_in[i] = graph_matrix[0] [i]+ graph_matrix[1] [i]+ …+graph_matrix[n][i]