当前位置:文档之家› 多项式运算e

多项式运算e

多项式运算e
多项式运算e

#include //栈的应用(表达式求值)

int s1[31];//数值栈

char s2[31];//算符栈

int t1,t2;

void calcu()//退栈作运算

{ int x1,x2,x;

char p;

p=s2[t2--];//从s2栈退栈算符送给p

x2=s1[t1--]; x1=s1[t1--];//从s1中退出两个运算数switch(p)//根据p对x1,x2作相应运算

{

case '+':x=x1+x2;break;

case '-':x=x1-x2;break;

case '*':x=x1*x2;break;

case '/':x=x1/x2;

}

s1[++t1]=x;//运算结果送入s1栈

}

void qz()//表达式求值

{

char c; int v;

t1=t2=0;

cin>>c;

while(c!='=')// 输入表达式各字符'='为结束符switch(c) //根据c作相应处理

{ case'+':case'-'://c为+ 或-

while(t2&&(s2[t2]!='('))

calcu(); //算符栈中有算符,退栈作运算

s2[++t2]=c; // c入栈

cin>>c; break;//继续输入

case'*':case'/'://c为* 或/

if(t2&&((s2[t2]=='*')||(s2[t2]=='/')))

calcu();//栈顶算符为*或/,退栈作运算

s2[++t2]=c;cin>>c;break;

case'('://c为(,直接入栈

s2[++t2]=c; cin>>c; break;

case')'://c为),

while(s2[t2]!='(') //栈顶算符为(,退栈作运算calcu(); t2--; cin>>c; break;

default://c为数字字符,将其转化为数值v

v=0;

do

{v=10*v+c-'0';cin>>c;}while((c>='0')&&(c<='9')); s1[++t1]=v;//数值v入数值栈s1

};

while(t2) calcu();//算符栈中有算符,退栈作运算cout<

}

main()

{ qz(); cout<

}

一元多项式加减乘除运算

中国计量学院实验报告 实验课程:算法与数据结构实验名称:一元二项式班级:学号: 姓名:实验日期: 2013-5-7 一.实验题目: ①创建2个一元多项式 ②实现2个多项式相加 ③实现2个多项式相减 ④实现2个多项式相乘 ⑤实现2个多项式相除 ⑥销毁一元多项式 实验成绩:指导教师:

二.算法说明 ①存储结构:一元多项式的表示在计算机内可以用链表来表示,为了节省存储 空间,只存储多项式中系数非零的项。链表中的每一个结点存放多项式的一个系数非零项,它包含三个域,分别存放该项的系数、指数以及指向下一个多项式项结点的指针。创建一元多项式链表,对一元多项式的运算中会出现的各种可能情况进行分析,实现一元多项式的相加、相减操作。 ②加法算法

三.测试结果 四.分析与探讨 实验数据正确,部分代码过于赘余,可以精简。 五.附录:源代码#include<> #include<> #include<> typedef struct Polynomial { float coef; int expn; struct Polynomial *next; }*Polyn,Polynomial; 出多项式a和b\n\t2.多项式相加a+b\n\t3.多项式相减a-b\n"); printf("\t4.多项式相除a*b\n\t5.多项式相除a/b\n\t6.销毁多项式\n"); printf("\t7.退出

\n*********************************** ***********\n"); printf("执行:"); scanf("%d",&flag); switch(flag) { case(1): printf("多项式a:");PrintPolyn(pa); printf("多项式b:");PrintPolyn(pb);break; case(2): pc=AddPolyn(pa,pb); printf("多项式a+b:");PrintPolyn(pc); DestroyPolyn(pc);break; case(3): pd=SubtractPolyn(pa,pb); printf("多项式a-b:");PrintPolyn(pd); DestroyPolyn(pd);break; case(4): pf=MultiplyPolyn(pa,pb); printf("多项式a*b:");PrintPolyn(pf); DestroyPolyn(pf);break; case(5): DevicePolyn(pa,pb); break; case(6): DestroyPolyn(pa); DestroyPolyn(pb); printf("成功销毁2个一元二项式\n"); printf("\n接下来要执行的操作:\n1 重新创建2个一元二项式 \n2 退出程序\n"); printf("执行:"); scanf("%d",&i); if(i==1) { // Polyn pa=0,pb=0,pc,pd,pf;//定义各式的头指针,pa与pb在使用前付初值NULL printf("请输入a的项数:"); scanf("%d",&m); pa=CreatePolyn(pa,m);// 建立多项式a printf("请输入b的项

如何进行多项式除以多项式的运算

