人教版高中数学必修三 1.3算法案例(第1课时)
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
第一课时辗转相除法与更相减损术、秦九韶算法
1.理解辗转相除法与更相减损术的含义,了解其执行过程,并会求最大公约数.2.掌握秦九韶算法的计算过程,了解它提高计算效率的实质,并会求多项式的值.3.进一步体会算法的基本思想.
1.辗转相除法与更相减损术
(1)辗转相除法.
①算法步骤:
第一步,给定两个正整数m,n.
第二步,计算m除以n所得的余数r.
第三步,m=n,n=r.
第四步,若r=__,则m,n的最大公约数等于m;否则返回第__步.
②程序框图如图所示.
③程序:
INPUT m,n
DO
r=m MOD n
m=n
n=r
LOOP UNTIL____
PRINT__
END
(2)更相减损术.
算法分析:
第一步,任意给定两个正整数,判断它们是否都是____.若是,用__约简;若不是,执行第二步.
第二步,以较大的数__去较小的数,接着把所得的差与较小的数比较,并以__数减__数.继续这个操作,直到所得的差与减数相等为止,则这个数(等数)或这个数与约简的数的乘积就是所求的最大公约数.
【做一做1】用更相减损术求294和84的最大公约数时,第一步是__________.
2.秦九韶算法
(1)概念:求多项式f(x)=a n x n+a n-1x n-1+…+a1x+a0的值时,常用秦九韶算法,这种算法的运算次数较少,是多项式求值比较先进的算法,其实质是转化为求n个____多项式的值,共进行__次乘法运算和__次加法运算.其过程是:
改写多项式为:
f(x)=a n x n+a n-1x n-1+…+a1x+a0
=(a n x n-1+a n-1x n-2+…+a1)x+a0
=((a n x n-2+a n-1x n-3+…+a2)x+a1)x+a0=…
=(…((a n x+a n-1)x+a n-2)x+…+a1)x+a0.
设v1=__________,
v2=v1x+a n-2,
v3=v2x+a n-3,
…,
v n=____________.
(2)算法步骤:
第一步,输入多项式的次数n、最高次项的系数a n和x的值.
第二步,将v的值初始化为a n,将i的值初始化为n-1.
第三步,输入i次项的系数a i.
第四步,v=v x+a i,i=____.
第五步,判断i是否大于或等于__.若是,则返回第三步;否则,输出多项式的值__.(3)程序框图如图所示.
(4)程序:
INPUT“n=”;n
INPUT“an=”;a
INPUT“x=”;x
v=a
i=n-1
WHILE______
PRINT“i=”;i
INPUT“ai=”;a
v=________
i=i-1
WEND
PRINT__
END
【做一做2】设计程序框图,用秦九韶算法求多项式的值,所选用的结构是() A.顺序结构B.条件结构C.循环结构D.以上都有
答案:1.(1)①0二③r=0m(2)偶数2减大小
【做一做1】用2约简由于294和84都是偶数,先用2约简.
2.(1)一次 n
n a n x +a n -1 v n -1x +a 0 (2)i -1 0 v (4)i >=0 v x +a v
【做一做2】 D
1.更相减损术与辗转相除法的区别与联系
剖析:如表所示. 辗转相除法
更相减损术 区别
①以除法为主.
②两个整数差值较大时运算次数
较少.
③相除余数为零时得结果.
①以减法为主. ②两个整数的差值较大时,运算次数较多. ③相减,差与减数相等得结果. ④相减前要做是否都是偶数的判断.
联系 ①都是求最大公约数的方法.
②二者的实质都是递归的过程.
③二者都要用循环结构来实现.
2.秦九韶算法是比较先进的算法
剖析:计算机的最重要特点就是运算速度快.2003年2月26日,以色列科学家宣布研制出一台依靠DNA 运行、速度达每秒运算330万亿次的生物计算机.这种计算机的运算速度比现在普通计算机的运算速度要快10万倍,但是即便如此,计算机也不是万能的.同一个问题有多种算法,如果某个算法比其他算法的步骤少,运算的次数少,那么这个算法就是比较先进的算法.算法好坏的一个重要标志就是运算的次数越少越好.
求多项式f (x )=a n x n +a n -1x n -1+…+a 1x +a 0的值时,通常是先计算a n x n ,进行n 次乘法运算;再计算a n -1x n -1,进行n -1次乘法运算;这样继续下去共进行n +n -1+…+2+1=n (n +1)2(其计算方法以后学习)次乘法运算,还需要进行n 次加法运算,总共进行n (n +1)2+n 次运算.
但是用秦九韶算法时,改写多项式为
f (x )=a n x n +a n -1x n -1+…+a 1x +a 0
=(a n x n -1+a n -1x n -2+…+a 1)x +a 0
=((a n x n -2+a n -1x n -3+…+a 2)x +a 1)x +a 0
…
=(…((a n x +a n -1)x +…+a 2)x +a 1)x +a 0.
先计算v 1=a n x +a n -1,需1次乘法运算,1次加法运算;
v 2=v 1x +a n -2,需1次乘法运算,1次加法运算;
…
v n =v n -1x +a 0,需1次乘法运算,1次加法运算.
所以需进行n 次乘法运算,n 次加法运算,共进行2n 次运算.
由于⎣⎡⎦
⎤n (n +1)2+n -2n =n (n -1)2≥0,则n (n +1)2+n ≥2n . 因此说秦九韶算法与其他算法相比运算次数少,秦九韶算法是比较先进的算法.
题型一 求最大公约数
【例题1】 (1)用辗转相除法求840与1 785的最大公约数;
(2)用更相减损术求612与468的最大公约数.
分析:本题是关于辗转相除法和更相减损术的直接应用.辗转相除法的操作是较大的数除以较小的数;更相减损术的操作是以大数减小数.
反思:(1)利用辗转相除法求最大公约数时经常会取错最后一个余数.因为辗转相除法有有限个除法式子,而最后一个余数在倒数第二个式子的最后.
(2)利用更相减损术求解最大公约数时,最大公约数是直到差等于减数时的那个差,或是该差与约简的数的乘积.
题型二 求多项式的值
【例题2】 用秦九韶算法求多项式f (x )=7x 7+6x 6+5x 5+4x 4+3x 3+2x 2+x 当x =3时的值.
分析:解决本题首先需要将原多项式化成f (x )=((((((7x +6)x +5)x +4)x +3)x +2)x +1)x 的形式,其次再弄清v 0,v 1,v 2,…,v 7分别是多少,再针对这些式子进行计算.
反思:本题中比较容易出现的问题主要集中在计算上,多步计算必须保证每一步的正确性,否则最后不但将题目算错,而且浪费了宝贵的时间.
题型三 易错辨析
【例题3】 已知f (x )=3x 4+2x 2+4x +2,利用秦九韶算法求f (-2)的值.
错解:f (x )=((3x 2+2)x +4)x +2,
v 1=3×(-2)2+2=14;
v 2=14×(-2)+4=-24;