欢迎来到天天文库
浏览记录
ID:1807143
大小:91.60 KB
页数:24页
时间:2017-11-13
《多项式加法,数组和指针解决实际问题c++》由会员上传分享,免费在线阅读,更多相关内容在学术论文-天天文库。
1、山东理工大学计算机学院课程设计(数据结构)班级姓名学号指导教师二○一二年一月十日课程设计任务书及成绩评定课题名称顺序结构、动态链表结构下的一元多项式的加法、减法、乘法的实现。Ⅰ、题目的目的和要求:1.巩固和加深对数据结构的理解,通过上机实验、调试程序,加深对课本知识的理解,最终使学生能够熟练应用数据结构的知识写程序。1)通过本课程的学习,能熟练掌握几种基本数据结构的基本操作。2)能针对给定题目,选择相应的数据结构,分析并设计算法,进而给出问题的正确求解过程并编写代码实现。2.设计题目要求:1)首先判定多项式是否稀疏2)分别采用顺序和动态存储结构实现;3)结果
2、M(x)中无重复阶项和无零系数项;4)要求输出结果的升幂和降幂两种排列情况;Ⅱ、设计进度及完成情况日期内容1.2-1.3选取参考书,查阅有关文献资料,完成资料搜集和系统分析工作。1.4~1.5创建相关数据结构,录入源程序。1.6~1.7调试程序并记录调试中的问题,初步完成课程设计报告。1.9上交课程设计报告打印版并进行课程设计答辩,要求每个同学针对自己的设计回答指导教师3-4个问题。考核结束后将课程设计报告和源程序的电子版交班长统一刻光盘上交。Ⅲ、主要参考文献及资料[1]严蔚敏数据结构(C语言版)清华大学出版社1999[2]严蔚敏数据结构题集(C语言版)清华
3、大学出版社1999[3]谭浩强C语言程序设计清华大学出版社[4]与所用编程环境相配套的C语言或C++相关的资料Ⅳ、成绩评定:设计成绩:(教师填写)指导老师:(签字)二○一二年一月十日目录第一章概述……………………………………………………………1第二章系统分析………………………………………………………2第三章概要设计………………………………………………………3第四章详细设计………………………………………………………4第五章运行与测试……………………………………………………17第六章总结与心得…………………………………………………19参考文献…………………………
4、……………………………………20第一章概述课程设计是实践性教学中的一个重要环节,它以某一课程为基础,可以涉及和课程相关的各个方面,是一门独立于课程之外的特殊课程。课程设计是让同学们对所学的课程更全面的学习和应用,理解和掌握课程的相关知识。《数据结构》是一门重要的专业基础课,是计算机理论和应用的核心基础课程。数据结构课程设计,要求学生在数据结构的逻辑特性和物理表示、数据结构的选择和应用、算法的设计及其实现等方面,加深对课程基本内容的理解。同时,在程序设计方法以及上机操作等基本技能和科学作风方面受到比较系统和严格的训练。在这次的课程设计中我选择的题目是顺序结构、
5、动态链表结构下的一元多项式的加法、减法、乘法的实现。分别采用顺序结构和链式存储结构,利用多项得结果,最后得多项式中不含有重复阶项和零系数得项。除此之外,还得分为降幂和升幂两种排序方式。。第二章系统分析1.顺序结构、动态链表结构下的一元多项式的加法、减法、乘法的实现。可以分为几个模块:输入模块、输出模块(升幂降幂)、数据处理模块(多项式的加减乘)、主程序模块。2.在程序过程中加入汉字提示符,让使用者清楚明白的操作该程序。运行程序时看起来简洁有序,操作简单明了。3.程序执行时的命令:①选择创建两个一元多项式②输入第一个一元多项式的项数③依次输入一元多项式的系数和
6、指数④以相同方式输入第二个一元多项式⑤选择操作方式⑥选择降幂或升幂排序⑦输出结果⑧是否退出。4.测试数据。输入的一元多项式系数指数分别为70,31,98,517和81,227,-98。加法结果为;升幂降幂减法结果为:升幂降幂乘法结果为:升幂降幂第三章概要设计1、数据结构的设计在该程序中分别分为顺序存储和链式存储结构。2、算法的设计本程序主要分为四大模块①主程序模块②输入模块:通过main函数输入③输出模块(升幂降幂):PrintPolyn函数实现输出④数据处理模块(多项式的加减乘):通过一元多项式的Polynomial基本操作实现3、抽象数据类型的设计一元多
7、项式抽象数据类型的定义:抽象数据类型Polynomial的定义:第四章详细设计#includeusingnamespacestd;structterm//顺序表和链表的的定义{floatxishu;//系数intzhishu;//指数};structLNode{termdata;//term多项式值structLNode*next;};typedefLNode*polynomail;/*合并同类项*/polynomailhebing(polynomailHead){polynomailr,q,p,Q;for(q=Head->next;q!
8、=NULL;q=q->next)//合并同类项for
此文档下载收益归作者所有