好文档就是一把金锄头!
欢迎来到金锄头文库![会员中心]
电子文档交易市场
安卓APP | ios版本
电子文档交易市场
安卓APP | ios版本

一元多项式基本运算操作.doc

65页
  • 卖家[上传人]:re****.1
  • 文档编号:420324901
  • 上传时间:2022-09-10
  • 文档格式:DOC
  • 文档大小:712.82KB
  • / 65 举报 版权申诉 马上下载
  • 文本预览
  • 下载提示
  • 常见问题
    • 《数据结构 课程设计》报告课题名称: 一元多项式基本运算操作 专 业: 计算机科学与技术 班 级: T923-1 学 号: 20090230118 姓 名: 吴 卿 指导教师: 马春江、梅 琴 成 绩: 2011年06月29日目 录1 前言 12需求分析 13概要设计(特殊功能) 14详细设计 15源代码及调试 26特殊问题解决方法 27使用说明及测试结果 28结论 29总结与体会 210参考文献 3附录......................................................................................................................................................致谢......................................................................................................................................................老师意见..............................................................................................................................................1 前言 《数据结构课程设计》是理解和掌握数据结构的重要环节,主要任务是实现各种数据组织中的数据逻辑结构,存储结构以及有关操作的算法。

      目的是使学生学会分析研究计算机加工的数据结构的特性,以便为应用涉及的数据选择适当的逻辑结构、存储结构及相应的算法另一方面,通过团队合作、文档编制、主页设计等环节对学生进行全方位的训练,最终达到培养学生的数据抽象能力和软件设计的能力通过全部过程培养和锻炼学生的钻研能力、动手能力、分析问题和解决问题的实际能力1.1 课题简介 题目名称:一元多项式基本运算操作课设目的:巩固和加深对数据结构的理解,通过上机实验、调试程序,加深对课本知识的理解,最终使学生能够熟练应用数据结构的知识写程序课设意义:(1)通过本课程的学习,能熟练掌握几种基本数据结构的基本操 作 (2)能针对给定题目,选择相应的数据结构,分析并设计算法, 进而给出问题的正确求解过程并编写代码实现 (3)为《数据结构》的后续课程,诸如《算法分析与设计》,《编 译原理》等打下坚实的基础具体内容:(1)输入并分别建立多项式A和B (2)输入输出多项式,输出形式为整数序列,含有系数,底数,指数, 以及正负号,序列按指数降序排列。

      (3)完成两个多项式的相加、相减,相乘,将结果输出,并将结果存 入文本中 自己创新:(1).求出各个多项式的倒数 (2)设计帮助菜单 特别细节:(1)当系数为1时,不予显示系数1 (2)当指数为0时,不予显示X^0字符串 (3)当指数为1时,不予显示指数1 预期效果:(1) 实现手动输入和文本输入两种方式(2) 实现两个多项式的相加,相减,相乘的运算(3) 实现单个多项式的求导运算 (4)对于输入有误问题,能实现判断和处理的功能1.2 方案及其论证实验平台:VC++6.0选题原因;自己的编程能力有限,然而深知《数据结构》课程的重要性以及课设的重要意义,不能去复制他人的代码,只能通过自己独立地编写,只有这样,才能够有所提高即使自己编写的功能很少,代码量也很少,但是只要是通过自己独立地的完成,那么自己就会在编程上有真正的有所提高,有所进步而相比于其他课题,一元多项式的计算这一题目,相对来说较为简单,思路也是较为清晰与明朗的,所以综上所述,选择了题目1----一元多项式编写语言:C + +可行性分析:对于多项式的加减乘的计算,可以使用结构体链表,类模板,其中结构体中有底数,指数和指针三个数据元素。

      对于加运算,使用循环,将指数相等的项,进行系数的相加减;对于减法运算是加法的另外的一种形式而已,只需将多项式2乘以(-1),然后调用加法运算函数即可;而对于乘法运算,先将两个多项式做乘法运算,对于指数相等的项,进行系数加法运算时间安排: 2011-6-27-上午 选题 2011-6-27-下午 思考规划程序设计思路 2011-6-28-全天 编程2011-6-29-全天 编程 2011-6-30-上午 调试,程序细节优化2011-6-30-下午 ,验收程序,撰写报告,细节优化2011-7-01-上午 提交报告2需求分析(1) 本演示程序中,多项式的系数和指数可以是整型,也可以是浮点型,所以在实际的程序设计师采用的是C++的类模板输入多项式时,a)手动输入时,依次输入多项式的项数,然后依次输入各个项的系数和指数b)若是文本读入,直接读出而多项式的输出形式为数学表达式且按指数降序排列,对于指数为0的项加以处理.(2) 演示程序以用户和计算机程序对话的方式执行,即在计算机终端上显示“提示信息”之后,由用户在键盘上输入程序中相应的选择,相应的输入数据和运算结果就会依次显示在其后。

      3) 程序命令包括:a)输入多项式 b)多项式显示c)多项式加法 d)多项式减法e)多项式乘法f)对多项式求导g)显示帮助菜单 h)退出程序(4)使用者方面:任何人都可以运行本程序,只要点击main.exe文件即可,按着相应的提示操作即可,不会出现什么大的问题,而对于实际使用中出现的问题,只需查看帮助菜单即可加以解决5)测试数据:多项式1:f(x)=100*X^50+88*X^30-51*X^20+2*X^6+3多项式2:f(x)=-99*X^50+50*X^20+X^10-2*X^63概要设计(特殊功能) (1)数据结构:多项式的数据结构可以使用线性表来实现,具体来讲就是链表结构(2)节点结构:*next指针系数 指数(3)项目框图: 功能界面输入多项式显示多项式多项式相加多项式相减多项式相乘多项式求导显示帮助菜单退出此程序手动输入文本输入退出返回功能界面(4)类之间的关系示意图: 私有属性*head,*headp,*headq多项式的各种 友元类 LinkedList L i s t N o d e 类 公有属性即:对于多项式的各种操作公有属性 构造函数和析构函数 私有属性系数,指数,*next说明:a) 在本次课设程序中,共建立了2各类,分别是class LinkedList和class ListNode,其中class LinkedList是class ListNode的友元。

      b) class LinkedList的公有属性是对于多项式的各种操作,而class ListNode的私有属性就是多项式的每一项的记录信息:系数,指数和*next指针c) 对于多项式的各种操作包括:输入多项式 ,多项式显示,多项式加法 ,多项式减法,多项式乘法,对多项式求导,也就是项目框图中功能界面下的所有操作设计顺序: a)定义class LinkedList和class ListNode b)定义class LinkedList和class ListNode公有属性的各种操作函数 c)编写主函数,测试运行,细节优化4详细设计(1)类模板的定义:template class LinkedList; //向前定义template class ListNode{ friend class LinkedList; //定义友元public: ListNode() { next = NULL; }; //构造新结点 ~ListNode(){};private: ListNode *next; T data; //单项式系数 T index; //未知数指数};templateclass LinkedList{public: LinkedList(); ~LinkedList(); void creatPloy(ListNode * headp, ListNode * headq); void displayPloy(ListNode *head) const; ListNode * getNode(); void showFace(); void menu(); void scanfPloy(ListNode * head); void readPloy(ListNode * head,char *fileName); bool empty(ListNode *head); ListNode * AddPloy(ListNode * headp, ListNode * headq); ListNode * SubPloy(ListNode * headp, ListNode * headq); ListNode * MulPloy(ListNode。

      点击阅读更多内容
      关于金锄头网 - 版权申诉 - 免责声明 - 诚邀英才 - 联系我们
      手机版 | 川公网安备 51140202000112号 | 经营许可证(蜀ICP备13022795号)
      ©2008-2016 by Sichuan Goldhoe Inc. All Rights Reserved.