离散数学上机实验报告
更新时间:2024-03-22 16:40:01 阅读量: 综合文库 文档下载
离散数学实验报告
姓名: 学号: 专业:
实验一、真值运算
一、实验内容
从键盘输入两个命题P和Q的真值,求它们的合取、析取、条件和双条件的真值,并输出。 二、实验步骤
编写程序,将P,Q以不同真值带入,观察程序运行结果,调式程序。 三、实验代码
#include
int p,q; char t; while(t) {
printf(\是否运算程序(y/n):\\n\scanf(\if('y'==t) {
printf(\输入p,q的真值(0或1):\scanf(\if((p!=1)&&(p!=0)) {
printf(\请重新输入p值\
}
scanf(\
if((q!=1)&&(q!=0)) { }
if(q==0&&p==0) { }
else if(p==0&&q==1) {
printf(\﹁p=1\\n\printf(\﹁q=0\\n\printf(\∧q=0\\n\printf(\∨q=1\\n\printf(\→q=1\\n\printf(\﹁p=1\\n\printf(\﹁q=1\\n\printf(\∧q=0\\n\printf(\∨q=0\\n\printf(\→q=1\\n\printf(\printf(\请重新输入q值\scanf(\
}
}
printf(\
else if(p==1&&q==0) { }
else if(p==1&&q==1) { } continue;
printf(\﹁p=0\\n\printf(\﹁q=0\\n\printf(\∧q=1\\n\printf(\∨q=1\\n\printf(\→q=1\\n\printf(\printf(\﹁p=0\\n\printf(\﹁q=1\\n\printf(\∧q=0\\n\printf(\∨q=1\\n\printf(\→q=0\\n\printf(\
if('n'==t)
}
break;
return 0; }
四、实验体会
求真值运算中,应注意各种连接词的试用方法,以及其在不同情况下的真值。
实验二、关系的复合
一、实验内容
从键盘输入两个关系,求它们的复合关系,并输出。 二、实验步骤
编写程序,从键盘输入几种不同的二元关系,如果是关系矩阵,则关系矩阵应能够相乘,然后观察它们的复合结果,调试程序。 三、实验代码 #include
printf(\输入X中二元关系R的关系矩阵:\\n\ for(i=0;i } printf(\输入X中二元关系S的关系矩阵:\\n\ for(m=0;m } printf(\输出X中二元关系R的关系矩阵:\\n\ for(i=0;i { } printf(\输出X中二元关系S的关系矩阵:\\n\for(m=0;m for(n=0;n printf(\if(n==k-1) printf(\ for(j=0;j printf(\if(j==k-1) printf(\ for(i=0;i for(n=0;n for(j=0,m=0;j c[i][n]=sum; sum=0; sum+=a[i][j]*b[m][n]; if(sum>1) sum=1; printf(\输出RοS的关系矩阵:\\n\ } for(i=0;i for(j=0;j printf(\if(j==k-1) printf(\ 四、实验体会 在求关系的复合中,先求出其关系矩阵,关系矩阵的运算和普通矩阵的运算一样,但是值得注意的是,关系矩阵中只有0和1,所以当大于1时,应该返回1,其余不变。 实验三、用沃尔算法求传递闭包 一、实验内容 从键盘输入二元关系用沃尔算法求出它的传递闭包,并输出。 二、实验步骤 熟悉沃尔算法,然后将其用程序编写出来,任意输入二元关系,观察程序运行结果, 用另一种算法算出结果,与其比较,调试程序。 三、实验代码 #include printf(\输入一个X集合中的元素:\ scanf(\ printf(\输入一个关系矩阵:\\n\ for(i=0;i scanf(\ for(j=0;j a[i][k]=1; } } } } printf(\输出传递闭包:\\n\for(i=0;i for(j=0;j printf(\ if(j==n-1) } return 0; printf(\ 四、实验体会 熟悉并使用沃尔算法,关系矩阵中只有0和1,所以用沃尔算法求得的数若大于1,应该返回1,其余不变。 实验四、三种闭包运算 一、实验内容 从键盘输入一个二元关系,求它的自反闭包,对称闭包,传递闭包,并输出。 二、实验步骤 编写程序,从键盘输入一个二元关系,当求传递闭包时,试与沃尔算法的传递闭包做比较,观察程序运行结果,调试程序。 三、实验代码 #include printf(\是否开始新的运算?(Y/N)\\n\ do { ch=getchar(); }while(ch!='N'&&ch!='Y'); if(ch=='Y') aa(); return 0; } void aa() { char c; printf(\请输入矩阵的行数(必须小于10)\\n \scanf(\ printf(\请输入矩阵的列数(必须小于10)\\n \scanf(\ printf(\请输入关系矩阵\\n\for(i=0;i printf(\输入对应序号选择算法\\n1:自反闭包\\n2:传递闭包\\n3:对称闭包\\n\scanf(\switch(z) { case 1:zifan(s); break; case 2:chuandi1(s);break; case 3:duichen(s); break; } printf(\ printf(\请输入矩阵的第%d行元素\for(j=0;j printf(\您选择继续吗(Y/N)?\\n\ do } { c=getchar(); }while(c!='N'&&c!='Y'); } while(c=='Y'); void output(int s[][100]) { } void zifan(int s2[][100]) { } void duichen(int s2[][100]) { for(i=0;i printf(\所求关系矩阵为:\\n\for(i=0;i for(j=0;j printf(\ printf(\ } int s1[100][100]; for(i=0;i output(s2); s2[i][j]=s2[i][j]+s1[i][j]; if(s2[i][j]>1) s2[i][j]=1; void chuandi1(int s2[][100]) { int m[100][100],a[100][100],k,h; int t[100][100]; for(i=0;i for(j=0;j { } for(h=0;h for(i=0;i for(j=0;j if(m[i][j]==1) a[i][j]=0; t[i][j]=s2[i][j]; m[i][j]=s2[i][j]; } } { } for(i=0;i for(j=0;j m[i][j]=a[i][j]; t[i][j]+=a[i][j]; a[i][j]=0; if(t[i][j]>1) t[i][j]=1; } for(k=0;k if(s2[j][k]==1) a[i][k]=1; output(t); 四、实验体会 此程序要求的算法较多,所以应该用函数调用来实现每一个算法的功能,这样易于管理,自反闭包和传递闭包相对简单一些,在编写对称闭包时,并不运用沃尔算法,应注意返回的只有0和1。 实验五、邻接矩阵判断可达矩阵 一、实验内容 从键盘输入一个邻接矩阵,用其判断出它的可达矩阵,并输出。 二、实验步骤 编写程序,从键盘输入一个邻接矩阵,求出它的可达矩阵,并输出,观察程序运行结果,调试程序。 三、实验代码 #include int a[100][100],b[100][100],c[100][100],d[100][100],i,j,k,t,p,q,n; printf(\请输入邻接矩阵的阶数\\n\scanf(\ printf(\请输入此邻接矩阵\\n\for(i=0;i for(t=0;t for(i=0;i for(j=0;j scanf(\c[i][j]=a[i][j]; d[i][j]=a[i][j]; b[i][j]=0; } } } for(j=0;j for(k=0;k for(p=0;p for(q=0;q c[p][q]=b[p][q]; b[p][q]=0; d[p][q]+=c[p][q]; printf(\该关系矩阵的可达型矩阵为\\n\for(i=0;i for(j=0;j printf(\ if(d[i][j]>=1) else d[i][j]=0; d[i][j]=1; printf(\ 四、实验体会 用邻接矩阵应先判断出两个节点有没有路,然后返回给可达矩阵,有路返回1,没有返回0,然后根据其关系输出可达矩阵。
正在阅读:
离散数学上机实验报告03-22
关于技术并购绩效的典型案例分析04-09
师生关系 - 教育学教案04-07
服装进销存系统毕业设计报告06-08
2016年普通话成绩查询信息汇总02-08
写景抒情优美散文500字例文3篇.doc04-19
材料力学习题01-02
全系列电感规格书(1)04-05
- 多层物业服务方案
- (审判实务)习惯法与少数民族地区民间纠纷解决问题(孙 潋)
- 人教版新课标六年级下册语文全册教案
- 词语打卡
- photoshop实习报告
- 钢结构设计原理综合测试2
- 2014年期末练习题
- 高中数学中的逆向思维解题方法探讨
- 名师原创 全国通用2014-2015学年高二寒假作业 政治(一)Word版
- 北航《建筑结构检测鉴定与加固》在线作业三
- XX县卫生监督所工程建设项目可行性研究报告
- 小学四年级观察作文经典评语
- 浅谈110KV变电站电气一次设计-程泉焱(1)
- 安全员考试题库
- 国家电网公司变电运维管理规定(试行)
- 义务教育课程标准稿征求意见提纲
- 教学秘书面试技巧
- 钢结构工程施工组织设计
- 水利工程概论论文
- 09届九年级数学第四次模拟试卷
- 离散
- 上机
- 数学
- 实验
- 报告