如何进行多项式除以多项式的运算 多项式除以多项式,一般可用竖式计算,方法与算术中的多位数除法相似,现举例说明如下: 例1 计算)4()209(2+÷++x x x 规范解法 ∴ .5)4()209(2+=+÷++x x x x 解法步骤说明: (1)先把被除式2092 ++x x 与除式4+x 分别按字母的降幂排列好. (2)将被除式2092++x x 的第一项2x 除以除式4+x 的第一项x ,得x x x =÷2,这就是商的第一项. (3)以商的第一项x 与除式4+x 相乘,得x x 42+,写在2092++x x 的下面. (4)从2092++x x 减去x x 42+,得差205+x ,写在下面,就是被除式去掉x x 42+后的一部分. (5)再用205+x 的第一项x 5除以除式的第一项x ,得55=÷x x ,这是商的第二项,写在第一项x 的后面,写成代数和的形式. (6)以商式的第二项5与除式4+x 相乘,得205+x ,写在上述的差205+x 的下面. (7)相减得差0,表示恰好能除尽. (8)写出运算结果,.5)4()209(2+=+÷++x x x x 例2 计算)52()320796(2245--÷+-+-x x x x x x . 规范解法

∴ )52()320796(2245--÷+-+-x x x x x x 163323-+-=x x x ……………………………余29-x . 注 ①遇到被除式或除式中缺项,用0补位或空出;②余式的次数应低于除式的次数. 另外,以上两例还可用分离系数法求解.如例2. ∴ )52()320796(2 245--÷+-+-x x x x x x 163323-+-=x x x ……………………………余29-x . 8.什么是综合除法? 由前面的问题4我们知道两个多项式相除可以用竖式进行,但当除式为一次式,而且它的首项系数为1时,情况比较特殊. 如:计算)3()432(3 -÷-+x x x . 因为除法只对系数进行,和x 无关,于是算式(1)就可以简化成算式(2). 还可以再简化.方框中的数2、6、21和余式首项系数重复,可以不写.再注意到,因除式的首项系数是1,所以余式的首项系数6、21与商式的系数重复,也可以省略.如果再

多项式教案

2.1整式---多项式 教学内容: 教科书第56—59页,2.1整式:2.多项式。 教学目标和要求: 1.通过本节课的学习,使学生掌握整式多项式的项及其次数、常数项的概念。 2.通过小组讨论、合作交流,让学生经历新知的形成过程,培养比较、分析、归纳的能力。由单项式与多项式归纳出整式,这样更有利于学生把握概念的内涵与外延,有利于学生知识的迁移和知识结构体系的更新。 3.初步体会类比和逆向思维的数学思想。 教学重点和难点: 重点:掌握整式及多项式的有关概念,掌握多项式的定义、多项式的项和次数,以及常数项等概念。 难点:多项式的次数。 教学方法: 分层次教学,讲授、练习相结合。 教学过程: 一、旧知复习 1、练习巩固 复习提问:什么是单项式、系数、次数? 二、讲授新课: 创设情境:1、小明房间的窗户如图所示,其中上方的装饰物由两个四分之一圆和一个半圆组成(它们的半径相同)(1)装饰物所占的面积是多少?(2)窗户能射进阳光部分的面积是多少?(让学生讨论) 2、填空 (1)一个数比数x的2倍小3,则这个数为____; (2)如图1,三角板的面积为____; (3)买一个篮球需要x元,买一个排球需要y元买一个足球需要40元,买3个篮球、5个排球、2个足球共需要元;

得出结果让学生观察 (由学生小组派代表回答,教师应肯定每一位学生说出的特点,培养学生观察、比较、归纳的能力,同时又锻炼他们的口表能力。通过特征的讲述,由学生自己归纳出多项式的定义,教室可给予适当的提示及补充。) 3多项式: 板书由学生自己归纳得出的多项式概念。上面这些代数式都是由几个单项式相加而成的。像这样,几个单项式的和叫做多项式。 在多项式中,每个单项式叫做多项式的项其中,不含字母的项,叫做常数项 一个多项式含有几项,就叫几项式。多项式里,次数最高项的次数,就是这个多项式的次数。 注意: (1)多项式的次数不是所有项的次数之和; (2)多项式的每一项都包括它前面的符号。 (教师介绍多项式的项和次数、以及常数项等概念,并让学生比较多项式的次数与单项式的次数的区别与联系,渗透类比的数学思想。) 2.例题: 例1:判断: ①多项式a 3-a 2b+a b 2-b 3的项为a 3、a 2b、a b 2、b 3,次数为12; ②多项式3n 4-2n 2+1的次数为4,常数项为1。 (这两个判断能使学生清楚的理解多项式中项和次数的概念,第(1)题中第二、四项应为 -a 2b 、-b 3,而往往很多同学都认为是a 2b 和b 3,不把符号包括在项中。另外也有同学认为该多项式的次数为12,应注意:多项式的次数为最高次项的次数。) 例2:指出下列多项式的项和次数: (1)3x -1+3x 2;(2)4x 3+2x -2y 2。 解:略。 例3:指出下列多项式是几次几项式。 (1)x 3-x +1;(2)x 3-2x 2y 2+3y 2。 3540x y ++23x -2 12 ab r π-216ab b π -

多项式四则运算

多项式四则运算 运行图: 源代码: // 多项式加减乘除-02.cpp : 定义控制台应用程序的入口点。// #include "stdafx.h" int _tmain(int argc, _TCHAR* argv[]) { return 0; } #include #include typedef struct Polynomial { float coef; int expn; struct Polynomial *next; }*Polyn,Polynomial; void Insert(Polyn p,Polyn h) { if(p->coef==0) free(p); else {

Polyn q1,q2; q1=h; q2=h->next; while(q2&&p->expnexpn) { q1=q2; q2=q2->next; } if(q2&&p->expn==q2->expn) { q2->coef+=p->coef; free(p); if(!q2->coef) { q1->next=q2->next; free(q2); } } else { p->next=q2; q1->next=p; } } } Polyn CreatePolyn(Polyn head,int m) { int i; Polyn p; p=head=(Polyn)malloc(sizeof(struct Polynomial)); head->next=NULL; for(i=0;icoef,&p->expn); Insert(p,head); } return head; } void DestroyPolyn(Polyn p) { Polyn q1,q2; q1=p->next;

数据结构中实现一元多项式简单计算

数据结构中实现一元多项式简单计算: 设计一个一元多项式简单的计算器。 基本要求: 一元多项式简单计算器的基本功能为: (1)输入并建立多项式; (2)输出多项式; (3)两个多项式相加,建立并输出和多项式; (4)两个多项式相减,建立并输出差多项式; #include #include #define MAX 20 //多项式最多项数 typedef struct//定义存放多项式的数组类型 { float coef; //系数 int exp; //指数 } PolyArray[MAX]; typedef struct pnode//定义单链表结点类型 { float coef; //系数 int exp; //指数 struct pnode *next; } PolyNode; void DispPoly(PolyNode *L) //输出多项式 { PolyNode *p=L->next; while (p!=NULL) { printf("%gX^%d ",p->coef,p->exp); p=p->next; } printf("\n"); } void CreateListR(PolyNode *&L,PolyArray a,int n) //尾插法建表 { PolyNode *s,*r;int i; L=(PolyNode *)malloc(sizeof(PolyNode)); //创建头结点 L->next=NULL; r=L; //r始终指向终端结点,开始时指向头结点for (i=0;i

01多项式的概念

01多项式的概念 多项式的概念 一、代数式的有关概念. 1.代数式:代数式是由运算符号(加、减、乘、除、乘方、开方)把数或表示数的字母连结而成的式子.单独的一个数或者一个字母也是代数式. 2.代数式的值;用数值代替代数式里的字母,计算后所得的结果叫做代数式的值. 求代数式的值可以直接代入、计算.如果给出的代数式可以化简,要先化简再求值. 3.代数式的分类 2.整式的有关概念 二、单项式 1.单项式的概念:数与字母的乘积这样的代数式叫做单项式,包括以下几类: ⑴单独的一个数,如56; ⑵单独的一个字母,如a; ⑶数与字母的乘积,如3b; ⑷字母与字母的乘积,如abc。 ⑸【注意事项】是数,不是字母;②分母不能包含字母 2.单项式的次数:一个单项式中,所有字母的指数和叫做这个单项式的次数。 【注意事项】单独一个非零数的次数是0。如5的次数是0 3.单项式的系数:单项式中的数字因数叫做单项式的系数。 【注意事项】①单个字母的系数是1.如:a的系数是1;②单项式的系数包括它前面的符号,如的系数是 三、多项式:几个单项式的和,叫做多项式 1.多项式的概念:几个单项式的和叫做哦多项式。 2.多项式的次数:在一个多项式中,次数最高的项的次数叫做这个多项式的次数。 3.多项式的项数:多项式中单项式的个数叫做多项式的项数。

4.多项式的降幂排列与升幂排列 把一个多项式按某一个字母的指数从大到小的顺序排列起来,叫做把这个多项式按这 个字母降幂排列把—个多项式按某一个字母的指数从小到大的顺序排列起来,叫做把这 个多项式技这个字母升幂排列, 给出一个多项式,要会根据要求对它进行降幂排列或升幂排列. 四、同类项 1.概念:所含的字母相同,且相同字母的指数也相同的单项式叫做同类项.几个常 数项也是同类项 2.合并同类项 ⑴概念:把多项式中的同类项合并成一项,叫做合并同类项.一个多项式合并后含有 几项,这个多项式就叫做几项式. ⑵法则归纳:把同类项的系数相加的结果作为合并后的系数,字母和字母的指数不变. ⑶注意事项: ①如果多项式中项数较多、较复杂时,可在同类项上标注记号,便于认清同类项,做 到不遗漏、不重复. ②所有常数项都是同类项,都可进行合并 【例题1】说出下列单项式中各字母的的次数和系数 ⑴5ax2y 【例题2】指出下列多项式的项数、次数 【例题3】 ⑴如果是关于x、y的单项式,且系数为2,次数为3,则a、b分别是多少? ⑵如果多项式的次数为4次,且有三项,则m为多少? 22⑶如果多项式不含xy的项,求:的值 设

多项式的运算(c语言实现)

#include"stdio.h" #include"stdlib.h" #include"conio.h" typedef struct Item{ double coef;//系数 int expn;//指数 struct Item *next; }Item,*Polyn; #define CreateItem(p) p=(Item *)malloc(sizeof(Item)); #define DeleteItem(p) free((void *)p); /************************************************************/ /* 判断选择函数 */ /************************************************************/ int Select(char *str) { char ch; printf("%s\n",str); printf("Input Y or N:"); do{ ch=getch(); }while(ch!='Y'&&ch!='y'&&ch!='N'&&ch!='n'); printf("\n"); if(ch=='Y'||ch=='y') return(1); else return(0); } /************************************************************/ /* 插入位置定位函数 */ /**************************************************************/ int InsertLocate(Polyn h,int expn,Item **p) { Item *pre,*q; pre=h; q=h->next; while(q&&q->expnnext; } if(!q) { *p=pre; return(1); } else if(q->expn==expn) { *p=q; return(0); } else { *p=pre; return(-1); } } /************************************************************/ /* 插入结点函数 */ /************************************************************/ void insert(Item *pre,Item *p) {

数据结构一元多项式的计算

课程设计成果 学院: 计算机工程学院班级: 13计科一班 学生姓名: 学号: 设计地点(单位): 设计题目:一元多项式的计算 完成日期:年月日 成绩(五级记分制): _________________ 教师签名:_________________________ 目录 1 需求分析 ......................................................................... 错误!未定义书签。 2 概要设计 ......................................................................... 错误!未定义书签。 2.1一元多项式的建立 ............................................................... 错误!未定义书签。 2.2显示一元多项式 ................................................................... 错误!未定义书签。 2.3一元多项式减法运算 ........................................................... 错误!未定义书签。 2.4一元多项式加法运算 ........................................................... 错误!未定义书签。 2.5 设计优缺点.......................................................................... 错误!未定义书签。3详细设计 .......................................................................... 错误!未定义书签。 3.1一元多项式的输入输出流程图........................................... 错误!未定义书签。 3.2一元多项式的加法流程图................................................... 错误!未定义书签。 3.3一元多项式的减法流程图.................................................. 错误!未定义书签。 3.4用户操作函数....................................................................... 错误!未定义书签。4编码 .................................................................................. 错误!未定义书签。5调试分析 .......................................................................... 错误!未定义书签。4测试结果及运行效果...................................................... 错误!未定义书签。5系统开发所用到的技术.................................................. 错误!未定义书签。参考文献 ............................................................................. 错误!未定义书签。附录全部代码................................................................... 错误!未定义书签。

C语言一元多项式计算

C语言一元多项式计算集团标准化工作小组 #Q8QGGQT-GX8G08Q8-GNQGJ8-MHHGN#

#include <> #include <> #include <> #define LEN sizeof(node) //结点构造 typedef struct polynode { int coef; //系数 int exp; //指数 struct polynode *next; }node; node * create(void) { node *h,*r,*s; int c,e; h=(node *)malloc(LEN); r=h; printf("系数:"); scanf("%d",&c); printf("指数:"); scanf("%d",&e); while(c!=0) { s=(node *)malloc(LEN); s->coef=c; s->exp=e; r->next=s; r=s; printf("系数:"); scanf("%d",&c); printf("指数:"); scanf("%d",&e); } r->next=NULL; return(h);

} void polyadd(node *polya, node *polyb) { node *p,*q,*pre,*temp; int sum; p=polya->next; q=polyb->next; pre=polya; while(p!=NULL&&q!=NULL) { if(p->exp>q->exp) { pre->next=p; pre=pre->next; p=p->next; } else if(p->exp==q->exp) { sum=p->coef+q->coef; if(sum!=0) { p->coef=sum; pre->next=p;pre=pre->next;p=p->next; temp=q;q=q->next;free(temp); } else { temp=p->next;free(p);p=temp; temp=q->next;free(q);q=temp; } } else { pre->next=q; pre=pre->next; q=q->next; } } if(p!=NULL) pre->next=p; else pre->next=q; } void print(node * p) {

知识点008 代数式整式及单项式多项式的有关概念

一、选择题 1. (2011盐城,4,3分)已知a ﹣b =1,则代数式2a ﹣2b ﹣3的值是( ) A .﹣1 B .1 C .﹣5 D .5 考点:代数式求值. 专题:计算题. 分析:将所求代数式前面两项提公因式2,再将a ﹣b =1整体代入即可. 解答:解:∵a ﹣b =1,∴2a ﹣2b ﹣3=2(a ﹣b )﹣3=2×1﹣3=﹣1.故选A . 点评:本题考查了代数式求值.关键是分析已知与所求代数式的特点,运用整体代入法求解. 2. (2011?台湾8,4分)若(7x ﹣a )2=49x 2﹣bx+9,则|a+b|之值为何( ) A 、18 B 、24 C 、39 D 、45 考点:完全平方公式;代数式求值。 专题:计算题。 分析:先将原式化为49x 2﹣14ax+a 2=49x 2﹣bx+9,再根据各未知数的系数对应相等列出关于a 、b 的方程组,求出a 、b 的值代入即可. 解答:解:∵(7x ﹣a )2=49x 2﹣bx+9, ∴49x 2﹣14ax+a 2=49x 2﹣bx+9, ∴???=-=-9 142a b a , 解得? ??-=-=???==423423b a b a 或, 当a=3,b=42时,|a+b|=|3+42|=45; 当a=﹣3,b=﹣42时,|a+b|=|﹣3﹣42|=45; 故选D . 点评:本题是一个基础题,考查了完全平方公式以及代数式的求值,要熟练进行计算是解此题的关键. 3. (2011?湘西州)当a=3,b=2时,a 2+2ab+b 2的值是( ) A 、5 B 、13 C 、21 D 、25 考点:代数式求值;完全平方公式。 专题:计算题。 分析:先运用完全平方公式将a 2+2ab+b 2变形为:(a+b )2,再把a 、b 的值代入即可. 解答:解:a 2+2ab+b 2=(a+b )2, 当a=3,b=2时, 原式=(3+2)2=25, 故选:D . 点评:此题考查的是代数式求值,并渗透了完全平方公式知识,关键是运用完全平方公式先将原式因式分解再代入求值. 4. (2011海南,5,3分)“比a 的2倍大1的数”用代数式表示是( ) A .2(a +1) B .2(a -1) C .2a +1 D .2a -1 考点:列代数式。 分析:由题意按照描述列式子为2a +1,从选项中对比求解. 解答:解:由题意按照描述列下式子:2a +1 故选C . 点评:解决问题的关键是读懂题意,找到所求的量的等量关系.

一元多项式的运算

数据结构课程设计实验报告 专业班级: 学号: 姓名: 2011年1月1日

题目:一元多项式的运算 1、题目描述 一元多项式的运算在此题中实现加、减法的运算,而多项式的减法可以通过加法来实现(只需在减法运算时系数前加负号)。 在数学上,一个一元n次多项式P n(X)可按降序写成: P n(X)= P n X^n+ P(n-1)X^(n-1)+......+ P1X+P0 它由n+1个系数惟一确定,因此,在计算机里它可以用一个线性表P来表示: P=(P n,P(n-1),......,P1,P0) 每一项的指数i隐含在其系数P i的序号里。 假设Q m(X)是一元m次多项式,同样可以用一个线性表Q来表示: Q=(q m,q(m-1),.....,q1,q0) 不是一般性,假设吗吗m

一元多项式计算器

一元多项式计算器 目录 摘要 (1) 1绪论 (1) 2系统分析 (1) 2.1功能需求 (1) 2.2数据需求 (1) 2.3性能需求 (1) 3总体设计 (2) 3.1系统设计方案 (2) 3.2功能模块设计 (2) 4详细设计 (3) 4.1建立多项式 (4) 4.2多项式相加 (4) 4.3多项式相减 (5) 4.4多项式相乘 (5) 4.5计算器主函数 (6) 5调试与测试 (7) 5.1调试 (7) 5.2测试 (8) 6结论 (9) 结束语 (9) 参考文献 (9) 附录1-用户手册 (10) 附录2-源程序 (12)

摘要 随着生活水平的提高,现代科技也日益发达。日常生活中多位计算再所难免,因此设计一个简单计算器可解决许多不必要的麻烦。 开发这样一个程序主要运用了C的结点,链表等方面知识。系统主要实现了多项式的建立,多项式的输入输出,以及多项式加减乘等运算。 报告主要从计算器的程序段,对输入输出数据的要求,计算器的性能,以及总体的设计来介绍此计算器程序的实现过程。 关键词:多项式;链表;结点 1绪论 随着日益发达的科技,计算器已应用于各行各业。设计一个计算器需要运用C中多方面知识,更是以多项式的建立,输入输出,以及结点,链表为主。(扩充) 任务书。。。。。 2系统分析 2.1 功能需求 多项式的建立多项式输入输出多项式加减乘等运算 2.2数据需求 在输入过程中,首先要确定输入的数据,数据不能是字母,只能是数字。不能连续输入数据,必须按要求配以空格输入要计算的数据。 (1) 链节节点数字 (2) 数字 2.3 性能需求 系统必须安全可靠,不会出现无故死机状态,速度不宜过慢。

单项式多项式概念讲解

单项式与多项式的概念 1、单项式的有关概念 (1) 单项式:由数与字母或字母与字母相乘组成的代数式。单独的一个数或字母...也叫做单 2 3 项式。例如:3a,-m n,abx,4x ,9, a 注意:单项式不含加减运算,只含字母与字母或字母的乘法(包括乘方)运算 1 (2) 单项式的系数:单项式中数字 因数叫做这个单项式的系数。 例如:单项式丄x 2y,-7xy 2 2 1 的系数分别是 —,-7,当单项式系数是 1或—1时,“ 1”通常省略不写,如 ab 就是1 ab , 2 系数是1 ; - n 就是-1 n ,系数是—1. (3) 单项式的次数(指数):一个单项式中,所有字母的指数的和叫做这个单项式的次数。 如4x 的次数是1, 3x 2y 3 z 的次数是2+3+1 = 6;数学的次数是 0,女口 3, — 9等可以当作0 次单项 式。 1 1 一个单项式的次数是几就叫做几次单项式, 如—a 2b 2中,a 与b 的指数和为4,则-a 2b 2 是 3 3 四次单项式。 例1:指出下列各单项式的系数和次数 2、多项式的有关概念 (1) 多项式:几个单项式的和叫做多项式。其中,每个单项式叫做多项式的项,不含字母 的项叫做常数项。女口 3x 2 -2x ? 5是多项式,它的项分别是 3x 2 ,- 2x 和5,其中5是常数 项。 (2 )多项式的次数:多项式里次数最高的项的次数就是这个多项式的次数。如 2y 4 -3x 2 2的次为是3,即“ 2x 3 ”的次数。一个多项式中含有几项,最高次数是几次就 -a ,5ab 2, a 2bc 3 , 3 提示:圆周率 二是常数,当单项式中含有 数时应注意不要加上二的指数。 二时,二是单项式的系数,且在计算单项式的次

一元多项式计算(数据结构课程设计)

一元多项式计算(数据结构课程设计)

一、系统设计 1、算法思想 根据一元多项式相加的运算规则:对于两个一元多项式中所有指数相同的项,对应指数相加(减),若其和(差)不为零,则构成“和(差)多项式”中的一项;对于两个一元多项式中所有指数不相同的项,则分别写到“和(差)多项式”中去。 因为多项式指数最高项以及项数是不确定的,因此采用线性链表的存储结构便于实现一元多项式的运算。为了节省空间,我采用两个链表分别存放多项式a 和多项式b,对于最后计算所得的多项式则利用多项式a进行存储。主要用到了单链表的插入和删除操作。

(1)一元多项式加法运算 它从两个多项式的头部开始,两个多项式的某一项都不为空时,如果指数相等的话,系数就应该相加;相加的和不为零的话,用头插法建立一个新的节点。P 的指数小于q的指数的话就应该复制q的节点到多项式中。P的指数大于q的指数的话,就应该复制p节点到多项式中。当第二个多项式空,第一个多项式不为空时,将第一个多项式用新节点产生。当第一个多项式空,第二个多项式不为空时,将第二个多项式用新节点产生。 (2)一元多项式的减法运算 它从两个多项式的头部开始,两个多项式的某一项都不为空时,如果指数相等的话,系数就相减;相加的和不为零的话,用头插法建立一个新的节点。p的指数小于q的指数的话,就应该复制q的节点到多项式中。P的指数大于q的指数的话就应该复制p的节点到多项式中,并且建立的节点的系数为原来的相反数;当第二个多项式空,第一个多项式不为空时,将第一个多项式用新节点产生。当第一个多项式空,第二个多项式不为空时,将第二个多项式用新节点产生,并且建立的节点的系数为原来的相反数。 2、概要设计 (1)主函数流程图: (注:a代表第一个一元二次方程,b代表第二个一元二次方程)

多项式概念及整式加减运算——(2)

多项式概念及整式加减运算 一、多项式概念: 1、概念:几个单项式的和 2、多项式的项:多项式中的每个单项式,包括它前面的符号。 3、多项式的次数:多项式中次数最高项的次数。它与单项式的次数不同。 巩固练习: 1、分别说出下列多项式中的每一项以及这个多项式的次数。 ⑴753423--+-xy y x x ⑵x 3+3x 2 y ⑶-31y 3+72xy 2+3x 2y-54x 3 2、4x 2-5x 2+7x 3-6+8x 是____次____项式,其中常数项是_____ 二、多项式的排列: 多项式的排列分升幂排列和降幂排列两种 如:将3x 2y - 54x 3+72xy 2-31y 3按x 的降幂排列是____ __,按y 的降幂排列是__ ___. 巩固练习: 将-6x 3+671 xy 2+25 x 2y -25y 3. 按x 的降幂排列是____ __,按y 的降幂排列是__ ___. 三、合并同类项: 1、同类项的条件:两相同:①字母、②指数相同; 两无关:①与系数无关;②与字母顺序无关. 2、合并同类项的方法:合并同类项,系数全加上;字母和指数,全都不变样。 3、去括号:去括号法则。 例题1:下列各组单项式中,不是同类项的是( ) (A)5x 与x (B)4xy 2与-4y 2x (C)76 x 5y 与76 x 5 (D)4与-4 例题2:合并同类项 ⑴= -++-)7()35(x y y x ⑵m +n -(m -n) ⑶(2a+b+c )-2(a -b -c ) 巩固练习: 1、)22()24(33xy x x yx xy +-+-- 2、()[]{}y x x y x --+--32332 3、()[]x y x y x x -++--22 4、-3a 2-[-a 2+(-2a)2]-2a 4、多项式3x 2y -3xy 2加上多项式x 3-3x 2y 得( ) A.x 3+3xy 2; B. x 3-3xy 2 ; C.x 3-3x 2y; D.x 3+3x 2y 5、已知A=2221 43b ab a -+,B=ab a 252 -,且2A -B+C=0,则C= 。 6、若a -b=2,a+c=6,则(2a+b+c )-2(a -b -c )= 。 7、求代数式2〔mn +(-3m)〕-3(2n -mn)的值,其中m +n=2,mn=-3. 8、一个多项式减去235m mn +得mn n 422--,求这个多项式。

单项式多项式概念讲解

单项式与多项式的概念 1、单项式的有关概念 (1)单项式:由数与字母或字母与字母相乘组成的代数式。单独的一个数或字母.........也叫做单项式。例如:a x abx n m a ,9,4,,,33 2 - 注意:单项式不含加减运算,只含字母与字母或字母的乘法(包括乘方)运算 (2)单项式的系数:单项式中数字因数叫做这个单项式的系数。例如:单项式22 7,2 1xy y x -的系数分别是 7,2 1 -,当单项式系数是1或-1时,“1”通常省略不写,如ab 就是ab ?1,系数是1;n -就是n ?-1,系数是-1. (3)单项式的次数(指数):一个单项式中,所有字母的指数的和叫做这个单项式的次数。如x 4的次数是1,z y x 3 2 3的次数是2+3+1=6;数学的次数是0,如3,-9等可以当作0次单项式。 一个单项式的次数是几就叫做几次单项式,如2 23 1 b a 中,a 与b 的指数和为4,则2 23 1b a 是四次单项式。 例1:指出下列各单项式的系数和次数 7 ,,5,33 2322y x bc a ab a π- 提示:圆周率π是常数,当单项式中含有π时,π是单项式的系数,且在计算单项式的次数时应注意不要加上π的指数。 2、多项式的有关概念 (1)多项式:几个单项式的和叫做多项式。其中,每个单项式叫做多项式的项,不含字母的项叫做常数项。如5232 +-x x 是多项式,它的项分别是2 3x ,x 2-和5,其中5是常数项。 (2)多项式的次数:多项式里次数最高的项的次数就是这个多项式的次数。如 23224+-x y 的次为是3,即“32x ”的次数。一个多项式中含有几项,最高次数是几次就 叫几次几项式。如6623 4 +-y y 叫做四次三项式。

一元多项式的计算数据结构课程设计

一元多项式的计算—加,减 摘要(题目)一元多项式计算 任务:能够按照指数降序排列建立并输出多项式; 能够完成两个多项式的相加、相减,并将结果输入; 目录 1.引言 2.需求分析 3.概要设计 4.详细设计 5.测试结果 6.调试分析 7.设计体会 8.结束语 一:引言: 通过C语言使用链式存储结构实现一元多项式加法、减法和乘法的运算。按指数

降序排列。 二:需求分析 建立一元多项式并按照指数降序排列输出多项式,将一元多项式输入并存储在内存中,能够完成两个多项式的加减运算并输出结果 三:概要设计 存储结构:一元多项式的表示在计算机内可以用链表来表示,为了节省存储空间,只存储多项式中系数非零的项。链表中的每一个结点存放多项式的一个系数非零项,它包含三个域,分别存放该项的系数、指数以及指向下一个多项式项结点的指针。创建一元多项式链表,对一元多项式的运算中会出现的各种可能情况进行分析,实现一元多项式的相加、相减操作。 1.单连表的抽象数据类型定义: ADT List{ 数据对象:D={ai|ai∈ElemSet,i=1,2,…,n,n≥0} 数据关系:R1={| ai-1, ai∈D,i=2,…,n} 基本操作: InitList(&L) //操作结果:构造一个空的线性表 CreatPolyn(&L) //操作结果:构造一个以单连表存储的多项试 DispPolyn(L) //操作结果:显示多项试 Polyn(&pa,&pb) //操作结果:显示两个多项试相加,相减的结果 } ADT List 2.本程序包含模块: typedef struct LNode //定义单链表 { }LNode,*LinkList; void InitList(LinkList &L) //定义一个空表 { } void CreatPolyn(LinkList &L) //用单链表定义一个多项式 { } void DispPolyn(LinkList L) //显示输入的多项式

单项式多项式概念与练习

4.4 整式课题 4.4 整式课时安排 1 教学目标 (1)掌握单项式,单项式的系数、次数的概念; (2) 多项式,多项式的项、次数,常数项的概念及整式的概念。 重点单项式、多项式、整式的判断。 难点单项式、多项式及整式概念之间的区别及联系。 教具准备多媒体,投影仪 教学过程一、新课引入 思考并回答下面的问题 ⑴ 2 2 3 3,2,, 4 xy x a ab - -这些代数式是怎样组成的?有什 么共同特点? ⑵222 34,32,3 x y a a a b -++--+这些代数式是怎样 组成的?和第⑴题中代数式相比有什么特点? 二、新课过程 单项式;由数与字母或字母与字母相乘组成的代数式叫做 单项式,单独一个数或字母也叫做单项式,如0,1,a - 单项式的系数:单项式中的数字因数叫做这个单项式的系 数; 单项式的次数:一个单项式中,所有字母的指数的和叫做 这个单项式的次数; 多项式:由几个单项式相加组成的代数式叫做多项式; 多项式的项:在多项式中,每个单项式叫做多项式的项, 不含字母的项叫做常数项; 多项式的次数:次数最高的项的次数就是这个多项式的次 数; 整式:单项式、多项式统称为整式。 课后反馈教学过程

2r r 注意:特别强调1,x y x x y -+等分母含有字母的代数式不是整式。 三、课内练习 1 、2223251,,3,,0,,,,2,533x x y x y a b m n x xy ab x y -+-+-----中,哪些是整式?哪些是单项式?哪些是多项式? 2、多项式236331 57628x y x x y ---是 次多项式,其 中第三项的系数是 。 3、半径为R 的圆的面积和边长为a 的正方形的面积和是 ,它是 次多项式。 四、典例分析 一个花坛的形状如图,它的两端是半径相等的半圆 ⑴求花坛的周长l ⑵花坛的面积S 解:⑴花坛的周长22l a r π=+ ⑵花坛的面积22S ar r π=+ 想一想: 222,2a r ar r ππ++分别是几 次多项式?分别由哪些项组成?每一项的系数 是多少? 变题练习 一个窗框的形状如图,已知窗框的周长为 l ,半圆的半径为r ; ⑴用关于,l r 的代数式表示该窗框的透光面积(窗框材料的宽度不计)?这个代数式是整式吗? ⑵如果周长l 为10cm ,π取3.14,用关于r 的代数式表示窗户的透光面积;当1,r m = 1.5,m 2m 时,窗户的透光面积怎样变化?你有什么发现? 五、反馈练习 见P103,课内练习。 六、合作学习 有长为l 的篱笆,利用它和房屋的一面墙围成如图形状的园 子,园子的宽t ; ⑴用关于,l t 的代数式表示园子的面积; ⑵当100,30l m t m ==时,求园子的面积。 a r t

相关主题
文本预览
相关文档 最新文档