数据结构课程大型实验大整数参考模板.pdf

数据结构课程大型实验大整数参考模板.pdf

ID:57565020

大小:696.78 KB

页数:15页

时间:2020-08-27

数据结构课程大型实验大整数参考模板.pdf_第1页
数据结构课程大型实验大整数参考模板.pdf_第2页
数据结构课程大型实验大整数参考模板.pdf_第3页
数据结构课程大型实验大整数参考模板.pdf_第4页
数据结构课程大型实验大整数参考模板.pdf_第5页
资源描述:

《数据结构课程大型实验大整数参考模板.pdf》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库

1、大类基础课程大型实验2015/2016(1)实验题目大整数的运算学生姓名____________***_学生学号____________***********_学生班级____任课教师___________________提交日期_2015/5/19___精品文档计算机科学与技术学院1欢迎下载。精品文档大整数的运算实验报告一、大型实验的内容大整数的运算(BIO:BigInteger’sOperation)用于两个大整数的四则运算,要求完成的主要的功能包括能够进行两个大整数的加法、减法、乘法、除法、乘方及取模运算,并有一个可以自行出入的运算上限。要求使用学习过的数据结构的知识完成大整数运算的

2、设计与实现。二、运行环境大整数的运算(BIO)在VisualStudio2013平台下开发,操作系统:Windows7/Windows8。硬件环境:(备注:可以查看“计算机”属性)处理器:Intel(R)Core(TM)i5-2557MCPU@1.70GHz1.70GHz内存:4.00GB系统类型:32位操作系统三、实验课题分析3.1大整数的运算的主要功能大整数的运算(BIO)主要功能为:大整数的加法,大整数的减法,大整数的乘法,大整数的除法、大整数的乘方、大整数的取模。详细的系统功能结构为图1所示。大整数的运算(BIO)大大大大大块大整整整整整数整数数数数数的的的的的的乘取加减除方法法乘

3、法模法模模模模模块块块模块块图1系统结构图2欢迎下载。精品文档各模块的功能具体描述为:1、大整数的加法模块用户输入需要运算的大整数,实现加法,并及时输出结果。若结果超过设置的最大上限,则取模最大上限后输出。2、33.2分析及设计涉及对象有3个基本类:节点类、链表类和大整数类。如下表所示:表1涉及的操作对象涉及的对象操作节点运算过程中储存数字信息链表储存输入的大整数和运算过程中新生大整数的信息大整数实现大整数的运算,及相关的输入输出,错误的提示可以采用面向对象的方式实现大整数的运算。主要的类结构如图2所示。用户大整数类数据处理(节点类、链表类)图2主要类结构图3.3运算的实现(1)类的编写

4、运算工程名为:BIO。包含了Node类(数字节点类),List类(整数链表类)和Big类(大整数类)三个基本类。其中Big类的函数实现中包含了List类,List类里也蕴含着Node类。各自分工以完成需要的功能。具体类结构声明如下:Node类:classNode{//节点public:intnValue;//值Node*Next;//下个节点3欢迎下载。精品文档Node();Node(int);//构造函数};List类:classList{private:Node*Head;//头指针Node*Tail;//尾指针public:boolEmpty();//是否为空List();//构造

5、函数~List();//析构函数List(List&);//拷贝构造函数intSize();//大小Node*getHead();//返回头指针Node*getTail();//返回尾指针voidPush(int);//压入链表voidDelete();//删除voidInsert(List&);//插入Listoperator=(List&);//赋值voidPop();//弹出链表intTop();//返回链表顶值voidDisplay();//显示};(2)链表的使用运算实现采用用户的输入输出对数字数据进行读取,但是由于大整数信息都是一个数字的集合,于是对数字的存储组织使用了单向链表

6、。在运用时,令当前数字的next节点指向新的数字节点,即节点的指针next保存新的数字结点的地址(如下图3所示),以此类推,所有数字信息就通过链表的形式串联起来了。FigureFigureFigure12ndatadatadata......*next*next*next图3数字链表的建立功能大整数的加法(每个算法都要按照这个流程写下来):4欢迎下载。精品文档运算时,会读入用户输入的三个字符串。如果第二个字符串是“+”,则进行加法运算。运算过程中一旦发现数字有问题会立即报错,并抛出异常。运算时从个位开始循环,依次读取两数相应位的值t1,t2,并新增一个进位数字kTemp。每次相加时保存k

7、Temp,以用于下一位的运算。当其中一个数字到头时,t1或t2会被置为0让加法能继续下去。结果取模最大上限。大整数的加法的流程图如下:开始是输入是否有问题报错否将两数每一位依次相加,期间依靠进位数使加法完善。取模最大上限输出结束(3)交互界面的实现系统运行开始的界面如图5所示:图5开始界面四、实验调试、测试、运行记录及分析运算在调试测试过程中遇到若干问题,不过经过仔细反复的检查已经消除各种bug。加法:5欢迎下载。精品文

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。