离散数学上机实验报告.docx

  1. 1、本文档共14页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 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)

展翅高飞2020 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档