1.3-2秦九韶算法

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

小结作业
评价一个算法好坏的一个重要标志 是运算的次数, 是运算的次数,如果一个算法从理论上 需要超出计算机允许范围内的运算次数, 需要超出计算机允许范围内的运算次数, 那么这样的算法就只能是一个理论算法. 那么这样的算法就只能是一个理论算法. 在多项式求值的各种算法中, 在多项式求值的各种算法中,秦九韶算 法是一个优秀算法. 法是一个优秀算法.
((((((x+1) x) +1) x) +1) x+1) x+1
4次乘法运算,5次加法运算. 次乘法运算, 次加法运算.
思考3:利用后一种算法求多项式 思考3:利用后一种算法求多项式 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 =((a =((anxn-2+an-1xn-3+…+a2)x+a1)x+a0 =… =(…((a =(…((anx+an-1)x+an-2)x+…+a1)x+a0.
思考5:上述求多项式 思考5:上述求多项式 5: f(x)=anxn+an-1xn-1+…+a1x+a0的值的方法 称为秦九韶算法 利用该算法求f(x 秦九韶算法, 称为秦九韶算法,利用该算法求f(x0)的 一共需要多少次乘法运算, 值,一共需要多少次乘法运算,多少次 加法运算? 加法运算? 思考6:在秦九韶算法中, 思考6:在秦九韶算法中,记v0=an,那么 6:在秦九韶算法中 步的算式是什么? 第k步的算式是什么? (k=1, vk=vk-1x+an-k (k=1,2,…,n)
知识探究( 知识探究(一):秦九韶算法的基本思想
思考1:对于多项式f(x)=x +x+1, 思考1:对于多项式f(x)=x5+x4+x3+x2+x+1, 1:对于多项式 f(5)的值 的值. 若先计算各项的值, 求f(5)的值. 若先计算各项的值,然后 再相加, 再相加,那么一共要做多少次乘法运算 和多少次加法运算? 和多少次加法运算? 4+3+2+1=10次乘法运算, 4+3+2+1=10次乘法运算, 次乘法运算 次加法运算. 5次加法运算.
思考4:对于f(x)=(…((a 思考4:对于f(x)=(…((anx+an-1)x+ 4:对于 an-2)x+…+a1)x+a0,由内向外逐层计算 一次多项式的值,其算法步骤如何? 一次多项式的值,其算法步骤如何? 第一步,计算v 第一步,计算v1=anx+an-1. 第二步,计算v 第二步,计算v2=v1x+an-2. 第三步,计算v 第三步,计算v3=v2x+an-3. … 第n步,计算vn=vn-1x+a0. 计算v
例2 阅读 INPUT "x=";a "x="; 下列程序, 下列程序,说 n=0 明它解决的实 y=0 际问题是什么? n<5 际问题是什么? WHILE n 5 y=y+(n+1)*a∧n n=n+1 WEND PRINT y END
求多项式 x=a时的值 时的值. 在x=a时的值.
f (x) = 1 + 2x + 3x 2 + 4x 3 + 5x 4
知识探究( 知识探究(二):秦九韶算法的程序设计
思考1:用秦九韶算法求多项式的值, 思考1:用秦九韶算法求多项式的值,可 1:用秦九韶算法求多项式的值 以用什么逻辑结构来构造算法? 以用什么逻辑结构来构造算法?其算法 步骤如何设计? 步骤如何设计?
第一步,输入多项式的次数n 第一步,输入多项式的次数n,最高次 项的系数a 的值. 项的系数an和x的值. 第二步, i=n第二步,令v=an,i=n-1. 第三步,输入i次项的系数a 第三步,输入i次项的系数ai. 第四步, i=i第四步,v=vx+ai,i=i-1. 第五步,判断i≥0是否成立.若是, i≥0是否成立 第五步,判断i≥0是否成立.若是,则返回第 二步;否则,输出多项式的值v. 二步;否则,输出多项式的值v.
思考2:在上述问题中,若先计xx的值, xx的值 思考2:在上述问题中,若先计xx的值, 2:在上述问题中 然后依次计算x x, x)x, 然后依次计算x2x,(x2x)x, x)x)x的值 的值, ((x2x)x)x的值,这样每次都可以 利用上一次计算的结果,再将这些数与x 利用上一次计算的结果,再将这些数与x 相加, 和1相加,那么一共做了多少次乘法运算 和多少次加法运算? 和多少次加法运算?
作业: 作业: P45练习:2. P45练习: 练习 P48习题1.3A组:2. P48习题1.3A组 习题1.3A

n n i i
理论迁移
已知一个5 例1 已知一个5次多项式为 5 4 3 2 f (x) = 5x + 2x + 3.5x - 2.6x + 1.7x - 0.8 用秦九韶算法求f(5)的值. f(5)的值 用秦九韶算法求f(5)的值.
f(x)=((((5x+2)x+3.5)x-2.6)x+1.7)xf(x)=((((5x+2)x+3.5)x-2.6)x+1.7)x-0.8. =5×5+2=27; v1=5×5+2=27; =27×5+3.5=138.5; v2=27×5+3.5=138.5; =138.5× 2.6=689.9; v3=138.5×5-2.6=689.9; =689.9×5+1.7=3451.2; v4=689.9×5+1.7=3451.2; =3451.2× v5=3451.2×5-0.8=17255.2. 所以f(5)= 所以f(5)= =17255.2.
思考2:该算法的程序框图如何表示? 思考2:该算法的程序框图如何表示? 2:该算法的程序框图如何表示
开始 输入n, 输入 ,an,x的值 的值 v=an i=n-1 i=i-1 v=vx+ai 输入a 输入 i i≥0? ? 否 输出v 输出 结束 是
思考3:该程序框图对应的程序如何表述? 思考3:该程序框图对应的程序如何表述? 3:该程序框图对应的程序如何表述 开始 "n="; INPUT "n=";n 输入n, 输入 ,a ,x的值 的值 ="; INPUT "an=";a "x="; INPUT "x=";x v=a v=a i=n-1 i=n-1 i=ni=i-1 i>=0 WHILE i =0 v=vx+a INPUT "ai=";b "ai="; v=v*x+b 输入a 输入 i=ii=i-1 i≥0? 是 ? 否 WEND 输出v 输出 PRINT v 结束 END
1.3
算法案例
第Βιβλιοθήκη Baidu课时
问题提出
1.辗转相除法和更相减损术, 1.辗转相除法和更相减损术,是求 辗转相除法和更相减损术 两个正整数的最大公约数的优秀算法, 两个正整数的最大公约数的优秀算法, 我们将算法转化为程序后, 我们将算法转化为程序后,就可以由计 算机来执行运算, 算机来执行运算,实现了古代数学与现 代信息技术的完美结合. 代信息技术的完美结合. 2.对于求n次多项式的值, 2.对于求n次多项式的值,在我国古 对于求 代数学中有一个优秀算法, 代数学中有一个优秀算法,即秦九韶算 我们将对这个算法作些了解和探究. 法,我们将对这个算法作些了解和探究.
相关文档
最新文档