一类一元多项式的标准分解式的解法

一类一元多项式的标准分解式的解法
一类一元多项式的标准分解式的解法

摘要:本文介绍了两种分解一元多项式的方法,利用其可求出一些一元多项式的标准分解式。

关键词:因式分解标准分解式重因式

多项式理论是《高等代数》中的重要组成部分,标准分解式是因式分解理论中的重要表现形式,而很多教材对标准分解式的方法很少涉及。从理论上说数域p上任意一个次数≥1的一元多项式都可以唯一地分解成一些不可约多项式的乘积,但实际上对于任意一个给定的多项式,要具体地作出它的分解式是一个很复杂的过程,甚至连一个一般可行的方法都是不存在的。下面笔者从解有理根、求重因式两个方面来谈求某些一元多项式的标准分解式。

1定义

多项式f(x)的因式分解式:

2解有理根

此定理文[1]中已经证明。

解:由上述定理知1,-2是f(x)的有理根,

结束语

虽然上面给出了两种求一元多项式标准分解式的方法,但它们的使用是有局限性的。如第一种方法必须有有理根,第二种方法必须有重因式,即f(x)与f′(x)不互素。

在实际使用中,两种方法往往综合使用,这样才能准确而又迅速地解决问题。

参考文献:

[1]北京大学数学系.高等代数(第三版)[m].北京:高等教育出版社,2003年.

注:“本文中所涉及到的图表、注解、公式等内容请以pdf格式阅读原文。

初中数学-多项式乘以多项式练习

初中数学-多项式乘以多项式练习 一、选择题 计算(2a-3b)(2a+3b)的正确结果是( ) A.4a2+9b2 B.4a2-9b2 C.4a2+12ab+9b2 D.4a2-12ab+9b2 若(x+a)(x+b)=x2-kx+ab,则k的值为( ) A.a+b B.-a-b C.a-b D.b-a 计算(2x-3y)(4x2+6xy+9y2)的正确结果是( ) A.(2x-3y)2 B.(2x+3y)2 C.8x3-27y3 D.8x3+27y3 (x2-px+3)(x-q)的乘积中不含x2项,则( ) A.p=q B.p=±q C.p=-q D.无法确定 若0<x<1,那么代数式(1-x)(2+x)的值是( ) A.一定为正B.一定为负C.一定为非负数D.不能确定计算(a2+2)(a4-2a2+4)+(a2-2)(a4+2a2+4)的正确结果是( ) A.2(a2+2) B.2(a2-2) C.2a3 D.2a6 方程(x+4)(x-5)=x2-20的解是( ) A.x=0 B.x=-4 C.x=5 D.x=40 若2x2+5x+1=a(x+1)2+b(x+1)+c,那么a,b,c应为( ) A.a=2,b=-2,c=-1 B.a=2,b=2,c=-1 C.a=2,b=1,c=-2 D.a=2,b=-1,c=2 若6x2-19x+15=(ax+b)(cx+d),则ac+bd等于( ) A.36 B.15 C.19 D.21 (x+1)(x-1)与(x4+x2+1)的积是( ) A.x6+1 B.x6+2x3+1 C.x6-1 D.x6-2x3+1 二、填空题 (3x-1)(4x+5)=_________. (-4x-y)(-5x+2y)=__________. (x+3)(x+4)-(x-1)(x-2)=__________. (y-1)(y-2)(y-3)=__________.

一元多项式加减乘除运算

中国计量学院实验报告 实验课程:算法与数据结构实验名称:一元二项式班级:学号: 姓名:实验日期: 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、提公因法 如果一个多项式的各项都含有公因式,那么就可以把这个公因式提出来,从而将多项式化成两个因式乘积的形式。 例1、分解因式x -2x -x(2003淮安市中考题) x -2x -x=x(x -2x-1) 2、应用公式法 由于分解因式与整式乘法有着互逆的关系,如果把乘法公式反过来,那么就可以用来把某些多项式分解因式。 例2、分解因式a +4ab+4b (2003南通市中考题) 解:a +4ab+4b =(a+2b) 3、分组分解法 要把多项式am+an+bm+bn分解因式,可以先把它前两项分成一组,并提出公因式a,把它后两项分成一组,并提出公因式b,从而得到a(m+n)+b(m+n),又可以提出公因式m+n,从而得到(a+b)(m+n) 例3、分解因式m +5n-mn-5m 解:m +5n-mn-5m= m -5m -mn+5n = (m -5m )+(-mn+5n) =m(m-5)-n(m-5)

