文档详情

数据结构一元多项式的运算.doc

发布:2017-11-18约1.19万字共23页下载文档
文本预览下载声明
目 录 一、问题分析 1 1.1 问题描述 1 1.2 问题的数学模型 1 1.3 构造数据结构 1 二、系统分析 2 2.1 可行性研究 2 2.2 系统结构与主要功能模块 2 三、系统设计 4 3.1系统设计目的与要求 4 3.2系统设计内容 4 3.3功能算法描述与数据结构说明 4 四、系统实现 7 五、调试及运行结果 11 六、收获和体会 12 附录 13 1 问题分析 1.1 问题描述 设计一个n元多项式程序,并完成多项式的乘法运算。从实际的角度出发,这里设计的程序是基于一元n次多项式的数学模型。 1.2 问题的数学模型 在数学上,一个一元多项式Pn(x)可按升幂写成:Pn(x)=a 0+a1 x+a2 x^2 +…+an x^n-1 .它由n+1个系数惟一确定,因此,在计算机里,它可用一个线性表P来表示:Pn=(a0,a1,a2,…,an)每一项的指数i隐含在其系数ai的序号里。 多项式的乘法规则:多次运用单项式与多项式相乘的法则得到的.计算时(a+b)(m+n),先把(m+n)看成一个单项式,(a+b) 是一个多项式,运用单项式与多项式相乘的法则,得到(a+b)(m+n)=a(m+n)+b(m+n),然后再次运用单项式与多项式相乘的法则。 1.3 构造数据结构 通过分析多项式的特征,不难看出多项式是由单项式构成的,而每个单项式都具有系数和指数,当系数为0时,该项就失去了意义,在计算机内要表示一个多项式,至少以下数据信息:系数信息、指数信息和指向下一个单项式的指针。通过指针,我们就可以把多个单项式连接起来,形式一个多项式,需要说明的是从广义的角度讲,单项式也是一个多项式。基于以上的分析,我们定义多项式的数据结构为如下结构体形式: typedef struct Polynomial{ float coef;//系数 int expn;//指数 struct Polynomial *next;//指向下一个结点 }*Polyn,Polynomial; //Polyn为结点指针类型 2 系统分析 2.1 可行性研究 该程序主要从技术的角度来分析可行性。技术上的可行性研究主要分析技术条件能否顺利完成开发工作,硬、软件能否满足开发者的需要等。该系统采用了Windows XP操作系统结合Visual C++ 6.0,TC 2.0等软件开发平台已成熟可行。硬件方面,科技飞速发展的今天,硬件更新的速度越来越快,容量越来越大,可靠性越来越高,其硬件平台也比较能满足此系统的需要。此外,还有经济可行性,用户使用可行性,法律可行性等可行性研究,这里从简省去。 2.2 系统结构与主要功能模块 从实现多项式式运算过程的角度来分析,至少需要这样一些子功能模块。如: 1. 多项式创建功能; 2. 多项式运算功能; 3. 操作界面显示功能; 4. 销毁多项式的功能; 5. 多项式复制功能等。 系统的整体流程和主要功能模块如图2-1所示 3 系统设计 3.1系统设计目的与要求 通过多项式运算程序设计(用C语言实现),使我们进一步掌握和利用C语言进行结构化程序设计的能力;进一步理解和运用结构化程设计的思想和方法;初步掌握开发一个小型系统程序设计的基本方法;学会调试一个较长程序的基本方法;学会利用流程图或N-S图表示算法;以及掌握书写课程设计开发文档的能力(书写课程设计报告)。总之,通过本课程设计加深对《C语言》及《数据结构》课程所学知识的理解,进一步巩固C语言语法规则,在程序中体现出算法的思想,提高程序的运行效率。学会编制结构清晰、风格良好、数据结构适当的C语言程序,从而具备解决综合性实际问题的能力。 3.2系统设计内容 多项式运算程序具有以下基本功能: 1.界面输出,提示如何输入数据。要求先输入多项式的项数。 2.创建多项式。接收输入的数据,并保存到链表中。 3.显示程序的功能表,允许使用者选择运算类型。 4.显示已经创建好的多项式。 6.实现加法运算。 7.实现减法运算。 8.实现乘法运算。 9.清除内存内容,销毁创建的链表,退出程序。 3.3功能算法描述与数据结构说明 该多项式程序除了main()函数外,主要有以下函数: void Insert(Polyn p,Polyn h) Polyn CreatePolyn(Polyn head,int m) void DestroyPolyn(Polyn p) void PrintPolyn(Polyn P) int compare(Polyn a,Polyn b) Polyn AddPolyn(Polyn pa,Polyn pb) Polyn SubtractPolyn(Polyn pa,Polyn pb) Polyn MultiplyPolyn(Polyn pa,P
显示全部
相似文档