12[ 问题 1] :设计求多项式 f(x)=2x5-5x4-4x3+3x2-6x+7 当 x=5 时的值的算法 , 并写出程序
x=5f=2 * x^5-5 * x^4-4 * x^3+3 * x^2-6 * x+7PRINT fEND程序点评 : 上述算法一共做了 15 次乘法运算 ,5次加法运算
优点是简单 , 易懂 ; 缺点是不通用 ,不能解决任意多项多求值问题 , 而且计算效率不高
新课引入3 这析计算上述多项式的值 , 一共需要 5次乘法运算 ,5 次加法运算
[ 问题 2] :有没有更高效的算法
分析 : 计算 x 的幂时 , 可以利用前面的计算结果 , 以减少计算量 ,即先计算 x2, 然后依次计算222,(),(())xx xxxxxxx的值
第二种做法与第一种做法相比 , 乘法的运算次数减少了 , 因而能提高运算效率
而且对于计算机来说 , 做一次乘法所需的运算时间比做一次加法要长得多 , 因此第二种做法能更快地得到结果
新课引入4[ 问题 2] :能否探索更好的算法 , 来解决任意多项式的求值问题
f(x)=2x5-5x4-4x3+3x2-6x+7=(2x4-5x3-4x2+3x-6)x+7=((2x3-5x2-4x+3)x-6)x+7=(((2x2-5x-4)x+3)x-6)x+7=((((2x-5)x-4)x+3)x-6)x+7v0=2v1=v0x-5=2×5-5=5v2=v1x-4=5×5-4=21v3=v2x+3=21×5+3=108v4=v3x-6=108×5-6=534v5=v4x+7=534×5+7=2677所以 , 当 x=5 时 , 多项式的值是 2677
这种求多项式值的方法就叫秦九韶算法
新课引入5例 1: 用秦九韶算法求多项式 f(x)=2x5-5x4-4x3+3x2-6x+7 当 x=5 时