第11、12课时秦九韶算法与排序教学目标:1了解秦九韶算法的计算过程,并理解利用秦九韶算法可以减少计算次数提高计算效率的实质
2掌握数据排序的原理能使用直接排序法与冒泡排序法给一组数据排序,进而能设计冒泡排序法的程序框图及程序,理解数学算法与计算机算法的区别,理解计算机对数学的辅助作用
教学重点:秦九韶算法的特点及其程序设计,两种排序法的排序步骤及其程序设计教学难点:秦九韶算法的先进性理解及其程序设计,排序法的计算机程序设计教学过程(秦九韶计算多项式的方法)例1、设计求多项式f(x)=2x5-5x4-4x3+3x2-6x+7当x=5时的值的算法,并写出程序
个别学生提出一般的解决方案,如:x=5y=2*x^5–5*x^4–4*x^3+3*x^2–6*x+7PRINT“y=”;yEND提问:例1计算时需要多少次乘法计算
多少次加法计算
有什么优缺点
(上述算法一共做了解15次乘法运算,5次加法运算,优点是简单、易懂
缺点是不通用,不能解决任意多项式的求值问题,而且计算效率不高
)提问:计算x的幂时,可以利用前面的计算结果,以减少计算量,即先计算x2,然后依次计算x2
x,((x2
x的值,这样计算上述多项式的值,一共需要多少次乘法,多少次加法
(上述算法一共做了解4次乘法运算,5次加法运算
)结论:第二种做法与第一种做法相比,乘法的运算次数减少了,因而能提高运算效率,而且对于计算机来说,做一次乘法所需的运算时间比做一次加法要长得多,因此第二种做法更快地得到结果
我们把多项式变形为:f(x)=2x5-5x4-4x3+3x2-6x+7=((((2x-5)x-4)x+3)x-6)x+7从内到外,如果把每一个括号都看成一个常数,x的系数依次是什么
用图表可以表示为:多项式x系数2-5-43-67运算10251055402670+变形后x的"系数"2521