离散实验报告Word格式文档下载.docx
- 文档编号:18299893
- 上传时间:2022-12-15
- 格式:DOCX
- 页数:15
- 大小:18.73KB
离散实验报告Word格式文档下载.docx
《离散实验报告Word格式文档下载.docx》由会员分享,可在线阅读,更多相关《离散实验报告Word格式文档下载.docx(15页珍藏版)》请在冰豆网上搜索。
(1)细致观察,及时、准确、如实记录。
(2)准确说明,层次清晰。
(3)尽量采用专用术语来说明事物。
(4)外文、符号、公式要准确,应使用统一规定的名词和符号。
(5)应独立完成实验报告的书写,严禁抄袭、复印,一经发现,以零分论处。
实验报告批改说明
实验报告的批改要及时、认真、仔细,一律用红色笔批改。
实验报告的批改成绩采用百分制,具体评分标准由各院部自行制定。
实验报告装订要求
实验批改完毕后,任课老师将每门课程的每个实验项目的实验报告以自然班为单位、按学号升序排列,装订成册,并附上一份该门课程的实验大纲。
实验项目名称:
联结词逻辑运算实验学时:
2
同组学生姓名:
陈希等实验地点:
B栋415
实验日期:
2018年4月12日实验成绩:
批改教师:
批改时间:
实验1五种联结词的逻辑运算
一.实验目的
用C语言实现两个命题变元的否定、合取、析取、蕴涵和等价表达式的计算。
熟悉联结词逻辑运算规则,利用程序语言实现逻辑这几种逻辑运算。
二.实验仪器和设备
TurboC2.0
三.实验内容
从键盘输入两个命题变元P和Q的真值,求它们的否定、合取、析取、蕴涵和等价五种运算的的真值。
要求对输入内容进行分析,如果不符合0、1条件需要重新输入,程序有良好的输入输出界面。
四.实验过程
1.算法分析:
编程语言为c语言
否定:
p,q为0时,值为1,其他为0
合取/\:
p,q都为1的时候为1,其他为0析取\/:
p,q都为0的时候为0,其他为1
蕴含->
:
p为1,q为0时为0,其他为1等价<
->
p,q同真同假
2.程序代码:
#include<
iostream>
usingnamespacestd;
intmain()
{
intp,q;
while(true)
{
cout<
<
"
请输入合法数字(p,q为0或1)"
:
;
cin>
>
p>
q;
if(p==1&
&
q==1)
p否定q"
0<
endl;
p合取q"
1<
p析取q"
p蕴含q"
p等价q"
}
elseif(p==1&
q==0)
elseif(p==0&
else
ERRORINPUTING!
return0;
}
3.实验数据及结果分析:
五.实验体会(遇到问题及解决办法,编程后的心得体会)
在实验的过程中,首先我的逻辑是p,q为0或1,四种情况,全部罗列出来也不会太麻烦,所以我选择用四个if,当四个情况写完之后,当输入的值不合法时(p,q有一个为非0或1的值),我又写了一个if使得排除这种情况。
在实验的过程中我又充分理解并巩固了离散中否定,析取,合取,蕴含,等价的运算。
关系的闭包运算实验学时:
2018年4月19日实验成绩:
实验2关系的闭包运算
一.实验目的
熟悉关系的闭包运算,利用C语言编程实现关系闭包运算算法。
利用矩阵求有限集上给定关系的自反、对称和传递闭包。
四.实验过程
在三种闭包中自反和对称闭包的求解很容易,对矩阵表示的关系,其自反闭包只要将矩阵的主对角线全部置为1就可;
对称闭包则加上关系的转置矩阵(逻辑加法);
传递闭包可直接根据转化为矩阵计算,其相对应的矩阵Mt=M+M2+M3+…
2.程序代码:
inti,j,n,m,R[100][100],r[100][100],s[100][100],t[100][100];
cout<
"
请输入矩阵的行数"
<
endl;
m;
请输入矩阵的列数"
n;
请输入R的关系矩阵"
for(i=0;
i<
++i)
for(j=0;
j<
++j)
R[i][j];
r[i][j]=R[i][j];
//进行R的自反运算
s[i][j]=R[i][j];
//进行R的对称运算
t[i][j]=R[i][j];
//进行R的传递运算
j<
++j)
if(i==j)
r[i][i]=1;
}//z自反
R的自反闭包为:
r[i][j]<
if(s[i][j]==0&
s[j][i]==0)
s[i][j]=0;
s[i][j]=s[j][i]=1;
R的对称闭包为:
s[i][j]<
for(i=0;
i<
m;
for(j=0;
j<
n;
if(t[j][i]==1)
for(intk=0;
k<
++k)
t[j][k]=t[j][k]+t[i][k];
if(t[j][k]>
=1)
t[j][k]=1;
R的传递闭包为:
t[i][j]<
3.实验数据及结果分析
在试验的过程中,对称和传递先后都有一些困难,对称是逻辑加,除了1+1是1外其他都符合规律,所以我将这一种情况单独列出来。
后来传递闭包,如果按Mt=M+M2+M3+…算的话,如果阶数大了,那么效率不是很高,所以我找到了传递闭包的规律,从而进行运算。
全域关系和恒等关系实验学时:
2018年4月26日实验成绩:
实验3全域关系和恒等关系
一.实验目的
通过上机编写程序,可以进一步加深我们对关系中集合A上的恒等关系,以及从集合A到集合B上的全域关系的理解。
用C语言实现,求集合A上的恒等关系以及从集合A到集合B上的全域关系。
1.算法分析
对于A上的恒等关系,只需让二元关系的第一个元素和第二个元素相等即可;
对于从A到B上的全域关系,即求A和B的笛卡尔积。
让A中的第一个元素对应B中的每一个元素,让A中的第二个元素对应B中的每一个元素,依次进行下去,即可得到从A到B上的全域关系。
intm,n,i,j,x[100],y[100];
请输入集合A的元素个数:
请输入集合B的元素个数:
请输入合法集合A:
i<
++i)
{cin>
x[i];
请输入合法集合B:
y[j];
A的恒等关系为:
{"
x[i]<
"
>
}"
集合A到集合B上的全域关系为:
y[j]<
3.实验数据及结果分析
五、实验体会(遇到问题及解决办法,编程后的心得体会)
在实验的过程中,首先考虑恒等关系以及全域关系的算法,需要用到数组关系,所以我分别定义两个数组解决两个问题,然后只需要套用循环即可。
集合的交、并和差集运算实验学时:
B栋415
2018年5月3日实验成绩:
实验4集合的交、并和差集运算
一.实验目的
集合论是一切数学的基础,集合的运算规则是集合论中的重要内容。
通过该项实验,目的是让我们更加深刻地理解集合的概念和性质,并掌握集合的运算规则等。
三.实验内容
通过对集合的掌握,利用C语言编程计算任意两个集合的交集、并集和差集运算。
四.实验过程
1.在求交集时,利用if找出两个集合的相同元素,并输出。
2.在求并集时,将两个集合的元素属于其一或另一个。
3.在求差集时,将一个集合减去交集,然后将其输出。
#definemax10000
intm,n,i,j,k=-1,x[100],y[100],a[100],b[100],c[100];
请输入集合A中元素的个数:
请输入集合B中元素的个数:
请输入集合A:
请输入集合B:
if(x[i]==y[j])
++k;
a[k]=x[i];
A与B的交集为:
endl<
=k;
a[i]<
b[i]=x[i];
for(i=m;
m+n;
b[i]=y[i-m];
for(j=i+1;
=m+n-1;
if(b[i]==b[j])
b[j]=max;
A与B的并集为:
if(b[i]!
=max)
b[i]<
c[i]=-1;
A与B的差集为:
if(c[i]!
=-1)
(1)求交集:
根据集合中交集的定义,将数组x、y中元素挨个比较,把共同元素选出来,并存入数组a(交集集合)中,即求得集合A、B的交集。
(2)求并集:
根据集合中并集的定义,先将数组x中元素依次存入数组b(并集集合)中,存储集合A中某元素前,先将其与已存入y中的元素依次比较,若相同则存入下一个元素,否则直接存入b中,直到所有A中元素存储完毕。
(3)求差集:
将集合A中元素依次与B中元素比较,若B中无元素与该元素相同,则将其存入数组c中(同时删除c中相同的元素,操作方法与求并集时删除相同元素类似),否则进行下一轮比较,直到A中所有元素比较完毕,即求得A对B的差集(数组c)。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 离散 实验 报告