1、 1 课程设计课程设计报告书报告书 课程名称课程名称 数据结构数据结构 设计设计题目题目 一元稀疏多项式计算器一元稀疏多项式计算器 专业班级专业班级 软件工程软件工程 1111 级级 1 1 班班 学学 号号 姓姓 名名 指导教师指导教师 2013 年年 1 月月 2 目录 1 1 设计时间设计时间 4 4 2 2 设计目的设计目的 4 4 3 3 设计任务设计任务 4 4 4 4 设计内容设计内容 4 4 4.1 需求分析 4 4.1.1.程序所能达到的功能 4 4.1.2.输入的形式和输入值的范围 4 4.1.3.输出的形式 . 4 4.1.4.测试数据 . 5 4.2 总体设计 5 4.
2、2.1.本程序中用到的所有抽象数据类型的定义 . 5 4.2.2.主程序的流程 . 7 4.2.3.各程序模块之间的层次(调用)关系 7 4.3 详细设计 7 4.3.1 实现概要设计中定义的所有数据类型,对每个操作只需 要写出伪码算法 . 7 4.3.2.对主程序和其它主要函数伪码算法 . 11 4.3.3.函数的调用关系图 12 4.4 测试与分析 . 12 4.4.1 测试 12 3 4.4.2 分析 13 4.5 附录 13 5 5 总结与展望总结与展望 1919 参考文献参考文献 2020 成绩评定成绩评定 2020 4 1 设计时间 2013 年 1 月 21 日至 2013 年
3、1 月 27 日 2 设计目的 数据结构是计算机专业的核心课程,是计算机科学的算法理论基础和软件设计的技术 基础。数据结构是实践性很强的课程。课程设计是加强学生实践能力的一个强有力手段。 要求学生掌握数据结构的应用、算法的编写、类 C 语言的算法转换成 C 程序并上机调试的 基本方法。课程设计要求学生在完成程序设计的同时能够写出比较规范的设计报告。严格 实施课程设计这一环节,对于学生基本程序设计素养的培养和软件工作者工作作风的训 练,将起到显著的促进作用。 3 设计任务 设计一个一元稀疏多项式简单计算器 4 设计内容 4.1 需求分析 4.1.1.程序所能达到的功能 一元稀疏多项式简单计算器的
4、基本功能是: (1)输入并建立多项式creatpolyn(); (2)输出多项式,输出形式为整数序列:n,c1,e1,c2,e2,cn,en,其中 n 是多项式的项数, ci和 ei分别是第 i项的系数和指数,序列按指数升序排列 printpolyn(); (3)多项式 a 和 b 相加,建立多项式 a+b,输出相加的多项式addpolyn(); (4)多项式 a 和 b 相减,建立多项式 a-b,输出相减的多项式subpolyn()。 4.1.2.输入的形式和输入值的范围 一元稀疏多项式计算器需要输入多项式的各项的系数和指数。系数可以用实数来表 示,指数可以用整数来表示,由于整形数据在内存里
5、占用两个字节,所以它的取值范围为 -3276832767。 4.1.3.输出的形式 本程序要输出的是分别把创建的第一个多项式和第二个多项式按指数升序排序,并且 把计算加减后的运算结果按指数升序排列输出。 5 4.1.4.测试数据 (1)正确: 图 1 程序输出 (2)错误: 图 2 程序输出 4.2 总体设计 4.2.1.本程序中用到的所有抽象数据类型的定义 ADT List 数据对象:D=ai| aiR,i=1,2,n,n0 数据关系:R1=| ai-1,aiD, ai-1,next; while(q2 q2=q2.next; if(q2 /若p的指数与q2的指数相等则合并其系数 free(p); /并释放p if(!q2.coef); /若合并后q2的系数等于0 q1.next=q2.next; free(q2); /释放q2 else /把p插入到q1和q2之间 q1.next=p; p.next=q2; Polyn CreatePolyn( /为p开辟存储空间 if(!head) exit(0); p.next=NULL; for(i=0;inext; if(!q)