1、 1 课程设计课程设计报告书报告书 课程名称课程名称 数据结构课程设计数据结构课程设计 设计题目设计题目 一元稀疏多项式计算器一元稀疏多项式计算器 专业班级专业班级 学学 号号 姓姓 名名 指导教师指导教师 2010 年年 12 月月 2 目录目录 1 设计时间 2 2 设计目的 2 3 设计任务 . 2 4 设计内容 2 4.1 需求分析 2 4.2 总体设计 2 4.3 详细设计 5 4.4 测试与分析 6 4.4.1 测试 6 4.4.2 分析 8 4.5 附录 . 9 5、 总结与展望 11 参考文献. 13 成绩评定. 13 3 1 1 设计时间设计时间 2010 年 12 月 27
2、 日 2 2 设计目的设计目的 实现一元多项式的相加,相减,输出结果。 3 3 设计任务设计任务 设计一个一元稀疏多项式简单计算器。 4 4 设计内容设计内容 4.14.1 需求分析需求分析 1、程序所能达到的功能; (1)输入并建立多项式creatpolyn(); (2)输出多项式, 输出形式为整数序列: n,c1,e1,c2,e2,cn,en,其中 n 是多项式的项数, ci 和 ei 分别是第 i 项的系数和指数,序列按指数升序排列 printpolyn(); (3)多项式 a 和 b 相加,建立多项式 a+b,输出相加的多项式addpolyn(); (4)多项式 a 和 b 相减,建立
3、多项式 a-b,输出相减的多项式subpolyn()。 2、输入的形式和输入值的范围; 输入形式:多项式 输入值范围:实数 3、输出的形式: 输出多项式,输出形式为整数序列:n,c1,e1,c2,e2,cn,en,其中 n 是多项式的项 数,ci 和 ei 分别是第 i 项的系数和指数,序列按指数升序排列 printpolyn() 4、测试数据: 输入:a=2X+3X2; b=2X3+7X4 输出:a+b=2X+3X2+ 2X3+7X4 a-b=2X+3X2-2X3-7X4 4.24.2 总体设计总体设计 内容包括: 4 1、说明本程序中用到的所有抽象数据类型的定义; typedef stru
4、ct Polynomial float coef; int expn; struct Polynomial *next; *Polyn,Polynomial; void Insert(Polyn p,Polyn h) Polyn CreatePolyn(Polyn head,int m) void PrintPolyn(Polyn P) Int compare(Polyn a,Polyn b) Polyn AddPolyn(Polyn pa,Polyn pb) Polyn AddPolyn(Polyn pa,Polyn pb) Polyn Derivative(Polyn head) 2、主程
5、序的流程; 开始运行 选择输入 求和 求差 建立两个多项式 多项式相加减 输出求和结 输 出 求 差 5 3、说明各程序模块之间的层次(调用)关系。 4.34.3 详细设计详细设计 内容包括: 函数CreatePolyn建立一个头指针为 head、 项数为 m的一元多项式, 然后调运函数Insert 向生成链表中保存多项式项数及每项的指数、系数。函数 CreatePolyn 生成多项式 a 和多 项式 b。 通过函数 compare 和函数 PrintPolyn 对多项式 a 和多项式 b 指数、系数进行分析。当 多项式 a 指数指数大于多项式 b 指数时,链表保存多项式 a 系数;当多项式 b 指数指数大 于多项式 a 指数时,链表保存多项式 b 系数;当多项式 b 指数指数等于多项式 a 指数时, 对多项式 a 和多项式 b 系数进行加减运算,之后将系数保存在链表中。 Main() Insert CreatePolyn PrintPolyn AddPolyn SubtractPolyn compare Derivative 6 函数 Polyn AddPolyn 对多项式 a 和多项式 b 进行加运算,调运函数 compare、函数 PrintPolyn、函数 CreatePolyn。 函数SubtractPolyn对多项式 a和多项式 b进行减运算