| 注册
home doc ppt pdf
请输入搜索内容

热门搜索

年终总结个人简历事迹材料租赁合同演讲稿项目管理职场社交

一元稀疏多项式加法运算实验报告

z***u

贡献于2022-12-15

字数:5280

实验题目 元项式加法运算
班级:数学班 姓名: 学号: 日期:2012
需求分析
1)程序功:
11 输入两稀疏元n次项式
12 计算两项式
项式相加运算规:两元项式中指数相子项应系数相加非零构成项式中项两元项式中指数子项分复制项式中
13项式ab相加建立项式a+b输出项式
2)输入输出:
21输入求指数递增序指定输入格式输入系数0子项:系数指数直遇输入结束标志(系数指数00)时候停止
22输出项式输出形式整数序列:nc1e1c2e2………cnen中n项式项数ciei分第i项系数指数序列指数降序排列
3)测试数:
1(2x+5x^831x^11)+(75x^8+11x^9)(31x^11+11x^9+2x+7)
2(6x^3x+44x^212x^9+12x^9)(6x^3+54x^2x^2+78x^15
)(78x^1512x^9+12x^3x)
3(1+x+x^2+x^3+x^4+x^5)+(x^3x^4)(1+x+x^2+x^5)
4(x+x^3)+(xx^3)0
5(x+x^100)+(x^100+x^200)(x+2x^100+x^200)
6(x+x^2+x^3)+0x+x^2+x^3
二概设计
1)建立头指针head项数m元项式 建立新结点接收数 调Insert函数插入结点
Polyn CreatePolyn(Polyn headint m){
int i
Polyn p
phead(Polyn)malloc(sizeof(struct Polynomial))
head>nextNULL
for(i0i {
p(Polyn)malloc(sizeof(struct Polynomial))
printf(请输入第d项系数指数i+1)
scanf(f d&p>coef&p>expn)
Insert(phead)
}
return head
}
2)程序包括4模板:
21程序模块:
main()
{
输入项式A
输入项式B
计算AB项式输出
}
22建立链表:
Polyn CreatePolyn(Polyn headint m){
23项式相加:
Polyn AddPolyn(Polyn paPolyn pb){
24输出项式:
void PrintPolyn(Polyn P){
3)模块间层次关系:

三详细设计
1)项式数类型定义:
typedef struct Polynomial{
float coef 系数
int expn 指数
struct Polynomial *next
}*PolynPolynomial
2)详细设计思路:
解决项式相加必须项式必须首先建立两项式里采链表方式存储链表结点结构体定义
序数coef
指数expn
指针域next
运尾插法建立两条单链表单链表polyn ppolyn h分表示两元项式aba+b求运算等单链表插入问题(单链表polyn p中结点插入单链表polyn h中)项式中结点须生成
实现处理设pq分指单链表polyapolyb前项较pq结点指数项列运算规:
① p>expnexpn结点p指结点应项式中项令指针p移
② p>expnq>expn两结点中系数相加0时修改结点p系数
③ p>expn>q>expn结点q指结点应项式中项结点q插入结点p前令指针q原链表移
3)函数间调关系图图
main


intput add output

init

四调试分析
1)调试中遇问题解决方法:
11遇问题:
a输入项式时输入实型系数忽略程序中指定类型整型产生错误输出结果
b程序运行结果出现形0*3项符合惯
c输出表达符合数学表达方式
12解决方法:
a输入整型系数考虑修改程序中系数类型时间原没修改
b项式加法函数中两项式中指数相加项数系数相加时考虑系数0情况时应删结点作项式中项
c输出函数设计中考虑点:
项式第项系数正时显示+号项显示+号
指数零时输出指数部分
指数1时输出指数1
系数1时输出系数
考虑种综合情况输出含11xx正确方法等
2)算法时间复杂度:
假设两项式分mn项建立俩项式时间复杂度O(m)O(n)两项式相加时间复杂度O(m+n)输出含n子项项式时间复杂度O(n)算法总时间复杂度O(m+n)
五说明测试结果:
1)输入a项数:

2)输入a系数指数:

3)类似输入b项数系数指数
4.)选择操作:

