- 1、本文档共15页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
11080531_课程设计报告
五邑大学课程设计
数据结构课程设计报告
2012~2013 年度 第2 学期
院系: 计算机学院
学号:
姓名: 吴嘉楠
任课教师: 白明 成绩评定:
完成日期:2013 年6 月4 日
课程设计题目:分数计算
1、 问题描述
如今计算机科技那么发达,拥有优秀用户体验的计算器应用软件不少,但却鲜有能将运算结果以
自然书写方式显示(非一长串经四舍五入的不精确的浮点数,而是由整数结合分式)的程序。
本次课程设计就尝试去实现它。
2、 数据结构的设计
(一)分数的存储结构
随着思考从仅有初步构思,到逐步深入,此程序的数据结构被我改了数次。
1) 原本希望做:通过菜单可以由用户自由选择带分数或假分数显示。输入时可以自由选择输入
带分数还是假分数:提供两个按钮:“插入带分数”、插入假分数。比如摁下“带分数”以后
显示屏将会出现:
□
□
123
红色框中的位置就是当前正在编辑且还从未输入过数字的地方。整个分数用HTML 的表格写:
以上图就是一个2*2 表格,左边一列合并单元格。
分母就是已经输入数字并且编辑光标已经移开时的样子。
由此我陷入一个问题:带分数和假分数的存储结构是否应统一。诚然他们是同一个类的实例
更好处理,因为到计算一步都是统一用假分数形式。所以有几种方案:
a) 一个类里有 5 个 int 属性分别存假分数时的分子分母和带分数时的整数部分、分子、分
母。
b) 统一用假分数时的分子分母存储。需要带分数时再转换。
方案b 行不通,因为一个标准的带分数的分子部分是一定小于分母的,但是在用户输入的时
候,中间过程有可能会发生这样的事。
图形界面的计算器无法知道用户何时完成输入,所以每一次摁键都需要将数字立即存储。如
果希望将用户的输入原样存储,则需要再另开 int 变量用于专门处理,否则从假分数转为带
分数时分子一定小于分母。
方案a 也很麻烦。得小心处理两种数据不对应的情况,比如某时刻程序异常,带分数形式存
储的数值,跟假分数形式存储的数值不一样的时候。
2) 问题绕不开。再考虑到实际数学计算中其实只用假分数。于是把带分数的功能拿掉了。但是
另一个设想又被我提出:分子、分母也可能是一个分式。
这意味着,分子分母也可以是一个指针,指向另一条式子。
理清思路以后,我设计了如下结构:
一条“式子”用一个对象封装。“式子”的意思是,这个顺序结构可以由数字、分数和加、减、
乘运算符排列成。没有除,因为除被统一到分式了。
分子、分母可以是一个数,也可以是指向另一条“式子”的指针。当指针为空时那个分数结
点的数字才是有效的。
后俩我发现,括号也可以统一这个结构中去,做法是:整个分数也可以是一个指向另一条“式
子”的指针。
无论分数指向的“式子”里面有没有分数,总之它得先被计算,计算结果返回到分数本身。
某一天,我突然发现这个结构是一棵树。
根节点
一条式子: 分数 符号 分数 ……
可以使用树的“孩子兄弟表示法”来存储这棵树。每个节点有两个指针:firstChild,
您可能关注的文档
- (17一21)傅海伦)新课程改革背景下的校本教研(校本新讲座一之21).ppt
- (c语言)机房收费管理系统课程设计.doc
- (北京版)六年级美术上册 藏书票设计.ppt
- (广州大学电气课程设计)设计说明书正文.pdf
- (电子09-01)实训任务书指导书.pdf
- (简)感悟数学 引领发展.ppt
- (苏教版)《搭支架》.ppt
- .net心语心愿网课程设计报告.docx
- 01matlab 简介 2013.ppt
- 01_01_c语言程序设计_第一章 程序设计和c语言_周常欣.ppt
- 课题开题报告:“四新”专业与高等理科之间的关系研究.docx
- 清明节与现代生活的关系-文化评论员.pptx
- 课题开题报告:“五金”建设助推高职院校关键办学能力提升的理论与实践.docx
- 课题开题报告:“四纵四横”研究型教师队伍培养体系的构建与实践研究.docx
- 课题开题报告:“五金”新基建背景下中职学校创新型教师团队建设路径研究.docx
- 课题开题报告:“四新”建设与创新创业人才培养基本范式研究.docx
- 英语学习的技巧与方法-提高英语学习技巧.pptx
- 一年级语文课教学课件-提高学生的语文知识水平.pptx
- 硕士考试全攻略-从备考规划到模拟实战.pptx
- 七年级语文下册读读写写汇编(注音+解释).pdf
文档评论(0)