1 / 12
文档名称:

离散数学实验报告.doc

格式:doc   大小:202KB   页数:12页
下载后只包含 1 个 DOC 格式的文档,没有任何的图纸或源代码,查看文件列表

如果您已付费下载过本站文档,您可以点这里二次下载

分享

预览

离散数学实验报告.doc

上传人:陈潇睡不醒 2018/5/9 文件大小:202 KB

下载得到文件列表

离散数学实验报告.doc

文档介绍

文档介绍:离散实验报告
实验一真值计算
1、实验目的
熟悉五个常用联结词合取、析取、条件和双条件的概念,掌握真值表技术。
2、实验内容与要求
定义1 设P表示一个命题,由命题联结词┐和命题P连接成┐P,称┐P为P的否定式复合命题, ┐P读“非P”。称┐为否定联结词。┐P是真,当且仅当P为假;┐P是假,当且仅当P为真。
定义2 设P和Q为两个命题,由命题联结词∧将P和Q连接成P∧Q,称P∧Q为命题P和Q的合取式复合命题,P∧Q读做“P与Q”,或“P且Q”。称∧为合取联结词。当且仅当P和Q的真值同为真,命题P∧Q的真值才为真;否则,P∧Q的真值为假。
定义3 设P和Q为两个命题,由命题联结词∨把P和Q连接成P∨Q,称P∨Q为命题P和Q的析取式复合命题,P∨Q读做“P或Q”。称∨为析取联结词。当且仅当P和Q的真值同为假,P∨Q的真值为假;否则,P∨Q的真值为真。
定义4 设P和Q为两个命题,由命题联结词→把P和Q连接成P→Q,称P→Q为命题P和Q的条件式复合命题,简称条件命题。P→Q读做“P条件Q”或者“若P则Q”。称→为条件联结词。当P的真值为真而Q的真值为假时,命题P→Q的真值为假;否则,P→Q的真值为真。
定义5 令P、Q是两个命题,由命题联结词«把P和Q连接成P « Q,称P « Q为命题P和Q的双条件式复合命题,简称双条件命题,P « Q读做“P当且仅当Q”,或“P等价Q”。称«为双条件联结词。当P和Q的真值相同时,P « Q的真值为真;否则,P « Q的真值为假。
本实验要求从键盘输入两个命题P和Q的真值,求它们的合取、析取、条件和双条件的真值。用C语言或MATLAB实现。
3、源程序
#include<>
void main()
{
printf("请输入P、Q的真值\n");
int a,b;
scanf("%d%d",&a,&b);
int c;
if(a==1&&b==1)
c=1;
else c=0;
printf("合取结果为%d\n",c);
int d;
if(a==0&&b==0)
d=0;
else d=1;
printf("析取结果为%d\n",d);
int e;
if(a==1&&b==0)
e=0;
else e=1;
printf("单条件为%d\n",e);
int f;
if(a==b)
f=1;
else f=0;
printf("双条件为%d\n",f);
}
4、实验结果
请输入P、Q的真值
1 0
合取结果为0
析取结果为1
单条件为0
双条件为0
Press any key to continue
实验二关系闭包计算
1、实验目的
熟悉Warshall算法,掌握求关系的自反闭包、对称闭包和传递闭包的方法。
2、实验内容与要求
定义6 设R是A上的二元关系,R的自反(对称、传递)闭包是关系R1,则
① R1是自反的(对称的、传递的)
② RÍR1
对任何自反的(对称的、传递的)关系R2,若RÍR2,则R1ÍR2。
R的自反、对称和传递闭包分别记为r(R)、s(R)和t(R)。
定理1 令RÍA´A,则
① r(R)=R∪IA
② s(R)=R∪R-1
③ t(R)=R∪R2∪R3…
Warshall算法:设R是n个元素集合上的二元关系,M是R的关系矩阵;
置新矩阵A:=M
置i:=1;
for j=1 to n do
if A[j,i]=1 then do
for k=1 to n do
A[j,k]:=A[j,k]+A[i,k]
i=i+1;
if i<=n then to (3)

else stop
本实验要求从键盘输入一个关系的关系矩阵,计算其自反闭包、对称闭包和传递闭包,计算传递闭包时使用Warshall算法。用C语言或MATLAB实现。
3、源程序
#include<>
int xiqu(int,int);
void main()
{
int a[100][100],b[100][100],c[100][100],d[100][100],e[100][100],i,j,k,n,x,y,z;
printf("请输入关系矩阵的阶数\n");
scanf("%d",&n);
printf("请输入此关系矩阵\n");
for(i=0;i<n;i++)
for(j=0;j<n;j++)
scanf("%d",&a[i][j]);
for(i=0;i<n;i++)
{
e[i][i]=1;
}
printf("自