=(m-5)(m-n) 4、十字相乘法 对于mx +px+q形式的多项式,如果a×b=m,c×d=q且ac+bd=p,则多项式可因式分解为(ax+d)(bx+c) 例4、分解因式7x -19x-6 分析: 1 -3 7 2 2-21=-19 解:7x -19x-6=(7x+2)(x-3) 5、配方法 对于那些不能利用公式法的多项式,有的可以利用将其配成一个完全平方式,然后再利用平方差公式,就能将其因式分解。 例5、分解因式x +3x-40 解x +3x-40=x +3x+( ) -( ) -40 =(x+ ) -( ) =(x+ + )(x+ - ) =(x+8)(x-5) 6、拆、添项法 可以把多项式拆成若干部分,再用进行因式分解。 例6、分解因式bc(b+c)+ca(c-a)-ab(a+b) 解:bc(b+c)+ca(c-a)-ab(a+b)=bc(c-a+a+b)+ca(c-a)-ab(a+b) =bc(c-a)+ca(c-a)+bc(a+b)-ab(a+b)

多项式×多项式教案

教学过程设计

(-x+3) 中的每一项,计算可得:-2x2+6x+x-3 . 例 1 计算: (1)(x+2y)(5a+3b); (2)(2x-3)(x+4); (3)(x+y)2; (4)(x+y)(x2-xy+y2) 解:(1)(x+2y)(5a+3b) =x·5a+x·3b+2y·5a+2y·3b =5ax+3bx+10ay+6by; (2)(2x-3)(x+4) =2x2+8x-3x-12 =2x2+5x-12 (3)(x+y)2 =(x+y)(x+y) =x2+xy+xy+y2 =x2+2xy+y2; (4)(x+y)(x2-xy+y2) =x3-x2y+xy2+x2y-xy2+y3 =x3+y3 结合例题讲解,提醒学生在解题时要注意:(1)解题书写和格式的规范性;(2)注意总结不同类型题目的解题方法、步骤和结果;(3)注意各项的符号,并要注意做到不重复、不遗漏 三、课堂训练 1.计算: (1)(m+n)(x+y);

教学程序及教学内容 (2)(x-2z)2; (3)(2x+y)(x-y) 2.选择题: (2a+3)(2a-3)的计算结果是( ) (A)4a2+12a-9 (B)4a2+6a-9 (C)4a2-9 (D)2a2-9 3.判断题: (1)(a+b)(c+d)=ac+ad+bc; ( ) (2)(a+b)(c+d)=ac+ad+ac+bd; ( ) (3)(a+b)(c+d)=ac+ad+bc+bd; ( ) (4)(a-b)(c-d)=ac+ad+bc-ad( ) 4.长方形的长是(2a+1),宽是(a+b),求长方形的面积。 5.计算: (1)(xy-z)(2xy+z); (2)(10x3-5y2)(10x3+5y2) 6.计算: (1)(3a-2)(a-1)+(a+1)(a+2); (2)(3x+2)(3x-2)(9x2+4) 四、小结归纳 启发引导学生归纳本节所学的内容: 1.多项式的乘法法则: (a+b)(m+n)=am+an+bm+bn 2.解题(计算)步骤(略)。 3.解题(计算)应注意:(1)不重复、不遗漏;(2)符号问题。五、作业设计注意根据信息反馈,及时提醒学生正确运用多项式的乘法法则,注意例题讲解时总结的三条。 学生应用:多项式与多项式相乘,就是先用一个多项式中的每一项去乘另一个多项式的每一项,再把所得的积相加. 学生认真计算,教师订正。 学生回答,教师点评。

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

