《数据结构一元多项式的运算》.docVIP

  • 10
  • 0
  • 约1.77万字
  • 约 23页
  • 2020-01-25 发布于天津
  • 举报
课程设计(论文) PAGE PAGE 5 课程设计(论文) 目 录 TOC \o 1-3 \h \z \u 一、问题分析 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所示 开始 开始 输入选择 显示 加法 显示功能表 输入pa系数、指数 退出 输入pb系数、指数 减法 乘法 i=m i=m im im 图 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 Destroy

文档评论(0)

1亿VIP精品文档

相关文档