数据结构课程设计报告多项式Word格式文档下载.docx
- 文档编号:4975467
- 上传时间:2023-05-04
- 格式:DOCX
- 页数:12
- 大小:196.22KB
数据结构课程设计报告多项式Word格式文档下载.docx
《数据结构课程设计报告多项式Word格式文档下载.docx》由会员分享,可在线阅读,更多相关《数据结构课程设计报告多项式Word格式文档下载.docx(12页珍藏版)》请在冰点文库上搜索。
1.1课题背景及意义
随着计算机网络技术的发展和因特网的广泛普及,各种的运算器的需求也逐渐增加,一元多项式运算器便是其中的一种。
相信在往后的日子里,多项式会成为一种非常普遍的计算器。
《数据结构课程设计》是一门实践性的计算机课程,为了学好这门课程,必须在掌握理论知识的同时,加强上机实践。
通过这次课程设计,要求掌握较大程序的设计方法,相应数据结构的选择应用、算法的设计及其实现和性能分析等方面中加深对课程基本内容的理解。
同时,在设计方法以及上机操作等基本技能和科学作风方面受到比较系统和严格的训练。
1.2课题要求
A.一元多项式的运算器
B.实现多项式的相加,相减和相乘。
C.选做内容:
实现除法运算,求出运算时间等等。
1.3设计目标
A.软件名称:
B.如何实现:
利用数组来完成相应的多项式
C.未能实现:
没能用链表来完成,而是用一个大的数组。
数组的第几项就表示多项式的第几项,从而完成运算。
2概要设计
2.1问题解决的思路概述
首先是确定结构化程序设计的流程图,利用已存在的数据结构来构造一个数组来完成多项式的运算设计,用数组的第几项来表示该多项式的第几项。
从而实现一元多项式的加法,减法和乘法。
然后再输出运算结果。
总而言之,就是先用自顶向下、逐步细化的设计方法来分析并画出程序设计流程图;
然后用自下而上、逐步积累的设计方法来写出程序。
2.2主程序的流程基函数调用说明
(1)主程序的简要流程图
图1主程序流程图
(2)实现多项式的主要思路:
3详细设计
3.1多项式的实现
本来是想按照老师的提示用链表来完成这个多项式运算器的基本框架,但是我觉得用数组来完成会更加的简单快捷,所以就利用了自己的一点小技巧来实现这个软件。
就是利用一个比较大的数组来完成,先输入第一个多项式,数组的第一项就表示该多项式的第一项,然后再输入系数,然后再输入第二项,以此类推。
完成第一个多项式的输入后再用同样的方式输入第二个多项式。
最后输出结果。
3.2该多项式的输入和输出界面
3.3各个算法的输入方法
加法的输入,如下图:
首先我们要输入“+”,然后输入第一个多项式,上图的第一组22111是表示第一个多项式有两项,第一项为2次方,系数为1。
第二项为1次方,系数为1。
然后用同样的方法再输入第二个多项式。
最后回车输出两多项式相加的结果。
3.4减法的输入
输入的方式跟加法一致,就不再加于说明。
3.5乘法的输入
4调试分析
表1调试过程情况表
序号
时间
出现问题
解决方法
1
2014-04-09
一开始尝试用链表来完成,但是因为个人的技术有限,在写代码的过程中出现了许多各种各样的小错误,一直未能完成。
通过询问别人,发现用数组也可以来完成,最后就用了一个大数组来完成了多项式的代入,从而完成了这个一元多项式的运算器。
2
2014-04-10
做乘法时由于输入了两个“*”,从而出现了输出结果一直为“0”的情况。
如下图a
多次运行和观察后发现多输入了一个“*”,出现了错误。
后面改正了,输入一个“*”,就完成了运算。
3
2014-04-13
一开始利用数组来实现这个运算器时,不能准确的讲每个项对准。
输入第一个多项式时会出现错误。
通过请教同学,发现了自己在运算符运用上出现了混乱。
通过多次改正,终于把运算器完成,可以准确的运行。
5用户使用说明
5.1dos版本应用程序操作说明
(1)运行Polynomials.exe应用程序后会出现主界面;
(2)选择所要做的运算,输入多项式;
(3)先输入第一个多项式,按回车;
(4)再输入第二个多项式,回车输出结果。
6测试结果
6.1dos版本应用程序测试结果:
参考文献
[1]陈元春,王中华等.实用数据结构[M].北京:
中国铁道出版社,2003.18-40.
附录:
程序清单
程序代码如下:
#include<
iostream>
string.h>
cstdio>
iomanip>
usingnamespacestd;
#definemax1000
doubleinput[max+1];
intmain()
{
charop;
intk,count;
inti,j,expo;
doublecoef;
cout<
<
"
Input'
+'
toplustwopolynomials\nInput'
-'
tominus\nInput'
*'
tomultiply\nOtherwiseexit\n--------------------------\n--------------------------"
endl;
cin>
>
op;
if(op=='
)
{
cin>
k;
memset(input,0,sizeof(input));
for(i=0;
i<
i++)
{
cin>
expo>
coef;
input[expo]+=coef;
}
}
}
elseif(op=='
input[expo]-=coef;
intk1;
intexpo1[max+1];
doublecoef1[max+1];
intk2;
intexpo2[max+1];
doublecoef2[max+1];
k1;
expo1[i]>
coef1[i];
k2;
expo2[i]>
coef2[i];
i<
i++)
{
for(j=0;
j<
j++)
{
input[expo1[i]+expo2[j]]+=coef1[i]*coef2[j];
}
else
return0;
count=0;
for(i=1000;
i>
=0;
i--)
if(input[i]!
=0)count++;
count;
=0.0)
{
fixed<
setprecision
(1);
"
input[i];
}
system("
pause"
);
return0;
}
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 数据结构 课程设计 报告 多项式
![提示](https://static.bingdoc.com/images/bang_tan.gif)