数据结构中实现一元多项式简单计算: 设计一个一元多项式简单的计算器。 基本要求: 一元多项式简单计算器的基本功能为: (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

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

一元多项式的计算—加,减 摘要(题目)一元多项式计算 任务:能够按照指数降序排列建立并输出多项式; 能够完成两个多项式的相加、相减,并将结果输入; 目录 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) //显示输入的多项式

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

课程设计成果 学院: 计算机工程学院班级: 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系统开发所用到的技术.................................................. 错误!未定义书签。参考文献 ............................................................................. 错误!未定义书签。附录全部代码................................................................... 错误!未定义书签。

数据结构一元多项式报告

一元多项式计算: 程序要求: 1)、能够按照指数降序排列建立并输出多项式; 2)、能够完成两个多项式的相加、相减,并将结果输入。 概要设计: 1.功能:将要进行运算的多项式输入输出。 2.数据流入:要输入的多项式的系数与指数。 3.数据流出:合并同类项后的多项式。 4.程序流程图:多项式输入流程图如图3.2.1所示。 5.测试要点:输入的多项式是否正确,若输入错误则重新输入 2、多项式的加法 (1)功能:将两多项式相加。 (2)数据流入:输入函数。 (3)数据流出:多项式相加后的结果。 (4)程序流程图:多项式的加法流程图如图3.2.2所示。 (5)测试要点:两多项式是否为空,为空则提示重新输入,否则,进行运算。

3、多项式的减法 (1)功能:将两多项式相减。 (2)数据流入:调用输入函数。 (3)数据流出:多项式相减后的结果。 (4)程序流程图:多项式的减法流程图如图3.2.3所示。 (5)测试要点:两多项式是否为空,为空则提示重新输入,否则,进行运算。

详细代码: #include #include #include using namespace std; struct Node { float coef;//结点类型 int exp; }; typedef Node polynomial;

