1、 一、设计题目 一元多项式的加法、减法、乘法的实现。 二、主要内容 设有一元多项式 Am(x)和 Bn(x). Am(x)=A0+A1x 1+A 2x 2+A 3x 3+ +A mx m Bn(x)=B0+B1x 1+B 2x 2+B 3x 3+ +B nx n 请实现求 M(x)= Am(x)+Bn(x)、M(x)= Am(x)-Bn(x)和 M(x)= Am(x)Bn(x)。 要求: 1) 首先判定多项式是否稀疏 2) 采用动态存储结构实现; 3) 结果 M(x)中无重复阶项和无零系数项; 4) 要求输出结果的升幂和降幂两种排列情况 三、具体要求及应提交的材料 1每个同学以自己的学号和姓名
2、建一个文件夹,如: “312009080611101 张三” 。里面应包括:学 生按照课程设计的具体要求所开发的所有源程序(应该放到一个文件夹中) 、任务书和课程设计说 明书的电子文档。 2打印的课程设计说明书(注意:在封面后夹入打印的“任务书”以后再装订) 。 四、主要技术路线提示 为把多个小功能结合成一个完整的小软件,需使用“菜单设计”技术(可以是控制台方式下的命令行 形式,若能做成图形方式则更好)。 五、进度安排 共计两周时间,建议进度安排如下: 选题,应该在上机实验之前完成 需求分析、概要设计可分配 4 学时完成 详细设计可分配 4 学时 调试和分析可分配 10 学时。 2 学时的机动
3、,可用于答辩及按教师要求修改课程设计说明书。 注:只用课内上机时间一般不能完成设计任务,所以需要学生自行安排时间做补充。 六、推荐参考资料(不少于 3 篇) 1苏仕华等编著,数据结构课程设计,机械工业出版社,2007 2严蔚敏等编著,数据结构(C 语言版) ,清华大学出版社,2003 3严蔚敏等编著,数据结构题集(C 语言版) ,清华大学出版社,2003 指导教师 签名日期 年 月 日 系 主 任 审核日期 年 月 日 摘摘 要要 分析了 matlab,mathmatic,maple 等数学软件对一元多项式的计算过程, 步骤后。由于这些软件比较大功能齐全,但是实用性不强。因此,利用 micro
4、soft visual studio 6.0 开发工具,编程实现了一元多项式的加法、减 法、乘法的计算器系统,该系统具有一元多项式的加法、减法、乘法等功能。 关键词:关键词:一元多项式; 软件; 计算 目目 录录 1 1 需求分析需求分析 1 1 2 2 开发及运行平台开发及运行平台 2 2 3 3 概要设计概要设计 3 3 4 4 详细设计详细设计 4 4 5 5 调试分析调试分析 8 8 6 6 测试结果测试结果 9 9 7 7 结论结论 1111 致致 谢谢 1212 参考文献参考文献 1313 附附 录录 1 16 6 1 1 需求分析 动态链表结构下的一元多项式的加法、减法、乘法的实
5、现。 设有一元多项式 Am(x)和 Bn(x). Am(x)=A0+A1x1+A2x2+A3x3+ +Amxm Bn(x)=B0+B1x1+B2x2+B3x3+ +Bnxn 实现求 M(x)= Am(x)+Bn(x)、M(x)= Am(x)-Bn(x)和 M(x)= Am(x) Bn(x)。 (1)输入形式和输入值范围: 输入的系数为 float 类型,输入的幂为 int 类型 请选择:1 请输入你要运算的第一个一元多项式的项数: 2 请输入第 1 项的系数和指数: 系数:1 指数:1 请输入第 2 项的系数和指数: 系数:1 指数:2 (2)输出形式 请选择:5 一元多项式 A 为: x+x
6、2 一元多项式 B 为: 4x4+5x5+6x6 (3)程序所能达到的功能 1) 首先判定多项式是否稀疏; 2) 采用动态存储结构实现; 2 3) 结果 M(x)中无重复阶项和无零系数项; 4) 要求输出结果的升幂和降幂两种排列情况 (4)测试数据:包括正确地输入及其输出结果和含有错误的输入及其输出结果。 正确的输入: 请选择:5 一元多项式 A 为: x+x2 一元多项式 B 为: 4x4+5x5+6x6 错误的输入: 请输入第 1 项的系数和指数: 系数:1 指数:1 请输入第 2 项的系数和指数: 系数:2 指数:1 输入的该项指数与多项式中已存在的某项相同,请重新创建一个正确的多项式 请输入第 1 项的系数和指数: 2 开发及运行平台 Windows 7 alienware 平台上,Microsoft Visual studio 6.0 环境下开发。所 以建议用户在使用时,在windows 7 平台上使用。 3 3 3 概要设计概要设计 数据类型的定义: s