24/12/27下午07:26云在漫步24/12/27下午07:26云在漫步学习目标1.理解并掌握秦九韶算法的计算过程,了解利用秦九韶算法可以减少计算次数提高效率的实质.2.通过秦九韶算法,进一步算法的基本思想,了解其算法程序框图和程序.3.理解数学算法与计算机算法的区别,理解计算机对数学的辅助作用.4.通过对秦九韶算法的学习,了解中国古代数学家对数学的贡献,认识中国文化历史的悠久.24/12/27下午07:26云在漫步复习1、求两个数的最大公约数的两种方法分别是()和().2、两个数21672,8127的最大公约数是()A、2709B、2606C、2703D、270624/12/27下午07:26云在漫步问题怎样求多项式f(x)=x5+x4+x3+x2+x+1当x=5时的值?算法1f(5)=55+54+53+52+5+1=3906算法2f(5)=55+54+53+52+5+1=5×(54+53+52+5+1)+1=5×(5×(53+52+5+1)+1)+1=5×(5×(5×(52+5+1)+1)+1)+1=5×(5×(5×(5×(5+1)+1)+1)+1)+1共做了1+2+3+4=10次乘法运算,5次加法运算.共做了4次乘法运算,5次加法运算.秦九韶算法24/12/27下午07:26云在漫步新课《数书九章》——秦九韶算法对该多项式按下面的方式进行改写设)(xf是一个n次的多项式1110()nnnnfxaxaxaxa1110()nnnnfxaxaxaxa12110()nnnnaxaxaxa231210(())nnnnaxaxaxaxa1210(()))nnnaxaxaxaxan次加法运算(1)2nn次乘法运算24/12/27下午07:26云在漫步要求多项式的值,应该先算最内层的一次多项式的值,即然后,由内到外逐层计算一次多项式的值,即这种将求一个n次多项式f(x)的值转化成求n个一次多项式的值的方法,称为秦九韶算法1210()(()))nnnfxaxaxaxaxa11nnvaxa212nvvxa323nvvxa10nnvvxa这是一个在秦九韶算法中反复执行的步骤,因此可用循环结构来实现.01(1,2,,)nkknkvavvxaknn次加法运算n次乘法运算24/12/27下午07:26云在漫步01(1,2,,)nkknkvavvxakn11101210()(()))nnnnnnnfxaxaxaxaaxaxaxaxa11nnvaxa212nvvxa323nvvxa10nnvvxa第一步:输入多项式次数n、最高次项的系数an和x的值算法步骤第二步:将v的值初始化为an,将i的值初始化为n-1第三步:输入i次项的系数ai第四步:v=vx+ai,i=i-1.第五步:判断i是否大于或等于0,若是,则返回第三步;否则,输出多项式的值v.24/12/27下午07:26云在漫步第一步:输入多项式次数n、最高次项的系数an和x的值第二步:将v的值初始化为an,将i的值初始化为n-1第三步:输入i次项的系数ai第四步:v=vx+ai,i=i-1.第五步:判断i是否大于或等于0,若是,则返回第三步;否则,输出多项式的值v.程序框图开始输入n,an,x的值v=ani=n-1i≥0?输出v输入aiv=vx+aii=i-1结束NY24/12/27下午07:26云在漫步开始输入n,an,x的值v=ani=n-1i≥0?输出v输入aiv=vx+aii=i-1结束NYINPUT“n=”;nINPUT“an=”;aINPUT“x=”;xv=ai=n-1WHILEi>=0PRINT“i=”;iINPUT“ai=”;av=v*x+ai=i-1WENDPRINTvEND程序24/12/27下午07:26云在漫步按由里到外的顺序,依此计算一次多项式当x=5时的值:所以,x=f(5)=时17255.2例2已知一个五次多项式为用秦九韶算法求这个多项式当x=5的值.5432()523.52.61.70.8fxxxxxx解:将多项式变形:()((((52)3.5)2.6)1.7)0.8fxxxxxx05v155227v22753.5138.5v3138.552.6689.9v4689.951.73451.2v53451.250.817255.2v523.5-2.61.7-0.8x=527136.5689.93451.217255.225135692.53449.517256