struct LNode { polynomial data;//链表类型 LNode *next; }; typedef LNode* Link; void CreateLink(Link &L,int n); void PrintList(Link L); void PolyAdd(Link &pc,Link pa,Link pb); void PolySubstract(Link &pc,Link pa,Link pb); void CopyLink(Link &pc,Link pa); void PolyMultiply(Link &pc,Link pa,Link pb); int JudgeIfExpSame(Link pa,Link e); void DestroyLink(Link &L); int CompareIfNum(int i); void DestroyLink(Link &L) { Link p; p=L->next; while(p) { L->next=p->next; delete p; p=L->next; } delete L; L=NULL; } //创建含有n个链表类型结点的项,即创建一个n项多项式void CreateLink(Link &L,int n) { if(L!=NULL) { DestroyLink(L); } Link p,newp; L=new LNode; L->next=NULL; (L->data).exp=-1;//创建头结点 p=L; for(int i=1;i<=n;i++) { newp=new LNode; cout<<"请输入第"<

多项式的因式分解

1.1 多项式的因式分解 教学目标 1.了解分解因式的意义,以及它与整式乘法的相互关系. 2.感受因式分解在解决相关问题中的作用. 3.通过因式分解培养学生逆向思维的能力。 重点与难点 重点:理解分解因式的意义,准确地辨析整式乘法与分解因式这两种变形。 难点:对分解因式与整式关系的理解 教学过程 一、创设情境,导入新课 1 回顾整式乘法和乘法公式 填空:计算:(1)2ab(3a+4b-1)=_________, (2)(a+2b)(2a-b)=__________ (3)(x-2y)(x+2y)=__________;(4)错误!未找到引用源。=_____________ (5) 错误!未找到引用源。=________ 2 你会解方程:错误!未找到引用源。吗? 估计学生会想到两种做法:(1)一是用平方根的定义,(2)二是:解:(x+1)(x-1)=0,根据两个因式相乘等于0,必有一个因式等于0,得到:x+1=0或者x-1=0,因此:得x=1或-1 指出:把错误!未找到引用源。叫因式分解,为什么要把一个多项式因式分解呢?这节课我们来学习这个问题。 二合作交流,探究新知 1 因式的概念 (1)说一说:6=2×___, 错误!未找到引用源。, (2)指出:对于6与2,有整数3使得6=2×3,我们把2叫6的一个因数,同理,3也是6的一个因数。 类似的:对于整式错误!未找到引用源。与x+2,有整式x-1使得错误!未找到引用源。,我们把x+2叫多项式错误!未找到引用源。的一个因式,同理,x-2也叫多项式错误!未找到引用源。的一个因式。 你能说说什么叫因式吗? 一般地,对于两个多项式f与g,如果有多项式h使得f=gh,那么我们把g叫f 的一个因式,同样,h也是f的一个因式。 (3)考考你:你能说出下面多项式有什么因式吗? A ab+ac, B 错误!未找到引用源。 C 错误!未找到引用源。 D 错误!未找到引用源。 2 因式分解的概念 (1)指出;一般地,把一个含字母的多项式表示成若干个均含字母的多项式的乘积的形式,称为把这个多项式因式分解。

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) {

数据结构——一元多项式的建立与相加

#include #include using namespace std; typedef struct PolyNode { int coef; //系数 int expn; //指数 struct PolyNode *next; } *PNode; //多项式结点的指针 void InitPoly(PNode &head,PNode &p) { head=(PNode)malloc(sizeof(struct PolyNode)); head->next=NULL; head->coef=0; head->expn=-1; p=head; } void CreatePoly(PNode &head,int a,int n) { PNode s; s=(PNode)malloc(sizeof(struct PolyNode)); //建立新的结点s->coef=a; s->expn=n; s->next=NULL; head->next=s; head=s; } void PrintPoly(PNode head) { int i=1;//控制第一对系数指数的显示 head=head->next;//指向表头结点的下一个 PNode p; p=head; while ((p->next)!=NULL) { if(i) //显示第一对的时候是不需要显示加号的 { if (p->expn==1) cout<coef<<"x"; else if (p->expn==0) cout<coef<

else cout<coef<<"x^"<expn; i=0; } else { if (p->expn==1) cout<coef<<"+x"; else if (p->expn==0) cout<<"+"<coef<coef<<"x^"<expn; } p=p->next; } cout<next; pb=pb->next; p=pc; while (pa!=NULL && pb!=NULL) { if (pa->expn>pb->expn) { s=(PNode)malloc(sizeof(struct PolyNode)); s->coef=pa->coef; s->expn=pa->expn; s->next=NULL; p->next=s; p=s; pa=pa->next; } else if (pa->expnexpn) { s=(PNode)malloc(sizeof(struct PolyNode)); s->coef=pb->coef; s->expn=pb->expn; s->next=NULL; p->next=s; p=s; pb=pb->next; }

高中数学因式分解方法大全(十二种)

因式分解的十二种方法 把一个多项式化成几个整式的积的形式,这种变形叫做把这个多项式因式分解。因式分解的方法多种多样,现总结如下: 1、提公因法 如果一个多项式的各项都含有公因式,那么就可以把这个公因式提出来,从而将多项式化成两个因式乘积的形式。 例1、分解因式x -2x -x x -2x –x =x(x -2x-1) 2、应用公式法 由于分解因式与整式乘法有着互逆的关系,如果把乘法公式反过来,那么就可以用来把某些多项式分解因式。 例2、分解因式a +4ab+4b 解:a +4ab+4b =(a+2b) 3、分组分解法 要把多项式am+an+bm+bn分解因式,可以先把它前两项分成一组,并提出公因式a,把它后两项分成一组,并提出公因式b,从而得到a(m+n)+b(m+n),又可以提出公因式m+n,从而得到(a+b)(m+n) 例3、分解因式m +5n-mn-5m 解:m +5n-mn-5m= m -5m -mn+5n = (m -5m )+(-mn+5n) =m(m-5)-n(m-5) =(m-5)(m-n) 4、十字相乘法 对于mx +px+q形式的多项式,如果a×b=m,c×d=q且ac+bd=p,则多项式可因式分解为(ax+d)(bx+c) 例4、分解因式7x -19x-6 分析: 1 -3 7 2 2-21=-19 解:7x -19x-6=(7x+2)(x-3)

5、配方法 对于那些不能利用公式法的多项式,有的可以利用将其配成一个完全平方式,然后再利用平方差公式,就能将其因式分解。 例5、分解因式x +3x-40 解x +3x-40=x +3x+( ) -( ) -40 =(x+ ) -( ) =(x+ + )(x+ - ) =(x+8)(x-5) 6、拆、添项法 可以把多项式拆成若干部分,再用进行因式分解。 例6、分解因式bc(b+c)+ca(c-a)-ab(a+b) 解:bc(b+c)+ca(c-a)-ab(a+b) =bc(c-a+a+b)+ca(c-a)-ab(a+b) =bc(c-a)+ca(c-a)+bc(a+b)-ab(a+b) =c(c-a)(b+a)+b(a+b)(c-a) =(c+b)(c-a)(a+b) 7、换元法 有时在分解因式时,可以选择多项式中的相同的部分换成另一个未知数,然后进行因式分解,最后再转换回来。 例7、分解因式2x -x -6x -x+2 解:2x -x -6x -x+2=2(x +1)-x(x +1)-6x =x [2(x + )-(x+ )-6 令y=x+ , x [2(x + )-(x+ )-6 = x [2(y -2)-y-6] = x (2y -y-10) =x (y+2)(2y-5) =x (x+ +2)(2x+ -5) = (x +2x+1) (2x -5x+2) =(x+1) (2x-1)(x-2) 8、求根法

人教版初二数学上册多项式乘式项式

14. 1. 4整式的乘法 多项式乘以多项式 教学目标: 知识与技能:经历探索多项式与多项式相乘的运算法则的过程,会进行整式相乘的运算。 过程与方法:在探索过程中,体会知识间的联系。 情感价值观:培养学生的分析解决问题的能力,使学生养成良好的学习习惯。教学重点:多项式与多项式相乘的运算法则的探索。 教学难点:灵活运用法则进行计算和化简。 教学方法:创设情境-主体探究-合作交流-应用提高。 媒体资源:多媒体投影 教学过程: 一、课前练习 师:前面我们学习了整式的乘法,快速做一做,看看你掌握的怎样? 计算:(1) -2x2 3xy2(2) -2x(1 - x) . 2 2 4 (3)x 4x x (4)(4x x-1) 9x 生:交流答案 师:同学们看这道题怎样做?(a+b)(p+q)和我们以前所学的有何不同?生:现在是多项式乘多项式 师:那多项式乘多项式如何去计算呢?这节课我们一起来探究吧! 二、探求新知 创设情景引入新课: 为了扩大街心花园的绿地面积,把一块原长a米、宽p米的长方形绿地,增长了

b米,加宽了q米.你能用几种方法求出扩大后的绿地面积?

q f- 你能用不同的方法表示此长方形的面积吗? 计算方法一:是先计算大长方形的长和宽,然后利用长乘以宽得出大长方 形的面积,即(a+b) (p+q) 计算方法二:先分别求出四个长方形的面积,再求它们的和, 2 即(ap+aq+bp+bq 米 两种计算结果表示的是同一个量, 因此(a+b) (p+q)= ap+aq+bp+bq. 引导学生把其中一个因式a b看作一个整体,再利用乘法分配律来理(p+q) 与(a+b)相乘的结果,从而导出多项式与多项式相乘的法则。 三、归纳、小结多项式乘法法则 (1)文字叙述:多项式与多项式相乘,先用一个多项式的每一项分别乘以另一个 多项式的每一项,再把所得的积相加 (2)用字母表示 法则的形成是本节课的重点之一。在学生归纳法则的过程中,结合学生讨论的情况,播放法则的形成动画,并在此过程中进行启发讲解,让学生明白两个“每一项”的含义。

多项式因式分解的一般步骤

①如果多项式的各项有公因式,那么先提公因式; ②如果各项没有公因式,那么可尝试运用公式、十字相乘法来分解; ③如果用上述方法不能分解,那么可以尝试用分组、拆项、补项法来分解; ④分解因式,必须进行到每一个多项式因式都不能再分解为止。 也可以用一句话来概括:“先看有无公因式,再看能否套公式。十字相乘试一试,分组分解要合适。” 几道例题 1.分解因式(1+y)^2-2x^2(1+y^2)+x^4(1-y)^2. 解:原式=(1+y)^2+2(1+y)x^2(1-y)+x^4(1-y)^2-2(1+y)x^2(1-y)-2x^2(1+y^2)(补项) =[(1+y)+x^2(1-y)]^2-2(1+y)x^2(1-y)-2x^2(1+y^2)(完全平方) =[(1+y)+x^2(1-y)]^2-(2x)^2 =[(1+y)+x^2(1-y)+2x][(1+y)+x^2(1-y)-2x] =(x^2-x^2y+2x+y+1)(x^2-x^2y-2x+y+1) =[(x+1)^2-y(x^2-1)][(x-1)^2-y(x^2-1)] =(x+1)(x+1-xy+y)(x-1)(x-1-xy-y). 2.求证:对于任何实数x,y,下式的值都不会为33: x^5+3x^4y-5x^3y^2-15x^2y^3+4xy^4+12y^5. 解:原式=(x^5+3x^4y)-(5x^3y^2+15x^2y^3)+(4xy^4+12y^5) =x^4(x+3y)-5x^2y^2(x+3y)+4y^4(x+3y) =(x+3y)(x^4-5x^2y^2+4y^4) =(x+3y)(x^2-4y^2)(x^2-y^2) =(x+3y)(x+y)(x-y)(x+2y)(x-2y). (分解因式的过程也可以参看右图。) 当y=0时,原式=x^5不等于33;当y不等于0时,x+3y,x+y,x-y,x+2y,x-2y 互不相同,而33不能分成四个以上不同因数的积,所以原命题成立。 3..△ABC的三边a、b、c有如下关系式:-c^2+a^2+2ab-2bc=0,求证:这个三角形是等腰三角形。 分析:此题实质上是对关系式的等号左边的多项式进行因式分解。 证明:∵-c^2+a^2+2ab-2bc=0, ∴(a+c)(a-c)+2b(a-c)=0. ∴(a-c)(a+2b+c)=0. ∵a、b、c是△ABC的三条边, ∴a+2b+c>0. ∴a-c=0, 即a=c,△ABC为等腰三角形。 4.把-12x^2n×y^n+18x^(n+2)y^(n+1)-6x^n×y^(n-1)分解因式。 解:-12x^2n×y^n+18x^(n+2)y^(n+1)-6x^n×y^(n-1)

初中数学-多项式乘多项式练习

初中数学-多项式乘多项式练习 ◆随堂检测 1、多项式与多项式相乘,现用一个多项式的每一项乘另一个多项式的 ,再把所得的积 。 2、计算:=-?+)5()3(x x 。 3、)3)(3(+-ab ab 的计算结果是 。 ◆典例分析 例题:将一多项式[(17x 2-3x +4)-(ax 2 +bx +c )],除以(5x +6)后,得商式为(2x +1),余式为0。求a -b -c =? A .3 B .23 C .25 D .29 分析:①被除数=除数?商,②两个多项式相等即同类项的系数相等 解:∵ 6171016261525)12()65(2++=?+?+?+?=+?+x x x x x x x x ∵[(17x 2-3x +4)-(ax 2+bx +c )]=)4()3()17(2c x b x a -+--+- ∴=++617102x x )4()3()17(2c x b x a -+--+- ∴?????=-=--=-641731017c b a 得?????-=-==2 207 c b a ∴29)2()20(7=----=--c b a 故选D ◆课下作业 ●拓展提高 1、若b x x x a x +-=+?+5)2()(2,求a ,b 的值。 2、若()()4-+x a x 的积中不含x 的一次项,求a 的值。 3、若()()53--=x x M ,()()62--=x x N ,试比较M ,N 的大小。

4、计算: )2)(1()3)(3(---++x x x x 5、已知2514x x -=,求()()()2 12111x x x ---++的值 ●体验中考 1、(福州)化简:(x -y )(x+y )+(x -y )+(x+y ). 2、(宁夏)已知:32 a b += ,1ab =,化简(2)(2)a b --的结果是 . 参考答案:

一元多项式计算器

一元多项式计算器 目录 摘要 (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设计题目与要求 1.1.1设计题目 1)一元多项式计算 任务:能够按照指数降序排列建立并输出多项式;能够完成两个多项式的相加、相减,并将结果输入; 基本要求:在上交资料中请写明:存储结构、多项式相加的基本过程的算法(可以使用程序流程图)、源程序、测试数据和结果、算法的时间复杂度、另外可以提出算法的改进方法;本程序关键点是如何将输入的两个多项式相加、相减操作。 ①如何将输入的一元多项式按指数的降序排列 ②如何确定要输入的多项式的项数; ③如何将输入的两个一元多项式显示出来。 ④如何将输入的两个一元多项式进行相加操作。 ⑤如何将输入的两个一元多项式进行相减操作。 本程序是通过链表实现一元多项式的相加减操作。 1.1.2、任务定义 此程序需要完成如下的要求:将多项式按照指数降序排列建立并输出,将两个一元多项式进行相加、相减操作,并将结果输入。 a:输入多项式的项数并建立多项式; b:输出多项式,输出形式分别为浮点和整数序列,序列按指数升序排列; c:多项式a和b相加,建立多项式a+b; d:多项式a和b相减,建立多项式a-b。 e:多项式的输出。 1.2 数据结构的选择和概要设计: 1.2.1数据结构的选用 A:基于链表中的节点可以动态生成的特点,以及链表可以灵活的添加或删除节点的数据结构,为了实现任意多项式的加法,减法,因此选择单链表的结构体,它有一个系数,指数,下一个指针3个元属;例如,图1中的两个线性链表分别表示一元多项式 和一元多项式。从图中可见,每个结点表示多项式中的一项。

图1 多项式表的单链存储结构 B:本设计使用了以下数据结构: typedef struct node{ int xs; /*系数*/ int zs; /*指数*/ struct node * next; /*next指针*/ }Dnode,* Dnodelist; C:设计本程序需用到八个模块,用到以下八个子函数如下: 1.Dnodelist Creat_node(void) /*链表初始化*/ 2.int Insert_node(Dnodelist D,int xs,int zs) /*插入函数*/ 3.Dnodelist Creat_Dmeth(int length) /*创建多项式*/ 4.Dnodelist Addresult(Dnodelist D1,Dnodelist D2) /*多项式相加*/ 5.Dnodelist Subresult(Dnodelist D1,Dnodelist D2) /*多项式相减*/ 6.Dnodelist select(Dnodelist D1,Dnodelist D2) /*选择函数*/ 7void Show(Dnodelist D) /*显示(输出)函数*/ 8void main()主程序模块调用链一元多项式的各种基本操作模块。 1.2.2 多项式的输入 先输入多项式的项数,采用尾插法的方式,输入多项式中一个项的系数和指数,就产生一个新的节点,建立起它的右指针,并用头节点指向它; 1.2.3 两个多项式的加法 “和多项式”链表中的结点无需另生成,而应该从两个多项式的链表中摘取。其运算规则如下: 假设指针A和B分别指向多项式a和多项式b中当前进行比较的某个结点,则比较两个结点中的指数项,有下列3种情况: ①指针A所指结点的指数值<指针B所指结点的指数值,则应摘取A指针所指结点插入到“和多项式”链表中去; ②指针A所指结点的指数值>指针B所指结点的指数值,则应摘取指针A所指结点插入到“和多项式”链表中去; ③指针A所指结点的指数值=指针B所指结点的指数值,则将两个结点中的系数相加, 若和数不为零,则修改A所指结点的系数值,同时释放B所指结点;反之,从多项式A的链表中删除相应结点,并释放指针A和B所指结点。例如,由图2中的两个链表表示的多项式相加得到的“和多项式”链表如图2所示,图中的长方框表示已被释放的结点。

相关文档
最新文档