高效课堂一线名师·名校学案·联校开发高中数学·必修3人民教育出版社高效课堂1.3.2秦九韶算法高效课堂1、什么是辗转相除法和更相减损术?2、辗转相除法和更相减损术,是求两个正整数的最大公约数的优秀算法,我们将算法转化为程序后,就可以由计算机来执行运算,实现了古代数学与现代信息技术的完美结合.复习高效课堂秦九韶算法的基本思想思考1:对于多项式f(x)=x5+x4+x3+x2+x+1,求f(5)的值.4+3+2+1=10次乘法运算,5次加法运算.分析:把5代入多项式,若先计算各项的值,然后再相加,那么一共要做:高效课堂思考2:另一种做法是先计算x2的值,然后依次计算x2·x,(x2·x)·x,((x2·x)·x)·x的值,这样每次都可以利用上一次计算的结果,这时一共做了:4次乘法运算,5次加法运算.高效课堂思考3:有没有更有效的算法呢?利用后一种算法求多项式f(x)=anxn+an-1xn-1+…+a1x+a0的值,这个多项式应写成哪种形式?f(x)=anxn+an-1xn-1+…+a1x+a0=(anxn-1+an-1xn-2+…+a2x+a1)x+a0=((anxn-2+an-1xn-3+…+a2)x+a1)x+a0=…=(…((anx+an-1)x+an-2)x+…+a1)x+a0.这就是我国南宋时期数学家秦九韶在他的著作《数书九章》中提出的算法.高效课堂思考4:对于f(x)=(…((anx+an-1)x+an-2)x+…+a1)x+a0,由内向外逐层计算一次多项式的值,其算法步骤如何?第一步,计算v1=anx+an-1.第二步,计算v2=v1x+an-2.第三步,计算v3=v2x+an-3.…第n步,计算vn=vn-1x+a0.上述方法称为秦九韶算法.高效课堂思考5:在秦九韶算法中,记v0=an,那么第k步的算式是什么?vk=vk-1x+an-k(k=1,2,…,n)高效课堂解:f(x)=((((4x+2)x+3.5)x-2.6)x+1.7)x-0.8.v1=4×5+2=22;v2=22×5+3.5=113.5;v3=113.5×5-2.6=564.9;v4=564.9×5+1.7=2826.2;v5=2826.2×5-0.8=14130.2.所以f(5)==14130.2.例1已知一个5次多项式为用秦九韶算法求f(5)的值.8.07.16.25.3242345xxxxxxf高效课堂练习:阅读下列程序,说明它解决的实际问题是什么?INPUT“x=”;an=0y=0WHLEn<5y=y+(n+1)*a∧nn=n+1WENDPRINTyEND求多项式在x=a时的值.12345234xxxxxf高效课堂二、秦九韶算法的程序设计思考1:用秦九韶算法求多项式的值,可以用什么逻辑结构来构造算法?其算法步骤如何设计?第一步,输入多项式的次数n,最高次项的系数an和x的值.第二步,令v=an,i=n-1.第三步,输入i次项的系数ai.第四步,v=vx+ai,i=i-1.第五步,判断i≥0是否成立.若是,则返回第三步;否则,输出多项式的值v.高效课堂程序框图开始输入n、an、x的值v=anv=vx+ai输入aii≥0?i=n-1i=i-1结束是输出v否讨论:请参照程序框图,写出该算法程序.高效课堂开始输入n、an、x的值v=anv=vx+ai输入aii≥0?i=n-1i=i-1结束是输出v否INPUT“n=”;nINPUT“an=”;aINPUT“x=”;xv=ai=n-1WHILEi>=0INPUT“ai=”;av=v*x+ai=i-1WENDPRINTvENDPRINT“i=”;i高效课堂小结2.计算机的一个很重要的特点就是运算速度快,但评价算法好坏的一个重要标志是运算的次数,如果一个算法从理论上需要超出计算机允许范围内的运算次数,那么这样的算法就只能是一个理论算法.在多项式求值的各种算法中,秦九韶算法是一个优秀算法.1.秦九韶算法计算多项式的值及程序设计.高效课堂布置作业:P45练习:2.P48习题1.3A组:2.高效课堂一线名师·名校学案·联校开发高中数学·必修3人民教育出版社