数据结构实习报告---一元稀疏多项式计算器

数据结构实习报告---一元稀疏多项式计算器

ID:11130042

大小:64.53 KB

页数:17页

时间:2018-07-10

数据结构实习报告---一元稀疏多项式计算器_第1页
数据结构实习报告---一元稀疏多项式计算器_第2页
数据结构实习报告---一元稀疏多项式计算器_第3页
数据结构实习报告---一元稀疏多项式计算器_第4页
数据结构实习报告---一元稀疏多项式计算器_第5页
资源描述:

《数据结构实习报告---一元稀疏多项式计算器》由会员上传分享,免费在线阅读,更多相关内容在学术论文-天天文库

1、数据结构实习报告题目:一元稀疏多项式计算器一.需求分析1.输入的形式和输入值范围:本程序只需进行一元稀疏多项式的加减(选做乘法),所以只需根据指示输入一元稀疏多项式的各项系数与指数,多项式的项数,通过scanf语句实现。系数范围为浮点型数据范围,指数范围为无符号型整型,项数范围为有符号整型。2.输出的形式:用户根据计算机指示输入系数与指数,通过printf语句实现,计算机在程序运行后输出结果。3.程序所能达到的功能:(1).输入并建立多项式。(2).输出多项式,输出形式为整数序列n,c1,e1,c2,e2…cn,en,其中n是多项式的项数,ci和ei分别是第i项的系数和指数,序数

2、按指数降序排列;(3).多项式a和b相加,建立多项式a+b;(4).多项式a和b相减,建立多项式a-b;即输入输出多项式,求和并输出结果,求差并输出结果(5)补充部分:多项式相乘;多项式求导;多项式求值4.测试数据:(1)(2x+5x^8-3.1x^11)+(7-5x^8+11x^9)=(-3.1x^11+11x^9+2x+7)(2)(6x^-3-x+4.4x^2-1.2x^9)-(-6x^-3+5.4x^2-x^2+7.8x^15)=(-7.8x^15-1.2x^9+12x^-3-x)(3)(1+x+x^2+x^3+x^4+x^5)+(-x^3-x^4)=(1+x+x^2+x^

3、5)(4)(x+x^3)+(-x-x^3)=0(5)(x+x^100)+(x^100+x^200)=(x+2x^100+x^200)(6)(x+x^2+x^3)+0=x+x^2+x^3(7)互换上述测试数据中的前后两个多项式二.概要设计:1.抽象数据类型的定义:ADTpolynomial{数据对象:D={ai

4、ai∈Termset,i=1,2,…,m,m≥0Termset中的每个元素包含一个表示系数的实数和表示指数的整数}数据关系:R1={ai-1,ai∈D,且ai-1中的指数值<ai中的指数值,i=1,2,…,}基本操作:Create(name*pname)操

5、作结果:建立一元多项式PrintPoly(name*pname)初始条件:一元多项式已经存在操作结果:输出一元多项式Plus(name*pname)初始条件:一元多项式已经存在操作结果:完成多项式的相加运算Minus(name*pname)初始条件:一元多项式已经存在操作结果:完成多项式的相减运算Delete(name*pname)初始条件:一元多项式已经存在操作结果:在多项式名链表中删除该多项式Qiuzhi(name*pname)初始条件:一元多项式已经存在操作结果:求多项式某点的值Daoshu(name*pname)初始条件:一元多项式已经存在操作结果:求多项式的导数Mult

6、iply(name*pname)初始条件:一元多项式已经存在操作结果:多项式相乘}ADTpolynomial1.主程序流程:本程序包括2个模块:(1)主程序模块:statusmain(){初始化;switch(){Case‘1’:接受命令;处理命令;break;Case‘2’:接受命令;处理命令;break;Case‘3’:接受命令;处理命令;break;……..}(2)一元多项式类型模块――实现一元多项式的抽象数据类型;2.各个模块之间调用关系如下:主程序模块一元多项式类型模块a.因为这是一个计算器,所以需要能够连续进行各项功能,不能进行了一个功能之后,程序就自动关闭了。所以需

7、要设计一个循环,在每进行完一个功能之后,都能显示一串功能供用户选择。这是该计算器的框架,最外层的结构,按照自上而下,逐步求精的方法设计该计算器。另外,为了减小主函数的长度,将供用户选择的这部分用一个函数choose来实现,返回所要操作的代号。而在主函数中,用switch……case语句来转换到各个功能函数。加法函数Plus,减法函数Minus,乘法函数Multiply,创建函数Create,删除函数Delete,求值函数Qiuzhi,求导函数Daoshu.b接下来就是编写各个功能函数了。首先要考虑的问题是,这些多项式是否要保存,怎样保存的问题。为了能够保存这些多项式,我们把这些多

8、项式保存在一个链表中,构成一个多项式名链表ps,链表具有头结点。链表的每一个结点为typedefstructname{chars[N];//s用于保存多项式名structnode*point;//指向多项式structname*next;//指向下一多项式名结点}name;每次创建一个多项式则采用头插法保存在链表ps的头部,为了节省执行时间。c多项式的结点则为:typedefstructnode{intee;//指数doublecc;//系数structnode*next;//指

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

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

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