长整数的加减运算.
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
*******************
实践教学
*******************
兰州理工大学
技术工程学院
2013年春季学期
数据结构课程设计
题目:长整数的加减运算
专业班级:计算机科学与技术一班
姓名:郭利强
学号: 11730108
指导教师:王连相
成绩:
计算机科学与技术专业
数据结构课程设计任务书
(11级)
题目:长整数的加减运算
学生姓名:郭利强学号:11730108
班级:11级计算机科学与技术一班
题目类型:软件工程(R)指导教师:王连相
一.题目简介
该设计要求学生设计程序,实现两个任意长的整数求和及差的运算问题。通过该题目的设计过程,可以加深理解线性表的逻辑结构、存储结构,掌握线性表上基本运算的实现,进一步理解和熟练掌握课本中所学的各种数据结构,学会如何把学到的知识用于解决实际问题,培养学生的动手能力。
二.主要任务
第一部分:基本算法实现
1、线性结构基本算法实现(指导老师根据题目指定);
2、树型结构基本算法实现(指导老师根据题目指定);
3、图型结构基本算法实现(指导老师根据题目指定);
4、查找基本算法实现(指导老师根据题目指定);
5、排序基本算法实现(指导老师根据题目指定);
第二部分:指定题目的设计与实现
1、查阅文献资料,一般在3篇以上;
2、建立数据的逻辑结构和物理结构;
3、完成相应算法的设计;
4、完成测试工作;
5、撰写设计说明书;
6、做好答辩工作。
三.主要内容、功能及技术指标
(1)使用双向循环链表存储长整数,每个结点含一个整型变量,主要功能有:长整数输入(建立双向循环链表)、长整数的加法、长整数的减法及结果的显示输出等;
(2)至少要用10组测试数据,算法对于这些合法的输入数据都能产生满足规格说明要求的结果;
(3)算法对于精心选择的典型、苛刻而带有刁难性的几组输入数据能够得出满足规格说明要求的结果;对算法实现过程中的异常情况能给出有效信息;
(4)任何整型变量的范围是-(215-1)~(215-1)。输入和输出形式:按中国对于长整数的表示习惯,每四位一组,组间用逗号隔开,例1,0000,0000,0000;而输入为1,0001,0001和-1,0001,0000实现加法时,应输出"1";
(5)较高要求:使程序在整型量范围是-(2n-1)~(2n-1)的计算机上都能有效地运行。其中,n是由程序读入的参量。
四.提交的成果
1. 设计说明书一份,内容包括:
1) 中文摘要100字;关键词3-5个;
2) 序言;
3)采用类c语言定义相关的数据类型
4)各模块的伪码算法
5)函数的调用关系图
6)调试分析
a、调试中遇到的问题及对问题的解决方法;
b、算法的时间复杂度和空间复杂度。
7)测试结果
8)源程序(带注释)
9) 设计总结、参考文献、致谢等。
2. 刻制光盘一张。
五.主要参考文献
1.严蔚敏,吴伟民.《数据结构(C语言版)》.清华大学出版社.
2.严蔚敏,吴伟民.《数据结构题集(C语言版)》.清华大学出版社.
3 .《DATA STRUCTURE WITH C++》. William Ford,William Topp .清华大学出版社(影印版).
4.谭浩强.《c语言程序设计》. 清华大学出版社.
5.数据结构与算法分析(Java版) , A Practical Introduction to Data Structures and Algorithm Analysis Java Edition Clifford A. Shaffer , 张铭,刘晓丹译电子工业出版社 2001 年1月
六、各阶段时间安排(共2周)
2013年6月28日
摘要
数据结构解决实际应用中的问题,将学习的理论知识应用于实践,增强学生解决实际问题的能力。采用的基本数据结构为线性表。计算机存储的数据是有范围限制的,对于超出存储限制的数据无法直接在计算机中计算,为此需要设计相应的程序来完成这种超出范围限制的长整数间的加减运算。实现任意长的整形数进行加减运算的程序,要求完成长整数的加、减运算。在这里长整数没有范围限制,可任意长。运算后的进位、借位等都要进行正确处理,可实现动态的输入,实时的输出。
关键字:任意长整数,加、减运算
序言
课程设计是实践性教学中的一个重要环节,它以某一课程为基础,可以涉及和课程相关的各个方面,是一门独立于课程之外的特殊课程。课程设计是让同学们对所学的课程更全面的学习和应用,理解和掌握课程的相关知识。《数据结构》是一门重要的专业基础课,是计算机理论和应用的核心基础课程。
数据结构课程设计,要求学生在数据结构的逻辑特性和物理表示、数据结构的选择和应用、算法的设计及其实现等方面,加深对课程基本内容的理解。同时,在程序设计方法以及上机操作等基本技能和科学作风方面受到比较系统和严格的训练。
在这次程序设计中我选择了长整数的代数计算这个题目,在一般的程序运算中,长整数是无法计算的,因为计算机一次能够运算的位数是有限,一旦整数很长,就需要一个程序来进行多次计算,通过这个程序,可一把一个长整数分成多个普通整数来进行计算,使得长整数也可以进行运算。我编写的这个程序就可以进行加减乘除的运算,各个数据也可以是负数。
目录