数据结构课程设计报告

发布 2022-10-05 03:23:28 阅读 2914

一、需求分析。

1、问题描述。

设计一个一元多项式程序,并完成多项式的加法、减法、乘法及求导运算。从实际的角度出发,这里设计的程序是基于一元n次多项式的数学模型。

2、问题的数学模型。

在数学上,一个一元多项式pn(x)可按升幂写成:pn(x)=a 0+a1 x+a2 x^2 +…an x^n-1 .它由n+1个系数惟一确定,因此,在计算机里,它可用一个线性表p来表示:

pn=(a0,a1,a2,…,an)每一项的指数i隐含在其系数ai的序号里。

多项式的加法运算规则:当两个多项式中有两项的指数相同时,则系数相加,指数不变,若相加后的系数为0,则将该项删除(free掉)。

多项式的减法运算规则:与加法的运算规则类似,不过先要将第二个多项式的每一项系数乘以-1,再与第一项多项式相加。

多项式的乘法运算规则:多次运用单项式与多项式相乘的法则得到的.计算时(a+b)(m+n),先把(m+n)看成一个单项式,(a+b) 是一个多项式,运用单项式与多项式相乘的法则,得到(a+b)(m+n)=a(m+n)+b(m+n),然后再次运用单项式与多项式相乘的法则。

多项式的求导运算规则:对多项式求导时,先看其指数是否为0(常数项),当多项式的指数为0时,将该项删除;否则,将指数与系数相乘得到新的系数,指数减1得到新的指数。

3、构造数据存储结构。

通过分析多项式的特征,不难看出多项式是由单项式构成的,而每个单项式都具有系数和指数,当系数为0时,该项就失去了意义,在计算机内要表示一个多项式,至少以下数据信息:系数信息、指数信息和指向下一个单项式的指针。通过指针,我们就可以把多个单项式连接起来,形式一个多项式,需要说明的是从广义的角度讲,单项式也是一个多项式。

基于以上的分析,我们定义多项式的数据结构为如下结构体形式:

typedef struct polynomialpolynomial;

typedef struct lnodelnode,*linklist;

二、系统分析。

1、可行性研究。

该程序主要从技术的角度来分析可行性。技术上的可行性研究主要分析技术条件能否顺利完成开发工作,硬、软件能否满足开发者的需要等。该系统采用了windows xp操作系统结合visual c++ 6.

0软件开发平台已成熟可行。硬件方面,科技飞速发展的今天,硬件更新的速度越来越快,容量越来越大,可靠性越来越高,其硬件平台也比较能满足此系统的需要。此外,还有经济可行,用户使用简单可行。

2、系统结构与主要功能模块。

从实现多项式式运算过程的角度来分析,至少需要这样一些子功能模块。如:

1. 多项式创建功能;

2. 多项式运算功能(主要包括多项式的加法、减法、乘法、求导等);

3. 操作界面显示功能;

4. 销毁多项式的功能。

系统的整体流程和主要功能模块如图2-1所示。

三、概要设计。

为了实现以上的设计,应用单向链表进行存储多项式,其中主要的操作函数如下:

adt polynomial listpolynomial;

typedef struct lnodelnode,*linklist;

2、插入函数部分。

void insert(linklist &p,linklist &h)

//insert

3、多项式的创建。

linklist createpolyn(linklist &head,int m)

return head;

//createpolyn

4、销毁多项式。

void destroypolyn(linklist &p)

while (q){

if(q->>0&&flag!=1) putchar('+系数大于0且不是第一项。

if(q->>系数非1或-1的普通情况。

printf("%g",q->

if(q-> putchar('x');

else if(q-> printf("x^%d",q->

else{if(q->

if(!q-> putwchar('1');

else if(q-> putchar('x');

数据结构课程设计报告

东莞理工学院城市学院。题目 二叉排序树 专业 计算机科学与技术 本 年级 2010级计算机科学与技术专业 1 班。个人姓名 何振江。指导教师 张娟老师 时间 2010至2011第二学期第18周 地点 实验楼615机房 东莞理工学院城市学院计算机与信息科学系制。2011年 6月。实习报告的内容。一 问...

数据结构课程设计报告

设计一个校园导游程序,为来访的客人提供信息查询服务。1 设计学校的校园平面图。选取若干个有代表性的景点抽象成一个无向带权图 无向网 以图中顶点表示校内各景点,边上的权值表示两景点之间的距离。2 存放景点代号 名称 简介等信息供用户查询。3 为来访客人提供图中任意景点相关信息的查询。4 为来访客人提供...

数据结构课程设计报告

河北科技大学。课程设计报告。学生姓名学号。专业班级。课程名称数据结构。学年学期 2 012 2 013学年第 2 学期指导教师 黄春茹。2 0 13年 6 月。课程设计成绩评定表。一 数据结构课程设计目标。二 问题描述。三 需求分析。四 概要设计。五 详细设计。六 软件说明书 给出软件如何使用,使用...