5)输出b项式:

6)输出项式:


六源程序:
#include
#include 定义项式项
typedef struct Polynomial{
float coef 系数
int expn 指数
struct Polynomial *next
}*PolynPolynomial
void Insert(Polyn pPolyn h){
if(p>coef0) free(p) 系数0话释放结点
else
{
Polyn q1q2
q1h
q2h>next
while(q2&& p>expn < q2>expn)
{ 查找插入位置
q1q2
q2q2>next
}
if(q2&& p>expn q2>expn)
{ 指数相相合
q2>coef + p>coef
free(p)
if(q2>coef)
{ 系数0话释放结点
q1>nextq2>next
free(q2)
}
}
else
{ 指数新时结点插入
p>nextq2
q1>nextp
}
}
}
Polyn CreatePolyn(Polyn headint m){ 建立头指针head项数m元项式
int i
Polyn p
phead(Polyn)malloc(sizeof(struct Polynomial))
head>nextNULL
for(i0i {
p(Polyn)malloc(sizeof(struct Polynomial)) 建立新结点接收数
printf(请输入第d项系数指数i+1)
scanf(f d&p>coef&p>expn)
Insert(phead) 调Insert函数插入结点
}
return head
}
void DestroyPolyn(Polyn p){ 销毁项式p
Polyn q1q2
q1p>next
q2q1>next
while(q1>next)
{
free(q1)
q1q2
q2q2>next
}
}
void PrintPolyn(Polyn P){
Polyn qP>next
int flag1 项数计数器
if(q)
{ 项式空输出0
putchar('0')
printf(\n)
return
}
while(q)
{
if(q>coef>0&& flag1) putchar('+') 系数0第项
if(q>coef1&&q>coef1)
{ 系数非11普通情况
printf(gq>coef)
if(q>expn1) putchar('X')
else if(q>expn) printf(X^dq>expn)
}
else
{
if(q>coef1)
{
if(q>expn) putchar('1')
else if(q>expn1) putchar('X')
else printf(X^dq>expn)
}
if(q>coef1)
{
if(q>expn) printf(1)
else if(q>expn1) printf(X)
else printf(X^dq>expn)
}
}
qq>next
flag++
}
printf(\n)
}
int compare(Polyn aPolyn b){
if(a&&b)
{
if(b||a>expn>b>expn) return 1
else if(a||a>expnexpn) return 1
else return 0
}
else if(a&&b) return 1 a项式已空b项式非空
else return 1 b项式已空a项式非空
}
Polyn AddPolyn(Polyn paPolyn pb){ 求解建立项式a+b返回头指针
Polyn qapa>next
Polyn qbpb>next
Polyn headchcqc
hc(Polyn)malloc(sizeof(struct Polynomial)) 建立头结点
hc>nextNULL
headchc
while(qa||qb)
{
qc(Polyn)malloc(sizeof(struct Polynomial))
switch(compare(qaqb)){
case 1
{
qc>coefqa>coef
qc>expnqa>expn
qaqa>next
break
}
case 0
{
qc>coefqa>coef+qb>coef
qc>expnqa>expn
qaqa>next
qbqb>next
break
}
case 1
{
qc>coefqb>coef
qc>expnqb>expn
qbqb>next
break
}
}
if(qc>coef0)
{
qc>nexthc>next
hc>nextqc
hcqc
}
else free(qc) 相加系数0时释放该结点
}
return headc
}
void main()
{
int mna
char flag
Polyn pa0pb0pc
printf(请输入项式a项数)
scanf(d&m)
paCreatePolyn(pam) 建立项式a
printf(请输入项式b项数)
scanf(d&n)
pbCreatePolyn(pbn) 建立项式b
输出菜单
printf( ************************************************************\n)
printf( * 项式操作程序 *\n)
printf( * *\n)
printf( * 1输出元稀疏项式a 2输出元稀疏项式b *\n)
printf( * *\n)
printf( * 3输出元稀疏项式a+b 4退出程序 *\n)
printf( * *\n)
printf( ************************************************************\n)
while(a)
{
printf(\n请您选择操作项目:)
scanf( c&flag)
switch(flag)
{
case'1'
{
printf(\n 项式a)
PrintPolyn(pa)
break
}
case'2'
{
printf(\n 项式b)
PrintPolyn(pb)
break
}
case'3'
{
pcAddPolyn(papb)
printf(\n a+b)
PrintPolyn(pc)
break
}
case'4'
{
printf(\n 运行结束\n)
DestroyPolyn(pa)
DestroyPolyn(pb)
a0
break
}
default
printf(\n 输入错误\n)
}
}
}
文档香网(httpswwwxiangdangnet)户传

《香当网》用户分享的内容,不代表《香当网》观点或立场,请自行判断内容的真实性和可靠性!
该内容是文档的文本内容,更好的格式请下载文档

下载文档,方便阅读与编辑

文档的实际排版效果,会与网站的显示效果略有不同!!

需要 2 香币 [ 分享文档获得香币 ]

该文档为用户出售和定价!

购买文档

相关文档

两个高次多项式加法和乘法运算

 课程设计报告 设计名称: 数据结构课程设计 设计题目: 两个高次多项式加法和乘法运算 学生学号: 专业班级: 软件工程 学生姓名:

文***品 5年前 上传820   0

任意两个高次多项式的加法和乘法运算课程设计

 课程设计报告 设计名称: 数据结构课程设计 设计题目: 任意两个高次多项式的加法和乘法运算 学生学号: 专业班级: 软件工程班 学生姓名:

文***品 5年前 上传738   0

加法运算定律的应用

加法运算定律的应用小学数学 人教2011课标版 2015年度 分享到: 李月华指导教师:无地区:湖北省 - 襄阳市 - 襄州区学校:襄阳区双沟镇双南村小学发布时间:2016-05-29 20:37· 湖北省省级优课 · 5.0 分(66人) · 教学设计· 课堂实录· 教学资源我要点评 共1学时1教学目标 评论 知识目标:能运用运算定律进行一些简便运算。技能

蓝郎梦 3年前 上传662   0

加法运算定律教学设计

1.通过尝试解决实际问题,观察、比较,发现并概括加法交换律、加法结合律。2.初步学习用加法运算定律进行简便计算,并用来解决实际问题。3.培养学生的观察能力、概括能力和语言表达能力。

明***7 4年前 上传780   0

加法的运算定律教学反思

加法的运算定律教学反思一、将现实的问题情境转化成数学问题。本单元的主要内容是运算定律,可以说运算定律是运算的灵魂和核心。它是小学阶段十分重要和基本的内容。由于四年级的学生的认知和思维水平还比较低,抽象思维比较弱,对于他们来说规律的理解历来是教学的难点。我根据教材的特点设计简单的加法口算,通过计算让学生自然的知道两个加数位置调换计算结果不变这道理来总结出加法交换律。通过学生自己控讨,很自然

笑***7 4个月前 上传157   0

6.2.1 向量的加法运算同步练习 (word含解析)

6.2.1 向量的加法运算(同步检测)1.在四边形ABCD中,+=,则四边形ABCD是 (  )A.梯形      B.矩形 C.正方形 D.平行四边形2.(多选)对于任意一个四边形ABCD,下列式子能化简为的是(  )A.++ B.++C.++ D.++3.如图,四边形ABCD是梯形,AD∥BC,对角线AC与BD相交于点O,则+++

还***法 5个月前 上传167   0

加法运算定律的运用 评课稿

《加法运算定律的运用》评课稿                                   计算教学是当今数学教学的基本点,也是一个难点。许多人在做着艰苦而有意义的工作,努力探索一条计算教学的新路子。在计算教学中,不仅要使学生能够正确、合理地计算,还要能够灵活地掌握计

笑***7 2年前 上传608   0

小学数学第八册第三单元加法运算定律 教学反思

《加法运算定律》教学反思 本节课的新知识在以前的数学学习中都有相应的认知基础,反过来,学了本节的新知识又可以促进学生,更深入认识原来学过的知识和方法。教学时,充分利用了主题图的故事性,逐步形成连贯的情境、后续的问题,使本节的教学形成一个连贯的整体。1、在情境中初步感知规律 数学源于生活,生活处处有数学,用学生身边事情引入新知,很好地调动学生的学习积极性,在学生交流中提取有用

笑***7 3个月前 上传112   0

第2课时 加法运算定律的应用「教案」

第2课时 加法运算定律的应用▷教学内容教科书P20例3,完成P20“做一做”,P22~23“练习六”第2、4、7题。▷教学目标1.通过学习,能正确、自主地运用加法交换律和结合律进行简便计算。2.在解决问题的过程中,体现策略的多样化,提高灵活、合理选择算法的能力。3.培养学生独立思考和主动探究的意识和习惯。▷教学重点能正确运用加法交换律和结合律进行简便计算。▷教学难点根据数据特

蓝郎梦 2年前 上传601   1

小学数学第八册第三单元加法运算定律教学设计

加法运算定律 详案    1学习内容:P28/例1(加法交换律)P29/例2(加法结合律)课时1课时学习目标:1.引导学生探究和理解加法交换律、结合律。2.培养学生根据具体情况,选择算法的意识与能力,发展思维的灵活性。3.使学生感受数学与现实生活的联系,能用所学知识解决简单的实际问题。学习重点:探究和理解加法交换律、结合律。学习难点:探究和理解加法交换

笑***7 3年前 上传464   0

小学数学第八册第三单元加法的运算定律简案

小学集体备课简案时间 2.23主备人年级四科目数学教研主题 开展小组合作学习的探究课题 加法运算定律的运用教学设计修改建议学习内容: P30/例3(加法运算定律的运用) 课时: 1课时学习目标: 1.能运用运算定律进行一些简便运算。 2.培养学生根据具体情况,选择算法的意识与能力,发展思维的灵活性。 3.使学生感受

笑***7 3个月前 上传126   0

小学数学第八册第三单元加法运算定律说课稿

《加法运算定律》说课稿 一、说教材。(一)教学内容:我说课的内容是义务教育课程标准实验教科书,小学数学第八册第三单元第一小节“加法运算定律”中的第1课时的内容,其内容包括:完成第28页的例1以及下面的“做一做”,第31页练习五第1~3题。(二)教材地位:加法是数学中最基本的运算之一。从教材的纵向联系来看,在三年半前学生已学过加法的计算方法,在此基础上,通过本课时的教学,首先,可使学

笑***7 3个月前 上传114   0

1.3.1有理数的加法运算律学案-人教版七年级上册数学

1.能用加法运算律简化加法运算;2.理解加法运算律在加法运算中的作用,适当进行推理训练。

夏***子 3年前 上传457   0

四年级上册数学教案加法运算律西师大版

【教学目标】  1.使学生理解和掌握加法交换律和结合律,懂得用字母表示的意义。  2.通过经历对加法运算定律的探究、发现过程,培养学生观察、分析、比较、概括的能力。  3.在学生学习加法运算定律的过程中,培养其数学交流的能力和合作的意识。

6***雅 3年前 上传578   0

四年级上册数学教案加法运算律的应用西师大版

【教学内容】西南师大四年级上册数学教材第31页【教材分析】这部分内容仍是由主题图引出的,它是在上节课已经计算了李叔叔前三天所行路程和的基础上,给出了李叔叔后四天的计划,让学生求四天计划行程的总和

6***雅 1年前 上传241   0

小学数学第八册第三单元加法的运算定律评课稿

《加法的运算定律》评课稿 一、激发学习兴趣 培养良好的学习态度 数学源于生活,又服务于生活。数学的学习紧密联系生活,既能让学生真切地感受到数学藏在生活之中,又能解决生活中的实际问题,从而培养良好的学习态度、价值观,还能有效激发兴趣,变枯燥的学习为有意义的学习。在“加法的运算定律”教学始,刘老师创设了骑车旅行的具体问题情境,就达到了这一目的。 二、发现计算规律 问题情境的创设是思维

笑***7 3个月前 上传222   0

四年级下册数学教案-3.1加法运算定律 |人教版

《加法运算定律》教学设计教学目标知识和技能理解并掌握加法交换律和加法结合律,并能够用字母来表示加法交换律和结合律。过程和方法经历探索加法交换律和结合律的过程,进行举例、观察、发现、验证并概括出运算律。情感、态度和价值观在数学活动中获得成功的体验,进一步增强对数学的兴趣和信心,初步形成独立思考和探究问题的意识、习惯。教学重点理解、掌握加法交换律和加法结合律,能用字母来表示加法交

文***7 4年前 上传852   0

9.3多项式乘多项式归纳与训练学案:七年级数学苏科版下册

本节内容也不难,只要记住一句话:多项式与多项式相乘,先用一个多项式的每一项去乘另外一个多项式的每一项,再把所得的积相加。

温***季 3年前 上传458   0

数学七年级课时训练1.4 第3课时 多项式与多项式的乘法

知识点 多项式与多项式相乘1.(2x+y)(x-y)=2x•    +y•     ——乘法对加法的分配律=2x•    +2x•    +y•    +y•    ——单项式乘多项式法则 =2x2-xy    . ——合并同类项

夏***子 3年前 上传536   0

5以内加法教案_5以内加法的教学设计

5以内加法教案_5以内加法的教学设计 5以内加法的教学设计(一) 教材分析: 《5以内数的加法》一课是同学在数学学习中首次接触计算的问题,这节课的学问基础是5以内数的分与合。通过本节课的学习,同学要能初步理解加法的含义,并能正确计算5以内的加法,在这个过程中,感受数学与生活的联系,增加学习数学的爱好和初步的数学意识。 本节课包括加法的初步熟悉和5以内的加法两部分内容。加法

z***i 1年前 上传267   0

乘法运算律及简便运算其次课时

乘法运算律及简便运算其次课时 乘法运算律及简便运算其次课时 “自学互帮导学法”课堂教学设计 课 题 乘法运算律及简便运算 课时 其次课时 课 型 新授课 修改看法 教学目标 ⒈进一步理解并把握乘法交换律和结合律,并能运用这两个运算律进行简便计算。 ⒉培育同学敏捷运用所学学问解决实际问题的力量。 ⒊让同学在老师的引导下,经

h***1 1年前 上传387   0

化学实验报告

化学实验报告  化学是一门以实验为基础的学科。化学上的许多理论和定律都是从实验中发现归纳出来的。同时,化学理论的应用、评价也有赖于实验的探索和检验。虽然到了近代乃至现代,化学的飞速进步已经产生了各种新的研究方法,但是,实验方法仍然是化学不可缺少的研究手段。新课程改革将科学探究作为突破口,科学探究不但是一种重要的学习方式,同时也是中学化学课程的重要内容,它对发展学生的科学素养具有不可替代的作用

静***开 11年前 上传1070   0

电路实验报告

实验一 元件特性的示波测量法一、实验目的1、学习用示波器测量正弦信号的相位差。2、学习用示波器测量电压、电流、磁链、电荷等电路的基本变量3、掌握元件特性的示波测量法,加深对元件特性的理解。二、实验任务1、 用直接测量法和李萨如图形法测量移相器的相移即实验原理图如图 5-6示。

小***库 3年前 上传3109   0

教育实验报告

教育实验报告  教育实验报告  对某种教育现象实验后,要对整个实验过程进行全面总结,提出一个客观的、概括的、能反映全过程及其结果的书面材料,即谓教育实验报告。教育实验报告可分为三部分:①前言。②实验过程和结果。③讨论及结论。实验报告的基本结构:  (1)题目。应以简练、概括、明确的语句反映出教育的对象、领域、方法和问题,使读者一目了然,判断出有无阅读价值。  (2)单位、作者。应

松***布 12年前 上传759   0

上机实验报告

上机实验报告  一.     题目1.  建立一个学生档案,内容包括学号,姓名,年龄,性别,数学,物理和英语3门功课成绩。要求实现以下功能:1)        数据输入;2)        查询某个学生的成绩;3)        按平均排列输出;4)        统计某门课各分数段人数;5)        删除某个学生记录;2.  编程实现对二位数进行加,减,乘运算,每运行一次程序做10道

l***2 8年前 上传881   0