版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、离散数学实验报告姓名:学号:专业: 实验一、真值运算一、实验内容从键盘输入两个命题P和Q的真值,求它们的合取、析取、条件和双条件的真值,并输出。二、实验步骤编写程序,将P,Q以不同真值带入,观察程序运行结果,调式程序。三、实验代码#include<stdio.h>int main()int p,q;char t;while(t)printf("是否运算程序(y/n):n");scanf("%c",&t);if('y'=t)printf("输
2、入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=0&&p=0)printf("p=1n");printf("q=1n");printf(&q
3、uot;pq=0n");printf("pq=0n");printf("pq=1n");printf("p<->q=1n");else if(p=0&&q=1)printf("p=1n");printf("q=0n");printf("pq=0n");printf("pq=1n");printf("pq=1n");printf("p<->q=0n");else if(
4、p=1&&q=0)printf("p=0n");printf("q=1n");printf("pq=0n");printf("pq=1n");printf("pq=0n");printf("p<->q=0n");else if(p=1&&q=1)printf("p=0n");printf("q=0n");printf("pq=1n");printf("pq=1n&
5、quot;);printf("pq=1n");printf("p<->q=1n");continue;if('n'=t)break;return 0;四、实验体会求真值运算中,应注意各种连接词的试用方法,以及其在不同情况下的真值。实验二、关系的复合一、实验内容从键盘输入两个关系,求它们的复合关系,并输出。二、实验步骤编写程序,从键盘输入几种不同的二元关系,如果是关系矩阵,则关系矩阵应能够相乘,然后观察它们的复合结果,调试程序。三、实验代码#include<stdio.h>int main()int k,m,n,i,
6、j,sum=0,a1010,b1010,c1010;printf("输入X集合中元素个数:");scanf("%d",&k);printf("输入X中二元关系R的关系矩阵:n");for(i=0;i<k;i+)for(j=0;j<k;j+)scanf("%d",&aij);printf("输入X中二元关系S的关系矩阵:n");for(m=0;m<k;m+)for(n=0;n<k;n+)scanf("%d",&bmn); prin
7、tf("输出X中二元关系R的关系矩阵:n");for(i=0;i<k;i+)for(j=0;j<k;j+)printf("%d ",aij);if(j=k-1) printf("n");printf("输出X中二元关系S的关系矩阵:n");for(m=0;m<k;m+)for(n=0;n<k;n+)printf("%d ",bmn);if(n=k-1) printf("n");for(i=0;i<k;i+)for(n=0;n<k;n+)fo
8、r(j=0,m=0;j<k,m<k;j+,m+)sum+=aij*bmn;if(sum>1)sum=1;cin=sum;sum=0;printf("输出RS的关系矩阵:n");for(i=0;i<k;i+)for(j=0;j<k;j+)printf("%d ",cij);if(j=k-1) printf("n");四、实验体会在求关系的复合中,先求出其关系矩阵,关系矩阵的运算和普通矩阵的运算一样,但是值得注意的是,关系矩阵中只有0和1,所以当大于1时,应该返回1,其余不变。实验三、用沃尔算法求传递闭包一、
9、实验内容从键盘输入二元关系用沃尔算法求出它的传递闭包,并输出。二、实验步骤熟悉沃尔算法,然后将其用程序编写出来,任意输入二元关系,观察程序运行结果,用另一种算法算出结果,与其比较,调试程序。三、实验代码#include<stdio.h>int main()int n,i,j,k,a1010;printf("输入一个X集合中的元素:");scanf("%d",&n);printf("输入一个关系矩阵:n");for(i=0;i<n;i+)for(j=0;j<n;j+)scanf("%d"
10、;,&aij);for(j=0;j<n;j+)for(i=0;i<n;i+)if(aij=1)for(k=0;k<n;k+)aik=ajk+aik;if(aik>1)aik=1;printf("输出传递闭包:n");for(i=0;i<n;i+)for(j=0;j<n;j+) printf("%d ",aij); if(j=n-1) printf("n");return 0;四、实验体会熟悉并使用沃尔算法,关系矩阵中只有0和1,所以用沃尔算法求得的数若大于1,应该返回1,其余不变。实验四、三
11、种闭包运算一、实验内容从键盘输入一个二元关系,求它的自反闭包,对称闭包,传递闭包,并输出。二、实验步骤编写程序,从键盘输入一个二元关系,当求传递闭包时,试与沃尔算法的传递闭包做比较,观察程序运行结果,调试程序。三、实验代码#include<stdio.h> void output(int s100); void zifan(int s2100); void duichen(int s2100); void chuandi1(int s2100); void aa(); int s100100,z; int d,n ,i,j; int main()char ch;aa();print
12、f("是否开始新的运算?(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("%d",&n); printf("请输入矩阵的列数(必须小于10)n "); scanf("%d",&d); printf("
13、;请输入关系矩阵n"); for(i=0;i<n;i+) printf("n"); printf("请输入矩阵的第%d行元素",i+1); for(j=0;j<d;j+) scanf("%d",&sij); doprintf("输入对应序号选择算法n1:自反闭包n2:传递闭包n3:对称闭包n"); scanf("%d",&z); switch(z) case 1:zifan(s); break; case 2:chuandi1(s);break; case
14、3:duichen(s); break; printf("您选择继续吗(Y/N)?n"); do c=getchar();while(c!='N'&&c!='Y'); while(c='Y'); void output(int s100) printf("所求关系矩阵为:n"); for(i=0;i<n;i+) for(j=0;j<d;j+) printf("%3d",sij); printf("n"); void zifan(int s2
15、100) for(i=0;i<n;i+) s2ii=1; output(s2); void duichen(int s2100) int s1100100; for(i=0;i<n;i+) for(j=0;j<d;j+) s1ji=s2ij; for(i=0;i<n;i+) for(j=0;j<d;j+) s2ij=s2ij+s1ij; if(s2ij>1) s2ij=1; output(s2); void chuandi1(int s2100) int m100100,a100100,k,h; int t100100; for(i=0;i<n;i+)
16、 for(j=0;j<d;j+) aij=0; tij=s2ij; mij=s2ij; for(h=0;h<n;h+) for(i=0;i<n;i+) for(j=0;j<d;j+) if(mij=1) for(k=0;k<n;k+) if(s2jk=1) aik=1; for(i=0;i<n;i+) for(j=0;j<d;j+) mij=aij; tij+=aij; aij=0; if(tij>1) tij=1; output(t); 四、实验体会此程序要求的算法较多,所以应该用函数调用来实现每一个算法的功能,这样易于管理,自反闭包和传递闭包
17、相对简单一些,在编写对称闭包时,并不运用沃尔算法,应注意返回的只有0和1。实验五、邻接矩阵判断可达矩阵一、实验内容从键盘输入一个邻接矩阵,用其判断出它的可达矩阵,并输出。二、实验步骤编写程序,从键盘输入一个邻接矩阵,求出它的可达矩阵,并输出,观察程序运行结果,调试程序。三、实验代码#include<stdio.h>void main()int a100100,b100100,c100100,d100100,i,j,k,t,p,q,n;printf("请输入邻接矩阵的阶数n");scanf("%d",&n);printf("请输入此邻接矩阵n");for(i=0;i<n;i+)for(j=0;j<n;j+)scanf("%d",&aij);cij=aij;dij=aij;bij=0;for(t=0;t<n;t+)for(i=0;i<n;i+)for(j=0;j<n;j+)for(k=0;k<n;k+)bij+=c
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 机台班组安全活动制度培训课件
- 起重机械安全管理人员职责培训
- 卫生院安全隐患排查制度培训课件
- 任务4.3活动数据分析工作页
- 起重机械卷筒安全检查培训课件
- 2026安国市法院面试题及答案
- 2026阿里java校招面试题及答案
- 景区安全检查制度培训课件
- 配电室安全防护制度培训
- 配电室安全工作职责培训课件
- 2026广东深圳市九洲电器有限公司招聘android 应用工程师1人笔试参考试题及答案详解
- 2026江西省江投海油新能源有限公司招聘4人笔试参考题库及答案解析
- 2025年2026春季新人教版物理八年级下册全册教案新版
- 《精细化工企业安全管理规范AQ 3062-2025》解读
- DGTJ08-308-2018 埋地塑料排水管道工程技术标准
- 超市临时用工合同范本
- 2025年陕西省宝鸡市金台区小升初数学试卷(含答案)
- DB35T 1964-2021 森林抚育技术规程
- 语文教考衔接课件-高考试题与教材的关联分析及复习策略
- 《智能仪器》课后习题答案
- GB/T 43081-2023道路车辆灯泡和光源尺寸、光电性能要求
评论
0/150
提交评论