2022年数制转换数据结构整理 .pdf
《2022年数制转换数据结构整理 .pdf》由会员分享,可在线阅读,更多相关《2022年数制转换数据结构整理 .pdf(27页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、第1页 共 27 页西安文理学院软件学院课程设计报告设计名称:数据结构课程设计设计题目:数制转换学生学号:1402120335 专业班级:12 级 3 班学生姓名:王康琦学生成绩:指导教师(职称) :杨全(讲师)课题工作时间:2014.6.16 至2014.6.27 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 1 页,共 27 页 - - - - - - - - - 第2页 共 27 页说明:1、报告中的任务书、进度表由指导教师在课程设计开始前填写并发给每个学生。2、学生成绩由指
2、导教师根据学生的设计情况给出各项分值及总评成绩。3、所有学生必须参加课程设计的答辩环节,凡不参加答辩者,其成绩一律按不及格处理。答辩由指导教师实施。4、报告正文字数一般应不少于3000 字,也可由指导教师根据本门综合设计的情况另行规定。5、平时表现成绩低于6 分的学生,取消答辩资格,其本项综合设计成绩按不及格处理。名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 2 页,共 27 页 - - - - - - - - - 第3页 共 27 页软件学院课程设计任务书学生姓名王康琦学号140
3、2120327 专业班级12 级三班设计题目数制转换问题内容概要:生活中我们经常会接触到各种数制,例如2,8,16 等非 10 进制的数制,因此数制转换问题是我们生活中最常见的问题之一,为此我们将对常用的各种数制进行他们之间的任意转换。本选题根据此需求,利用数据结构的知识实现了:在2,8, 10, 16 进制之间,对输入的任意进制进行灵活的转换。使用 C 语言编写数制转换的程序,其中包含有三种方法: 栈的结构, 递归的结构和数组的结构。在 VC+6.0 的环境下运行,实现了以下功能:任意给定一个M 进制的数,求出此数的10 进制值,实现对X 向任意的一个非M 进制数的转换。文献资料:1 谭浩强
4、 . C 语言程序设计教程 . 北京:清华大学出版社,2008 2 严蔚敏,吴伟民 . 数据结构( C语言版) . 清华大学出版社, 2010 3 王晓东 .计算机算法设计与分析 .电子工业出版社, 2007设计要求:任意给定一个M 进制的数x,实现功能:1)对输入的任意数制能够求出此数的10 进制值,2)实现在2,8,10,16 进制之间对输入的任意数制x 向任意的一个非M 进制数的转换。3)至少用两种或两种以上的算法实现上述功能要求。工作期限:设计工作自2014 年 6 月 16 日至 2014 年 6 月 27 日止。指导教师:杨全院长:日期: 2014 年 6 月 16 日名师资料总结
5、 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 3 页,共 27 页 - - - - - - - - - 第4页 共 27 页软件学院课程设计进度安排表学生姓名:王康琦学号: 1402120327专业:软件工程班级:12 级三班起止日期内容备注6 月 16 日 6 月 17 日下任务书;收集、阅读、整理相关参考文献,并进行归纳和概括总结,完成项目/ 任务背景介绍部分文字内容。6 月 18 日 11 月 20 日系统功能设计和模块设计、系统体系结构构建。6 月 21 日 6 月 24 日各功能模块
6、编码实现,系统各功能模块调试与维护。6 月 25 日 6 月 26 日系统功能集成、 系统调试与测试,按照模板要求撰写课程设计 / 项目设计报告。6 月 27 日课程设计 / 项目设计分组答辩, 提交课程设计 / 项目设计报告以及相关文档,进行成绩评定。指导教师签名: 2014年 6 月 16 日名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 4 页,共 27 页 - - - - - - - - - 第5页 共 27 页成绩评定表学生姓名:王康琦学号:1402120327 专业:软件
7、工程班级:12 级三班类别合计分值各项分值评分标准实际得分合计得分平时表现10 10 按时参加设计指导,无违反纪律情况。完成情况30 20 按设计任务书的要求完成了全部任务,能完整演示其设计内容,符合要求。10 能对其设计内容进行详细、完整的介绍,并能就指导教师提出的问题进行正确的回答。报告质量35 10 报告文字通顺,内容翔实,论述充分、完整,立论正确,结构严谨合理;报告字数符合相关要求,工整规范,整齐划一。5 课题背景介绍清楚,综述分析充分。5 设计方案合理、可行,论证严谨,逻辑性强,具有说服力。5 符号统一;图表完备、符合规范要求。5 能对整个设计过程进行全面的总结,得出有价值的结论或结
8、果。5 参考文献数量在2 篇以上,格式符合要求,在正文中正确引用。答辩情况25 10 在规定时间内能就所设计的内容进行阐述,言简意明,重点突出,论点正确,条理清晰。15 在规定时间内能准确、完整、流利地回答教师所提出的问题。总评成绩:分指导教师:(签字)日期: 2014 年 6 月 27 日名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 5 页,共 27 页 - - - - - - - - - 第6页 共 27 页目录第一章课题背景 . 1 1.1 引言. 1 1.1.1 课程设计目
9、的 . 1 第二章设计简介及设计方案论述. 2 2.1 选题分析 . 2 2.1.1 数组的结构 . 2 2.1.2 栈的结构 . 2 2.1.3 递归的结构 . 2 第三章详细设计 . 3 3.1 算法说明 . 3 3.1.1 数组的算法 . 3 3.1.2 栈的算法 . 4 3.1.3 递归的算法 . 4 3.2 变量设计 . 4 3.3 函数功能设计 . 5 第四章设计结果及分析. 6 4.1 运行与调试说明及分析. 6 总结 . 10 参考文献 .11 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - -
10、 - - - - - 第 6 页,共 27 页 - - - - - - - - - 第7页 共 27 页摘要摘要: 在生活中我们经常会遇到各式各样的数制,例如2,8,10,16 进制,其实数制之间的转换问题不仅仅是数学问题,还是我们计算机需要研究的范围之一,其中包括有数据结构, C 语言中的递归算法与数组的存储问题。本设计在2,8,10,16 进制之间,能实现对输入的任意数制进行相对应的数制转换。在此程序设计中我采用了C 语言中的数组与递归的算法,以及数据结构中的栈,实现了如下功能: 1.对输入的任意数制能够求出此数的 10 进制值2.实现在2,8, 10,16 进制之间对输入的任意数制x 向
11、任意的一个非M 进制数的转换。 3.至少用两种或两种以上的算法实现上述功能要求。系统开发平台为 Windows7,程序设计设计语言采用C 语言,程序运行平台为VC+6.0。关键词:程序设计;数制转换; C;课程设计;数据结构名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 7 页,共 27 页 - - - - - - - - - 第1页 共 27 页第一章课题背景1.1 引言1.1.1 课程设计目的在生活中我们经常会遇到各式各样的数制,例如2,8,10,16 进制,其实数制之间的转换问
12、题不仅仅是数学问题,还是我们计算机需要研究的范围之一。高速发展的现代社会,计算机浩浩荡荡地成为了人们生活中不可缺少的一部分,帮助人们解决通信,联络,互动等各方面的问题。计算机在处理数字是和人是不同的,计算机使用的是二进制,人们在日常生活中使用十进制,但是在一些特定场合使用其他进制的表示,所以需要进行不同进制之间的转换其中包括有数据结构,C语言中的递归算法与数组的存储问题。本设计在2,8,10,16 进制之间,能实现对输入的任意数制进行相对应的数制转换。在此程序设计中我采用了C语言中的数组与递归的算法,以及数据结构中的栈,实现了如下功能: 1. 对输入的任意数制能够求出此数的10 进制值 2.
13、实现在 2,8,10,16 进制之间对输入的任意数制x 向任意的一个非M进制数的转换。 3. 至少用两种或两种以上的算法实现上述功能要求。在程序设计中,可以用使用很多种方法解决该问题。例如:数组、栈、递归。不同的方法实现转换的原理基本相同,只是代码的细节不同。 在我的程序中不同的方法所需的函数在一个单独的头文件里面,便以管理和修改。名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 8 页,共 27 页 - - - - - - - - - 第2页 共 27 页第二章设计简介及设计方案论述
14、2.1 选题分析2.1.1 数组的结构为了处理方便,把具有相同类型的若干变量按有序的形式组织起来的一种形式。这些按序排列的同类数据元素的集合称为数组。由于处理简单的情况,最大的数字将不大于整形的范围,整形为4 个字节,因此开辟的数组为33个元素。2.1.2 栈的结构栈作为一种数据结构,是一种只能在一端进行插入和删除操作的特殊线性表。它按照先进后出的原则存储数据,先进入的数据被压入栈底,最后的数据在栈顶,需要读数据的时候从栈顶开始弹出数据(最后一个数据被第一个读出来)。栈具有记忆作用,对栈的插入与删除操作中,不需要改变栈底指针。在此程序中我首先定义了一个结构体,结构体中包含栈元素的首地址、栈顶位
15、置、栈顶位置、栈的最大范围。栈元素的存储空间在程序中再动态开辟。和上面一样,栈的最大为33。2.1.3 递归的结构递归做为一种算法在程序设计语言中广泛应用。一个过程或函数在其定义或说明中有直接或间接调用自身的一种方法,它通常把一个大型复杂的问题层层转化为一个与原问题相似的规模较小的问题来求解,递归策略只需少量的程序就可描述出解题过程所需要的多次重复计算,大大地减少了程序的代码量。递归的能力在于用有限的语句来定义对象的无限集合。在这个程序中,递归不需要自己定义存储空间,大量的减少了需要定义变量所需要的存储空间。名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - -
16、- - - - - - - 名师精心整理 - - - - - - - 第 9 页,共 27 页 - - - - - - - - - 第3页 共 27 页第三章详细设计3.1 算法说明在此程序的算法设计中,我采用了数组,栈,递归的算法。3.1.1 数组的算法M 进制转十进制:从该M 进制数的最后一位开始算,依次列为第0、1、2.n 位并分别乘以 M 的 0、1、2.n 次方,将得到的次方相加便得到对应的十进制数。由于输入的 M 进制的数可能出现字符,所以使用了字符数组进行存储。并在输入后将字符全部转换为数字,并存储到全局变量s数组里面,每个数组元素存储一位。图 3-1 M 进制转十进制处理流程图
17、十进制转换为其他进制:首先取x 对需要转换的进制n 取余,然后再对其取整,将取到的余数存入数组中,然后重复上面的步骤,将得到的余数依次存入数组中,知道x变成 0。然后将数组反向输出。输出的数可能大于10,所以进行了必要的判断。result = 0; i = 0 i 小于 M 进制的字符长度取出数组元素si与 M 的 i 次方相乘,相乘结果加入result中, i 自加 1。Y 函数结束N 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 10 页,共 27 页 - - - - - -
18、- - - 第4页 共 27 页3.1.2 栈的算法算法思路和上面基本相同, 只是将取到的余数依次入栈, 输出时只要依次出栈就行。3.1.3 递归的算法递归过程中不需要另外的存储取到的余数,只需要在递归返回时输出相应的结果就行。3.2 变量设计#define MAX 0 x7fffffff 定义了整形数的最大值,防止数字溢出。int m; 用于表示输入的数据是哪个进制的数。char s33; 输入时用于存储输入的十进制数x 的 m进制表示。处理过程中用于存储m进制表示的每一位所代表的的数字。int n; 要将输入的 m 进制数转换成的进制。int len; 输入的字符数据有多长。注:其他变量在
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 2022年数制转换数据结构整理 2022 数制 转换 数据结构 整理
限制150内