- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
分数类的设计与实现
课 程 设 计 任 务 书
学院 信息科学与工程 专业 电子信息科学与技术 学生姓名 学号 设计题目 1.分数类的设计与实现 2.生命游戏 1.分数类的设计与实现
建立用于完成分数形式运算的类RationalNumber。编写一个测试该类的程序。用整数变量表示类的私有数据(即分子和分母)。给类提供一个能够对所声明的对象初始化的构造函数。为了能够在不提供初始化值的情况下也能对对象初始化,构造函数中应该包含默认的值。构造函数还应该以最简分数的形式存储数据,即2/4应该在对象中存储成分子为1、分母为2的形式。公有成员函数应该有以下功能:
1.两个有理数相加,以最简形式保存结果;
2.两个有理数相减,以最简形式保存结果;
3.两个有理数相乘,以最简形式保存结果;
4.两个有理数相除,以最简形式保存结果;
5.以a/b的形式输出有理数(a是分子,b是分母);
6.以浮点形式输出有理数。
2.生命游戏
生命游戏其实是一个零玩家游戏。它包括一个二维矩形世界,这个世界中的每个方格居住着一个活着的或死了的细胞。一个细胞在下一个时刻生死取决于相邻八个方格中活着的或死了的细胞的数量。如果相邻方格活着的细胞数量过多,这个细胞会因为资源匮乏而在下一个时刻死去;相反,如果周围活细胞过少,这个细胞会因太孤单而死去。
1.如果一个细胞周围有3个细胞为生(一个细胞周围共有8个细胞),则该细胞为生(即该细胞若原先为死,则转为生,若原先为生,则保持不变) 。
2.如果一个细胞周围有2个细胞为生,则该细胞的生死状态保持不变;
3.其它情况下,该细胞为死(即该细胞若原先为生,则转为死,若原先为死,则保持不变) 进度安排:
第17周:分析题目,查阅课题相关资料,进行类设计、算法设计;
第18周:上机调试程序,程序测试与分析,撰写课程设计报告,准备答辩。 指导教师(签字):
年 月 日 学院院长(签字)
年 月 日
目 录
PART I 1
1 需求分析 1
2 算法基本原理 1
2.1 加法 1
2.2 减法 2
2.3 乘法 2
2.4 除法 2
3 类设计 2
4 详细设计 3
4.1 类的接口设计 3
4.2 类的实现 4
4.3 主函数设计 9
5 运行结果与分析 10
5.1 程序运行结果 10
5.2运行结果分析 12
PART II 12
6 基于MFC的图形界面程序开发 12
6.1 基于MFC的图形界面程序设计 12
(1)界面设计 12
(2)代码设计 14
6.2 测试程序 22
6.3 MFC程序编写总结 23
7 参考文献 24
PART I
1 需求分析
(1) 有理数可分为整数和分数也可分为三种,一;正数,二;0,三;负数。除了无限不循环小数以外的实数统称有理数。在数学上有理数的运用相当广泛,所以一款简易的有理数计算器可以大大节约时间,而且不会因为人为误差导致计算结果出错。
(2) 依照它们的序列,有理数具有一个序拓扑。有理数是实数的(稠密)子集,因此它同时具有一个子空间拓扑。采用度量,有理数构成一个度量空间,这是它的第三个拓扑。幸运的是,所有三个拓扑一致并将有理数转化到一个拓扑域。有理数是非局部紧致空间的一个重要的实例。这个空间也是完全不连通的。有理数不构成完备的度量空间;实数是它的完备集。
(3)程序测试数据选择若干种有代表性的数据来进行测试,通过临界数据的测试来判断系统的正确性。
2 算法基本原理
2.1 加法
有理数的加法与小学的加法大有不同,小学的加法不涉及到符号的问题,而有理数的加法运算总是涉及到两个问题:一是确定结果的符号;二是求结果的绝对值。 在进行有理数加法运算时,首先判断两个加数的符号:是同号还是异号,是否有0。从而确定用那一条法则。在应用过程中,一定要牢记先符号,后绝对值,熟练以后就不会出错了。 多个有理数的加法,可以从左向右计算,也可以用加法的运算定律计算。
法则
1.同号相加,取相同符号,并把绝对值相加。
2.绝对值不等的异号加减,取绝对值较大的加数符号,并用较大的绝对值减去较小的绝对值。互为相反数的两个数相加得0。
3.一个数同0相加,仍得这个数。
定律
Ⅰ.同号相加,取相同符号,并把绝对值相加。
Ⅱ.绝对值不相等的异号两数加减,取绝对值较大的符号,并用较大的绝对值减去较小的绝对值。互为相反数的两个数相加得0。
Ⅲ.一个数同0相加,仍得这个数。
Ⅳ.相反数相加结果一定得0。
2.2 减法
有理数减法法则:减去一个数,等于加上这个数的相反数。其中:两变:减法运算变加法运算,减数变成它的相反数。一不变:被减数不变。可以表示成: a-b=a+(-b)。
2.3 乘法
1.两数相乘
文档评论(0)