- 1、本文档共14页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
离散数学实验报告
姓名:
学号:
专业:
实验一、真值运算
一、实验内容
从键盘输入两个命题P和Q的真值,求它们的合取、析取、条件和双条件的真值,并输出。
二、实验步骤
编写程序,将P,Q以不同真值带入,观察程序运行结果,调式程序。
三、实验代码
#includestdio.h
intmain()
{
intp,q;
chart;
while(t)
{
printf(是否运算程序(y/n):\n);
scanf(%c,t);
if(y==t)
{
printf(输入p,q的真值(0或1):);
scanf(%d%d,p,q);
if((p!=1)(p!=0))
{
printf(请重新输入p值);
scanf(%d,q);
}
if((q!=1)(q!=0))
{
printf(请重新输入q值);
scanf(%d,q);
}
if(q==0p==0)
{
printf(﹁p=1\n);
printf(﹁q=1\n);
printf(p∧q=0\n);
printf(p∨q=0\n);
printf(p→q=1\n);
printf(p-q=1\n);
}
elseif(p==0q==1)
{
printf(﹁p=1\n);
printf(﹁q=0\n);
printf(p∧q=0\n);
printf(p∨q=1\n);
printf(p→q=1\n);
printf(p-q=0\n);
}
elseif(p==1q==0)
{
printf(﹁p=0\n);
printf(﹁q=1\n);
printf(p∧q=0\n);
printf(p∨q=1\n);
printf(p→q=0\n);
printf(p-q=0\n);
}
elseif(p==1q==1)
{
printf(﹁p=0\n);
printf(﹁q=0\n);
printf(p∧q=1\n);
printf(p∨q=1\n);
printf(p→q=1\n);
printf(p-q=1\n);
}
continue;
}
if(n==t)
break;
}
return0;
}
四、实验体会
求真值运算中,应注意各种连接词的试用方法,以及其在不同情况下的真值。
实验二、关系的复合
一、实验内容
从键盘输入两个关系,求它们的复合关系,并输出。
二、实验步骤
编写程序,从键盘输入几种不同的二元关系,如果是关系矩阵,那么关系矩阵应能够相乘,然后观察它们的复合结果,调试程序。
三、实验代码
#includestdio.h
intmain()
{
intk,m,n,i,j,sum=0,a[10][10],b[10][10],c[10][10];
printf(输入X集合中元素个数:);
scanf(%d,k);
printf(输入X中二元关系R的关系矩阵:\n);
for(i=0;ik;i++)
for(j=0;jk;j++)
{
scanf(%d,a[i][j]);
}
printf(输入X中二元关系S的关系矩阵:\n);
for(m=0;mk;m++)
for(n=0;nk;n++)
{
scanf(%d,b[m][n]);
}
printf(输出X中二元关系R的关系矩阵:\n);
for(i=0;ik;i++)
{
for(j=0;jk;j++)
{
printf(%d,a[i][j]);
if(j==k-1)
printf(\n);
}
}
printf(输出X中二元关系S的关系矩阵:\n);
for(m=0;mk;m++)
for(n=0;nk;n++)
{
printf(%d,b[m][n]);
if(n==k-1)
printf(\n);
}
for(i=0;ik;i++)
for(n=0;nk;n++)
{
for(j=0,m=0;jk,mk;j++,m++)
{
sum+=a[i][j]*b[m][n];
if(sum1)
sum=1;
}
c[i][n]=sum;
sum=0;
}
printf(输出RοS的关系矩阵:\n);
for(i=0;ik;i++)
for(j=0;jk;j++)
{
printf(%d,c[i][j]);
if(j==k-1)
printf(\n);
}
}
四、实验体会
在求关系的复合中,先求出其关系矩阵,关系矩阵的运算和普通矩阵的运算一样,但是值得注意的是,关系矩阵中只有0和1,所以当大于1时,应该返回1,其余不变。
实验三、用沃尔算法求传递闭包
文档评论(0)