[工学]课设任务书3软件技术基础.doc

  1. 1、本文档共8页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
[工学]课设任务书3软件技术基础

南京工程学院 课程设计任务书 课 程 名 称 软件技术基础 院(系、部、中心) 电力工程学院 专 业 电气工程及其自动化(电网监控技术) 班 级 监控091 起 止 日 期 2010 年12月19 日至23日 指 导 教 师 陈锦涛 1.课程设计应达到的目的 该实践教学是软件设计的综合训练,包括问题分析、总体结构设计、用户界面设计、程序设计基本技能和技巧。学生通过课程设计加深理解课堂教学内容,使学生在课程设计中逐步提高程序设计能力、算法分析能力、和调试能力;培养学生解决实际问题的能力,自主学习和独立创新的精神。提高学生的科技论文写作能力。 2.课程设计题目及要求 题目:一元多项式计算 1.问题描述 已知 和 ,并且在 A ( x ) 和 B ( x ) 中指数相差很多,求 M ( x ) = A ( x ) + B ( x ) 、M ( x ) = A ( x ) - B ( x )、M ( x ) = A ( x )× B ( x ) 2. 基本要求: (1)设计存储结构表示一元多项式; (2)设计算法实现一元多项式相加,相减,相乘运算; (3)要求输出结果的升幂和降幂两种排列情况; (4)分析算法的时间复杂度和空间复杂度。 3.设计思想 ??? 一元多项式求和实质上是合并同类项的过程,其运算规则为: (1)若两项的指数相等,则系数相加;(2)若两项的指数不等,则将两项加在结果中。 ????? 一元多项式 由 n +1 个系数唯一确定,因此,可以用一个线性表 ( a 0 , a 1 , a 2 ,……, a n ) 来表示,每一项的指数 i 隐含在其系数 a i 的序号里。但是,当多项式的指数很高且变化很大时,在表示多项式的线性表中就会存在很多零元素。一个较好的存储方法是只存非零元素,但是需要在存储非零元素系数的同时存储相应的指数。这样,一个一元多项式的每一个非零项可由系数和指数唯一表示。 ????? 由于两个一元多项式相加后,会改变多项式的系数和指数,因此采用顺序表不合适。 采用单链表存储,则每一个非零项对应单链表中的一个结点,且单链表应按指数递增有序排列。 结点结构如图所示。 ??? ? 其中,coef :系数域,存放非零项的系数;?exp :指数域,存放非零项的指数; next :指针域,存放指向下一结点的指针。 ????? 将两个一元多项式用两个单链表存储后,如何实现二者相加呢? ????? 设两个工作指针 p 和 q ,分别指向两个单链表的开始结点。通过对结点 p 的指数域和结点 q 的指数域进行比较进行同类项合并,则出现下列三种情况: ?????(1)若 p - exp exp ,则结点 p 应为结果中的一个结点; ?????(2)若 p - expq - exp ,则结点 q 应为结果中的一个结点,将 q 插入到第一个链表中结点 p 之前; ????? (3)若 p - exp=q - exp ,则结点 p 与结点 q 为同类项,将 q 的系数加到 p 的系数上。若相加结果不为 0 ,则结点 p 应为结果中的一个结点,同时删除结点 q ;若相加结果为 0 ,则表明结果中无此项,删除结点 p 和结点 q 。 ????? 3.课程设计任务及工作量的要求〔包括课程设计计算说明书、图纸、实物样品等要求〕 (1)分析问题,给出数学模型,设计相应的数据结构。 (2)算法设计 在已经选择好数据结构的前提下,为解决问题设计算法。 确定所需模块 对于稍复杂的程序设计,要充分利用模块化程序设计方法,自顶向下,逐步细化,在整体思路确定的情况下,考虑所需模块数,各模块完成功能以及模块之间的数据联系和调用关系。 各子模块功能描述 给出主要模块的算法描述,用流程图或伪代码表示。 模块之间的调用关系 给出算法各模块之间的关系图示 (3)源程序清单(草稿) 为了提高工作效率,充分利用上机调试程序的时间,要求学生在上机之前给出源程序清单。 (4)用测试数据去验证算法及程序的正确性 正序、逆序、随机数 (5)算法分析 经过上机调试,源程序运行正确,并且实现算法要求的功能,解决课程设计题目中给出的问题后,分析算法的时间复杂度和空间复杂度。 (6)提供的主程序可以象一个应用系统一样有主窗口,通过主菜单和分级菜单调用课程设计中要求完成的各个功能模块,调用后可以返回到主菜单,继续选择其他功能进行其他功能的选择。 (7)按照课程

文档评论(0)

qiwqpu54 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档