




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、离散数学上机实验报告作者:日期:?离散数学实验报告姓名: 学号: 班级:?实验一连结词逻辑运算一. 实验目的实现二元合取、析取、蕴涵和等价表达式的计算。熟悉连接词逻辑运算规则, 利用程序语言实现逻辑这几种逻辑运算。二. 实验内容从键盘输入两个命题变元p和 q的真值, 求它们的合取、 析取、蕴涵和等价四种运算的真值。要求对输入内容进行分析,如果不符合0、1 条件需要重新输入,程序有良好的输入输出界面。三实验环境使用 mirooft visual c+6. 为编程软件,采用称c/c+语言为编程语言实现。四. 实验过程. 算法分析 : 合取: p,q 都为 1 的时候为1, 其他为 0 析取: p,
2、q 都为 0 的时候为,其他为1 蕴含:为1,q 为 0 时为 0, 其他为等价 :p,q 同真同假2. 程序代码:#i cl d in mai( ) ? in p, ,a ,b,c,d,p, ; printf( p的值 ); for(p 0;p2 ;p+) ? ?f r(q=0;q ;q+) ?%d ,p); ? printf(n q的值 ); or( =0;p2;p+ )? ? f r(q=;q;q+) ?printf(t ,q); ? printf(n 非 p的值 ); for (p=0;p;p+) ? or( 0;q2; +)? ? f( =) * 判断非 p的值 */ ? p=1;
3、? e s? p0;? int ( t%d,p) ;? ? ? printf(n 非 q的值 ); ? for( ;p 2;p+)? ?for ( 0; q2;q+) ? ?if(q=1) * 判断非 q的值 */ ? q ; ?else ? q=1; ?p ,q); ? ? prin f(n 与 q的值 ); fo ( =0;p2;p+) ? ? f r( 0;q; +) ? ?if(q= 0|p=0 ) * 判断 p与 q的值 */ ?a=0; ?es? a=1; ? rintf(t%d, ); ? ? print (n 或 q的值 ); ? fo ( p=;p ;p+) ? for(q
4、;q2;q+) ? ? if(q= 1|p =1)判断 p或的值 */ ? b=1; ?el e ?b 0;? printf(t% ,b); ? ? pr ntf (n蕴含的值); ? f r(p ;p ;p+) ? ? or(q= ;q ;q+) ? ? if(p=1&q=0)/ 判断 p蕴含 q的值 */ ?c=0;?else ? 1; int ( t%d , ); rint( np 等价 q的值 ); for(p 0;p2;p +) ? ? r(q=0;q2; +) ? ?( p q)/ 判断 p等价 q的值 */ ?d=1; ?l ?=0; ? i tf (%d,d); ? p
5、r nt ) ;et r 0 ; 3. 实验数据及结果分析 : 实验二关系的复合运算及逆运算一实验目的熟悉关系的复合运算和逆运算,编程实现关系复合运算和逆运算算法。二. 实验内容利用矩阵求解有限集上的复合关系和逆关系。三. 实验过程1. 算法分析 : 复合运算就将两个用矩阵表示的关系进行复合,即在第一个矩阵中寻找值为的元素坐标(i ,j ), 在第二个矩阵第j 行寻找值为1 的元素,若有,且坐标为(j ,k ),则产生的新的关系的矩阵中坐标为(i ,k )的元素值为1。逆运算就是将用矩阵中值为的元素坐标(i ,j)对调 , 产生新的关系的矩阵中坐标为( ,i )的元素值为1。2. 程序代码 :
6、 / 关系的复合运算inclue u ng namesace s ; int m n() int 1 100 ,b10 10 ,c 0 100,i,j,k, ; ? cu n; ou请输入关系矩阵mr 的格式: ndl; fo ( =;i ; i+ )? ? f r (j 0;jai j ; ? cot 请输入关系矩阵ms的格式 :en l ;for(i=;i n;i+) ? ? fo ( j= ; b j; ? ? f r(i=0;i; +) /进行复合运算? for( =0;j ;j+) ?if(i j=1) ?f r ( = ; ;k+ )? if(b k=1) ? c =1 ; fo
7、( i=0;in;i+) ? ?for ( ;j ;j+) ? i ( j!1) ?i =0 ; ? coutend ; out 关系矩阵mr 与 ms的复合运算结果是: e ; o( =0; n; +) ? ? or( =0;jn;j+) ?out ci j ; ?coutend ; et 0; / 关系的逆运算 nclude int ain() nt a10 100,b100100, , i, ,index; ? pr ntf( 请输入集合x中元素的个数 :); sc f( %d,&); pri f( 请输入关系矩阵r 的格式 :n); ? for(i=0;i ;i ) f r (
8、j=0;jn;j+) ?scanf(%d ,& j); ? f (i= ;i ; +) / 进行逆运算? fo (j=0 ;j ;j +) ? if( j 1) ?ind x=i ;?i ; ?j= nex; ? b = ; fo (i 0; n;i+) ? ?for(j=; jn;j+)?if(bij!=1) ? b =0; ? rint( n关系矩阵m rc 为:n);for(i=0;i ;i+ ) ? f r(j=0;j sing n mespac s ; vi l ver (i t x1000, nt 100100,int n); int ma () ? nt i,j,,r10
9、010,r 100 00, 1010 ,t 100100; ct 请输入矩阵的阶 :; cin ; ? coued请输入 r的关系矩阵 : edl; f r(i ;in ;i+) / 输入 r的关系矩阵? for (j 0;jr ij; ? or(i ; ;i +)将 r的关系矩阵赋值给 ,s,t ? ? for(j=0;j ;j+) ? ?ri=rij; ? sij= ; ?t i j=ri; ? or(i=0;in;i+) / 自反闭包运算 i (r i=0) ii =; ? coutedl自反闭包关系矩阵( r):edl; ? or(i= ;in;i+) / 输出的关系矩阵? ?f r(
10、j=0 ;jn;j+) ?cotrij ; coutedl; for (i=0 ;i n;i+) / 对称闭包运算? ?or(j= ;j ;j+ ) ? i (sij =1| j=1) ? ? j=; ? s i=1; ? ? ? couend对称闭包关系矩阵 ( ) :endl; ? f r(=0;in;i+) /输出 s 的关系矩阵 ? for(j=0;j;j+ )? cotij ; ? coutnd; ? deliv r(t,r,n); / 关于传递闭包的函数? re n 0; id eliver(it x10010,it y10 1 0,int n)关于传递闭包的函数 nt ,j ,k
11、,m,z100100; for( =;mn;m+) ? for( =0;i n;i+) ? ? for(j=;jn;j+) ? ? f( i j=1) ? ?for(k=0;kn;k+) ?if(yjk=) / 进行复合运算?zik1; ? ? for(i=;in;i+) ?f (j 0;jn ;j+) ? ? if(zi j!=1 )? zij0; ? ? fo ( =;i n; +) ? ?or(j= ;j n;j+ )? j=xij+zi j; / 进行传递闭包运算? ? ? fo (i 0; n;i +) for(j; j ;j+) ? if(xi j!=0) ? xij=; ? co
12、utend传递闭包关系矩阵t (r): end; ? for ( 0; n;+) / 输出的关系矩阵?or(j=0;j ; +) ?cout x j ; ? couedl; 3. 实验数据及结果分析:?实验四图的矩阵表示一实验目的熟悉图的矩阵表示方法邻接矩阵、可达矩阵和关联矩阵。二实验内容利用邻接矩阵得到的可达矩阵来求解图的连通性质。三. 实验过程. 算法分析:可达矩阵表示图中任意两个节点间的可达关系,而邻接矩阵表示图中任意两个节点的邻接关系。求解邻接矩阵 ?1,?2,?3?可知任意两个节点之间是否存在互相连通的路, 从而判断是否可达。. 程序代码 : #inclu e usi namespa
13、e std ;oid main() ? int i,j,k,n,m,10 0,b1 0100 ,c100 , 10 100; cout ; cout 请输入邻接矩阵a: end;? o( =0;in ;i+) fo ( =; a j; ? i =aij; ? ? for(i=0 ;i n;i +) /矩阵为零矩阵 ? (j=0;jn;j+ ) ? d j=0;? ? for (m= ; n;m+) ? or (i=0; n;i+) / 矩阵 c 为零矩阵? ? or ( =0;jn;j+) ?ij=0; ? for( =;k ;k+ )? ? fo (i=0 ;in;i+) ? for (j=0;j n; +) ? ?ck i =ck +b j aj ; /矩阵的乘法运算? ? ?f (i=0;in; +)? ?for( 0;j n;j+) ? b jci j; ? di j= ij j; ? ? ot 为
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 水彩老师考试题及答案
- 成人音乐测试题及答案
- 安康药房面试题及答案
- 生猪屠宰面试题及答案
- 产业岗位面试题及答案
- 轻工分类考试题及答案
- 2025年桂平市教育系统招聘教师考试笔试试题(含答案)
- 2025年大同市消防员考试笔试试题(含答案)
- 2024年事业单位招聘考试公共基础知识必考题库及答案
- 2024年湖北直属事业单位招聘综合应用能力真题及答案(B类)
- 2025年发展对象考试题库附含答案
- 2025年新专长针灸考试题及答案
- 2025医院医疗器械不良事件监测与报告制度
- 2025年甘肃社会化工会工作者招聘考试(公共基础知识)模拟试题及答案
- 公司解散清算的法律意见书、债权处理法律意见书
- 《心系国防 强国有我》 课件-2024-2025学年高一上学期开学第一课国防教育主题班会
- 口腔科超声波洁牙知情同意书
- 公安派出所优质建筑外观形象设计基础规范
- C型钢检验报告
- 甲状腺腺瘤教学查房课件
- 人民法院法庭建设项目可行性研究报告
评论
0/150
提交评论