ImageVerifierCode 换一换
格式:DOCX , 页数:28 ,大小:20.18KB ,
资源ID:5663564      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/5663564.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(离散数学C语言上机题.docx)为本站会员(b****6)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

离散数学C语言上机题.docx

1、离散数学C语言上机题广东工业大学 计算机科学与技术 张法光离散数学C语言上机题 Anyview可视化编程作业系统二元关系章节编程题EX016.01 试设计一算法,实现集合的卡氏积运算。实现下列函数:/* * 进行两个集合的卡氏积运算 * param pA: 要进行卡氏积运算的集合 * param pB: 要进行卡氏积运算的集合 * return: 将pA和pB进行卡氏积运算后得到的集合 */ pCartersianSet CartesianProduct(pOriginalSet pA, pOriginalSet pB) pCartersianSet pC=createNullCartersi

2、anSet(); /空卡for(resetOriginalSet(pA);!isEndOfOriginalSet(pA);nextOriginalSetPos(pA) / 空卡 序偶插入 建立序偶 条件语句 for(resetOriginalSet(pB);!isEndOfOriginalSet(pB);nextOriginalSetPos(pB)OrderedCoupleInsertToCartersianSet(pC,createOrderedCouple(getCurrentOriginalSetElem(pA),getCurrentOriginalSetElem(pB);return

3、pC; 026.02 试设计一算法,给定集合A、集合B和集合C,判断集合C是否为A到B的一个二元关系。实现下列函数:/* * 给定集合A、集合B和集合C,判断集合C是否为A到B的一个二元关系。 * param pA: 集合A * param pB: 集合B * param pC: 集合C * return: 如果集合C是A到B的一个二元关系,则返回true,否则返回false。 */ boolean isBinaryRelation(pOriginalSet pA, pOriginalSet pB, pCartersianSet pC) pCartersianSet pD=createNull

4、CartersianSet();for(resetOriginalSet(pA);!isEndOfOriginalSet(pA);nextOriginalSetPos(pA) / 空卡 序偶插入 建立序偶 条件语句 for(resetOriginalSet(pB);!isEndOfOriginalSet(pB);nextOriginalSetPos(pB)OrderedCoupleInsertToCartersianSet(pD,createOrderedCouple(getCurrentOriginalSetElem(pA),getCurrentOriginalSetElem(pB); fo

5、r(resetCartersianSet(pC);!isEndOfCartersianSet(pC); nextCartersianSetPos(pC) if(isInCartersianSet(pD,getCurrentCartersianSetElem(pC) ;/满足条件,执行空语句,继续循环 else return false; return true; 036.03 试设计一算法,求集合A上的恒等关系。实现下列函数:/* * 给定集合A,求集合A上的恒等关系。 * param pSet: 原始集合 * return: 集合A上的恒等关系。 */ pCartersianSet Iden

6、tityRelation(pOriginalSet pA) pCartersianSet pB=createNullCartersianSet();for(resetOriginalSet(pA);!isEndOfOriginalSet(pA);nextOriginalSetPos(pA) / 空卡 序偶插入 建立序偶 条件语句 for(resetOriginalSet(pA);!isEndOfOriginalSet(pA);nextOriginalSetPos(pA) if(getCurrentOriginalSetElem(pA)=getCurrentOriginalSetElem(pA)

7、/The same elements OrderedCoupleInsertToCartersianSet(pB,createOrderedCouple(getCurrentOriginalSetElem(pA),getCurrentOriginalSetElem(pA); return pB;046.04 试设计一算法,求两个卡氏积集合的复合运算。实现下列函数:/* * 给定两个集合,求该两个集合的复合运算。 * param pA: 卡氏积集合 * param pB: 卡氏积集合 * return: pA与pB的复合运算结果。 */ pCartersianSet CompositeOpera

8、tion(pCartersianSet pA, pCartersianSet pB) pCartersianSet pC=createNullCartersianSet(); for(resetCartersianSet(pA);!isEndOfCartersianSet(pA); nextCartersianSetPos(pA) for(resetCartersianSet(pB);!isEndOfCartersianSet(pB); nextCartersianSetPos(pB) if(isEqualOriginalSetElem(getSecondElemOfOrderedCouple

9、(getCurrentCartersianSetElem(pA),getFirstElemOfOrderedCouple(getCurrentCartersianSetElem(pB) /获取A卡氏积中序偶的第二元 /获取第二元 OrderedCoupleInsertToCartersianSet(pC,createOrderedCouple(getFirstElemOfOrderedCouple(getCurrentCartersianSetElem(pA),getSecondElemOfOrderedCouple(getCurrentCartersianSetElem(pB) ); ret

10、urn pC; 056.05 试设计一算法,求一个关系的逆运算。实现下列函数:/* * 求一个关系的逆运算。 * param pA: 卡氏积集合 * return: pA的逆运算结果。 */ pCartersianSet InverseOperation(pCartersianSet pA) pCartersianSet pB=createNullCartersianSet(); for(resetCartersianSet(pA);!isEndOfCartersianSet(pA); nextCartersianSetPos(pA) OrderedCoupleInsertToCartersi

11、anSet(pB,createOrderedCouple(getSecondElemOfOrderedCouple(getCurrentCartersianSetElem(pA),getFirstElemOfOrderedCouple(getCurrentCartersianSetElem(pA) ); return pB;066.06 试设计一算法,对某集合A上的一个二元关系,求该关系的幂运算。实现下列函数:/* * 求一个关系的幂运算。 * param pA: 原始集合 * param pBinaryRelationR: pA上的关系R * param n: 幂运算的次数,且n = 0 *

12、 return: pBinaryRelationSet的n次幂运算结果。 */ pCartersianSet CompositeOperation(pCartersianSet pA, pCartersianSet pB) pCartersianSet pC=createNullCartersianSet(); for(resetCartersianSet(pA);!isEndOfCartersianSet(pA); nextCartersianSetPos(pA) for(resetCartersianSet(pB);!isEndOfCartersianSet(pB); nextCarter

13、sianSetPos(pB) if(isEqualOriginalSetElem(getSecondElemOfOrderedCouple(getCurrentCartersianSetElem(pA),getFirstElemOfOrderedCouple(getCurrentCartersianSetElem(pB) /获取A卡氏积中序偶的第二元 /获取第二元 OrderedCoupleInsertToCartersianSet(pC,createOrderedCouple(getFirstElemOfOrderedCouple(getCurrentCartersianSetElem(pA

14、),getSecondElemOfOrderedCouple(getCurrentCartersianSetElem(pB) ); return pC; pCartersianSet PowOperation(pOriginalSet pA, pCartersianSet pBinaryRelationR, int n) pCartersianSet pC=createNullCartersianSet(); pC=copyCartersianSet(pBinaryRelationR); if(n=0) for(resetOriginalSet(pA);!isEndOfOriginalSet(

15、pA);nextOriginalSetPos(pA) for(resetOriginalSet(pA);!isEndOfOriginalSet(pA);nextOriginalSetPos(pA) OrderedCoupleInsertToCartersianSet(pC,createOrderedCouple(getCurrentOriginalSetElem(pA),getCurrentOriginalSetElem(pA); return pC; if(n=1) return pBinaryRelationR; for(int i=1;in;i+) pC=CompositeOperati

16、on(pC,pBinaryRelationR); return pC; 076.02 试设计一算法,对某集合A上的一个二元关系R,判断R是否具有自反性。实现下列函数:/* * 判断一个关系是否具有自反性。 * param pA: 原始集合 * param pBinaryRelationR: 卡氏积集合,该集合是一个pA上的二元关系 * return: 如果pBinaryRelationSet具有自反性;则返回true,否则返回false。 */ boolean IsReflexivity(pOriginalSet pA, pCartersianSet pBinaryRelationR) pCa

17、rtersianSet pC=createNullCartersianSet(); /获取 IA for(resetOriginalSet(pA);!isEndOfOriginalSet(pA);nextOriginalSetPos(pA) for(resetOriginalSet(pA);!isEndOfOriginalSet(pA);nextOriginalSetPos(pA) OrderedCoupleInsertToCartersianSet(pC,createOrderedCouple(getCurrentOriginalSetElem(pA),getCurrentOriginalS

18、etElem(pA); for(resetCartersianSet(pC);!isEndOfCartersianSet(pC); nextCartersianSetPos(pC) if(isInCartersianSet(pBinaryRelationR,getCurrentCartersianSetElem(pC) ;/满足条件,执行空语句,继续循环 else return false; return true; 086.08 试设计一算法,对某集合A上的一个二元关系R,判断R是否具有反自反性。实现下列函数:/* * 判断一个关系是否具有反自反性。 * param pA: 原始集合 * p

19、aram pBinaryRelationR: 卡氏积集合,该集合是一个pA上的二元关系 * return: 如果pBinaryRelationSet具有反自反性;则返回true,否则返回false。 */ boolean IsAntiReflexivity(pOriginalSet pA, pCartersianSet pBinaryRelationR) pCartersianSet pC=createNullCartersianSet(); /获取 IA for(resetOriginalSet(pA);!isEndOfOriginalSet(pA);nextOriginalSetPos(p

20、A) for(resetOriginalSet(pA);!isEndOfOriginalSet(pA);nextOriginalSetPos(pA) OrderedCoupleInsertToCartersianSet(pC,createOrderedCouple(getCurrentOriginalSetElem(pA),getCurrentOriginalSetElem(pA); for(resetCartersianSet(pC);!isEndOfCartersianSet(pC); nextCartersianSetPos(pC) if(!isInCartersianSet(pBina

21、ryRelationR,getCurrentCartersianSetElem(pC) ;/满足条件,执行空语句,继续循环 else return false; return true; 096.09 试设计一算法,对某集合A上的一个二元关系R,判断R是否具有自反性或者反自反性。 在实际运算中,A无需给出。实现下列函数:/* * 判断一个关系是否具有自反性或者反自反性。对一个关系R是否具有自反性或者反自反性, * 有四种可能:是自反的;是反自反的;既是自反的也是反自反的、 * 既不是自反的也不是反自反的。 * param pA: 原始集合 * param pBinaryRelationR: 卡

22、氏积集合,该集合是一个pA上的二元关系 * return: 返回一个Reflexivity_Type枚举类型值。 * 如果pBinaryRelationSet具有自反性,则返回REFLEXIVITY; * 如果pBinaryRelationSet具有反自反性,则返回ANTI_REFLEXIVITY; * 如果pBinaryRelationSet既具有自反性,也具有反自反性,则返回 * REFLEXIVITY_AND_ANTI_REFLEXIVITY; * 如果pBinaryRelationSet既不具有自反性,也不具有反自反性,则返回 * NOT_REFLEXIVITY_AND_NOT_ANT

23、I_REFLEXIVITY; */自反函数boolean IsReflexivity(pOriginalSet pA, pCartersianSet pBinaryRelationR) pCartersianSet pC=createNullCartersianSet(); /获取 IA for(resetOriginalSet(pA);!isEndOfOriginalSet(pA);nextOriginalSetPos(pA) for(resetOriginalSet(pA);!isEndOfOriginalSet(pA);nextOriginalSetPos(pA) OrderedCoup

24、leInsertToCartersianSet(pC,createOrderedCouple(getCurrentOriginalSetElem(pA),getCurrentOriginalSetElem(pA); for(resetCartersianSet(pC);!isEndOfCartersianSet(pC); nextCartersianSetPos(pC) if(isInCartersianSet(pBinaryRelationR,getCurrentCartersianSetElem(pC) ;/满足条件,执行空语句,继续循环 else return false; return

25、 true;/反自反函数boolean IsAntiReflexivity(pOriginalSet pA, pCartersianSet pBinaryRelationR) pCartersianSet pC=createNullCartersianSet(); /获取 IA for(resetOriginalSet(pA);!isEndOfOriginalSet(pA);nextOriginalSetPos(pA) for(resetOriginalSet(pA);!isEndOfOriginalSet(pA);nextOriginalSetPos(pA) OrderedCoupleIns

26、ertToCartersianSet(pC,createOrderedCouple(getCurrentOriginalSetElem(pA),getCurrentOriginalSetElem(pA); for(resetCartersianSet(pC);!isEndOfCartersianSet(pC); nextCartersianSetPos(pC) if(!isInCartersianSet(pBinaryRelationR,getCurrentCartersianSetElem(pC) ;/满足条件,执行空语句,继续循环 else return false; return tru

27、e; Reflexivity_Type DetermineReflexivity(pOriginalSet pA, pCartersianSet pBinaryRelationR) if(IsReflexivity(pA,pBinaryRelationR)&IsAntiReflexivity(pA,pBinaryRelationR) return REFLEXIVITY_AND_ANTI_REFLEXIVITY; else if(!IsReflexivity(pA,pBinaryRelationR)&!IsAntiReflexivity(pA,pBinaryRelationR) return

28、NOT_REFLEXIVITY_AND_NOT_ANTI_REFLEXIVITY; else if(IsReflexivity(pA,pBinaryRelationR) return REFLEXIVITY; else return ANTI_REFLEXIVITY;106.10 试设计一算法,对某集合A上的一个二元关系R,判断R是否具有对称性或者反对称性。实现下列函数:/* * 判断一个关系是否具有对称性或者反对称性。对一个关系R是否具有对称性或者反对称性, * 有四种可能:是对称的;是反对称的;既是对称的也是反对称的;既不是对称的也不是 * 反对称的。 * param pBinaryRel

29、ationR: 卡氏积集合,该集合是一个pA上的二元关系 * return: 返回一个Symmetry_Type枚举类型值。 * 如果pBinaryRelationSet具有对称性,则返回SYMMETRY; * 如果pBinaryRelationSet具有反对称性,则返回ANTI_SYMMETRY; * 如果pBinaryRelationSet既具有对称性,也具有对称性,则返回* SYMMETRY_AND_ANTI_SYMMETRY; * 如果pBinaryRelationSet既不具有对称性,也不具有反对称性,则返回 * NOT_SYMMETRY_AND_NOT_ANTI_SYMMETRY;

30、 */ Symmetry_Type DetermineSymmetry(pCartersianSet pBinaryRelationR)int a,b,c; a=b=c=0;if(!isNullCartersianSet(pBinaryRelationR)for(resetCartersianSet(pBinaryRelationR);!isEndOfCartersianSet(pBinaryRelationR);nextCartersianSetPos(pBinaryRelationR)if(isInCartersianSet(pBinaryRelationR,createOrderedCouple(getSecondElemOfOrderedCouple(getCurrentCartersianSetElem(pBinaryRelatio

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1