当前位置:首页 >> 数学 >>

秦九韶算法


1.3

算法案例
第二课时

问题提出

1.辗转相除法和更相减损术,是求 两个正整数的最大公约数的优秀算法, 我们将算法转化为程序后,就可以由计 算机来执行运算,实现了古代数学与现 代信息技术的完美结合.
2.对于求n次多项式的值,在我国古 代数学中有一个优秀算法,即秦九韶算 法,我们将对这个算

法作些了解和探究.

知识探究(一):秦九韶算法的基本思想

思考1:对于多项式f(x)=x5+x4+x3+x2+x+1, 求f(5)的值. 若先计算各项的值,然后 再相加,那么一共要做多少次乘法运算 和多少次加法运算?
4+3+2+1=10次乘法运算, 5次加法运算.

思考2:在上述问题中,若先计算x2的值, 然后依次计算x2·x,(x2·x)·x, ((x2·x)·x)·x的值,这样每次都可以 利用上一次计算的结果,再将这些数与x 和1相加,那么一共做了多少次乘法运算 和多少次加法运算?

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:上述求多项式 f(x)=anxn+an-1xn-1+?+a1x+a0的值的方法 称为秦九韶算法,利用该算法求f(x0)的 值,一共需要多少次乘法运算,多少次 加法运算? 思考6:在秦九韶算法中,记v0=an,那么 第k步的算式是什么?

vk=vk-1x+an-k (k=1,2,?,n)

知识探究(二):秦九韶算法的程序设计

思考1:用秦九韶算法求多项式的值,可 以用什么逻辑结构来构造算法?其算法 步骤如何设计?
第一步,输入多项式的次数n,最高次 项的系数an和x的值. 第二步,令v=an,i=n-1. 第三步,输入i次项的系数ai. 第四步,v=vx+ai,i=i-1. 第五步,判断i≥0是否成立.若是,则返回第 二步;否则,输出多项式的值v.

思考2:该算法的程序框图如何表示?
开始 输入n,an,x的值 v=an i=n-1 i=i-1

v=vx+ai
输入ai i≥0? 否 输出v 结束



思考3:该程序框图对应的程序如何表述? 开始 INPUT “n=”;n 输入n,a ,x的值 INPUT “an=”;a INPUT “x=”;x v=a v=a i=n-1 i=n-1 i=i-1 WHILE i>=0 v=vx+a INPUT “ai=”;b v=v*x+b 输入a i=i-1 i≥0? 是 否 WEND 输出v PRINT y 结束 END
n n i

i

理论迁移

例1 已知一个5次多项式为 5 4 3 2 f (x ) = 5x + 2x + 3.5x - 2.6x + 1.7x - 0.8 用秦九韶算法求f(5)的值.
f(x)=((((5x+2)x+3.5)x-2.6)x+1.7)x-0.8. v1=5×5+2=27; v2=27×5+3.5=138.5; v3=138.5×5-2.6=689.9; v4=689.9×5+1.7=3451.2; v5=3451.2×5-0.8=17255.2. 所以f(5)= =17255.2.

例2 阅读 INPUT “x=”;a 下列程序,说 n=0 明它解决的实 y=0 际问题是什么? WHLE n<5 y=y+(n+1)*a∧n n=n+1 WEND PRINT y END
求多项式 在x=a时的值.
f (x ) = 1 + 2x + 3x 2 + 4x 3 + 5x 4

小结作业

评价一个算法好坏的一个重要标志 是运算的次数,如果一个算法从理论上 需要超出计算机允许范围内的运算次数, 那么这样的算法就只能是一个理论算法. 在多项式求值的各种算法中,秦九韶算 法是一个优秀算法.

作业: P45练习:2. P48习题1.3A组:2.


相关文章:
秦九韶算法及其例题
秦九韶算法及其例题_数学_高中教育_教育专区。秦九韶算法是中国南宋时期的数学家秦九韶提出的一种多项式简化算法。 在西方被称作霍纳 算法(Horner algorithm 或 ...
秦九韶算法与K进制练习题(含详细解答)
秦九韶与 k 进制练习题 一.选择题(共 16 小题) 1.把 77 化成四进制数的末位数字为( A.4 B.3 C.2 4 3 ) D.1 2 2.用秦九韶算法求多项式 f(...
算法案例---秦九韶算法
算法案例---秦九韶算法_四年级数学_数学_小学教育_教育专区。李牛牛算法案例---秦九韶算法 §1.3 算法案例---秦九韶算法高二数学组 梅杰一.教学目标 1.了解...
秦九韶算法
秦九韶算法_数学_自然科学_专业资料。《数值计算》实验报告实验名称 秦九韶算法的 C 程序设计 姓名 学号 成绩 实验报告内容要求: 一.实验目的 编写秦九韶算法程...
秦九韶算法教案
秦九韶算法教案_其它课程_高中教育_教育专区。1.3 案例 2 秦九韶算法一、基本信息设计者:*** 学生:*** 教材:人教版,必修 3 第一章“算法初步”的第 3 ...
秦九韶算法
秦九韶算法_数学_高中教育_教育专区。《数值计算》实验报告学院: 实验名称 软件学院 专业: 软件工程 班级:12 级 4 班 编写秦九韶算法进行计算 姓名 赵妮 学号...
秦九韶算法公开课教案
教学课题 授课年级 授课类型知识与技 知识与技 1.3 算法案例——秦九韶算法 算法案例———秦九韶算法高 一(117)班) 新授课 新授课了解秦九韶算法的计算过程...
秦九韶算法
数值分析实验报告实验序号:1 班级 实验名称 实验所用软件及版本 10 应数 A 班 姓名 秦九韶算法 Maltab 2008 梁光佐 日期:2013 年 10 月 24 日 学号 ...
秦九韶算法例题
(注:中括号里的数表示下标) 上述方法称为秦九韶算法。直到今天,这种算法仍是多项式求值比较先进的算法 f(x)= 2x5-5x4-4x3+3x2-6x+7 =(((2x-5)x-4)...
秦九韶算法实验报告
软件学院 实验名称 秦九昭算法 专业:软件工程 班级:2 班 姓名 爱上辰 学号 1402120217 成绩 实验报告内容要求: 一.实验目的 编写秦九韶算法程序,并用该程序...
更多相关标签:
秦九韶公式 | 秦九韶 | 秦九韶算法例题 | 辗转相除法 | 秦九韶算法公式 | 庞加莱猜想 | 李善兰恒等式 | 贪心算法 |