河北省高二数学下册 第一单元《算法初步》全套教案
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
1.正确理解算法的概念,掌握算法的基本特点.
2.通过例题教学,使学生体会设计算法的基本思路.
3.通过有趣的实例使学生了解算法这一概念的同时,激发学生学习数学的兴趣.
导入新课
大家都看过赵本山与宋丹丹演的小品吧,宋丹丹说了一个笑话,把大象装进冰箱总共分几步?
答案:分三步,第一步:把冰箱门打开;第二步:把大象装进去;第三步:把冰箱门关上.
上述步骤构成了把大象装进冰箱的算法,今天我们开始学习算法的概念.
算法不仅是数学及其应用的重要组成部分,也是计算机科学的重要基础.在现代社会里,计算机已成为人们日常生活和工作中不可缺少的工具.听音乐、看电影、玩游戏、打字、画卡通画、处理数据,计算机是怎样工作的呢?要想弄清楚这个问题,算法的学习是一个开始. 提出问题
(1)阅读教材第3页“鸡兔同笼”问题,思考解二元一次方程组有几种方法? (2)结合教材实例⎩⎨
⎧=+-=-)
2(,12)
1(,12y x y x 总结用加减消元法解二元一次方程组的步骤.
(3)结合教材实例⎩
⎨
⎧=+-=-)2(,12)
1(,12y x y x 总结用代入消元法解二元一次方程组的步骤.
(4)请写出解一般二元一次方程组的步骤,并理解“高斯消去法”;
(5)根据上述实例谈谈你对算法的理解. (6)请同学们总结算法的特征. (7)请思考我们学习算法的意义. 讨论结果:
(1)代入消元法和加减消元法. (2)回顾二元一次方程组
⎩⎨
⎧=+-=-)
2(,12)
1(,12y x y x 的求解过程,我们可以归纳出以下步骤: 第一步,①+②×2,得5x=1.③ 第二步,解③,得x=
51
. 第三步,②-①×2,得5y=3.④ 第四步,解④,得y=
5
3.
第五步,得到方程组的解为⎪⎪⎩
⎪⎪⎨
⎧==.53,51y x
(3)用代入消元法解二元一次方程组
⎩
⎨
⎧=+-=-)2(,12)
1(,12y x y x 我们可以归纳出以下步骤: 第一步,由①得x=2y -1.③
第二步,把③代入②,得2(2y -1)+y=1.④ 第三步,解④得y=
5
3.⑤ 第四步,把⑤代入③,得x=2×5
3-1=
5
1. 第五步,得到方程组的解为⎪⎪⎩
⎪⎪⎨
⎧==.53,51y x
(4)对于一般的二元一次方程组1112121222,(1)
,(2)
a x a y
b a x a y b +=⎧⎨
+=⎩
其中a 11a 22-a 21a 12≠0,可以写出类似的求解步骤: 第一步,假定a 11≠0,①×21
11
()a a -
+②,可得方程 (a 11a 22-a 21a 12)y= a 11b 2-a 21b 1.③ 第二步,解③,得y=
112211
11222112
a b a b a a a a --.④
第三步,将④代入①得x=221122
11222112
a b a b a a a a --
第四步,输出结果x,y (5)算法的定义理解:广义的算法是指完成某项工作的方法和步骤,那么我们可以说洗衣机的使用说明书是操作洗衣机的算法,菜谱是做菜的算法等等.
在数学中,算法通常是指按照一定规则解决某一类问题的明确有限的步骤. 现在,算法通常可以编成计算机程序,让计算机执行并解决问题.
(6)算法的特征:①确定性:算法的每一步都应当做到准确无误、不重不漏.“不重”是指不是可有可无的,甚至无用的步骤,“不漏” 是指缺少哪一步都无法完成任务.②逻辑性:算法从开始的“第一步”直到“最后一步”之间做到环环相扣,分工明确,“前一步”是“后一步”的前提, “后一步”是“前一步”的继续.③有穷性:算法要有明确的开始和结束,当到达终止步骤时所要解决的问题必须有明确的结果,也就是说必须在有限步内完成任务,
不能无限制地持续进行.
(7)在解决某些问题时,需要设计出一系列可操作或可计算的步骤来解决问题,这些步骤称为解决这些问题的算法.也就是说,算法实际上就是解决问题的一种程序性方法.算法一般是机械的,有时需进行大量重复的计算,它的优点是一种通法,只要按部就班地去做,总能得到结果.因此算法是计算科学的重要基础.
例题解析
例1 写出一个求有限整数序列中的最大值的算法.
点评:算法一般是机械的,有时需要进行大量的重复计算,只要按部就班地去做,总能算出结果,通常把算法过程称为“数学机械化”.数学机械化的最大优点是它可以借助计算机来完成,实际上处理任何问题都需要算法.如:中国象棋有中国象棋的棋谱、走法、胜负的评判准则;而国际象棋有国际象棋的棋谱、走法、胜负的评判准则;再比如申请出国有一系列的先后手续,购买物品也有相关的手续……
例2 写出对任意3个数a,b,c求出最大值的算法。
知能训练
设计算法判断一元二次方程ax2+bx+c=0是否有实数根.
解:算法步骤如下:
第一步,输入一元二次方程的系数:a,b,c.
第二步,计算Δ=b2-4ac的值.
第三步,判断Δ≥0是否成立.若Δ≥0成立,输出“方程有实根”;否则输出“方程无实根”,结束算法.
点评:用算法解决问题的特点是:具有很好的程序性,是一种通法.并且具有确定性、逻辑性、有穷性.让我们结合例题仔细体会算法的特点.
拓展提升
中国网通规定:拨打市内电话时,如果不超过3分钟,则收取话费0.22元;如果通话时间超过3分钟,则超出部分按每分钟0.1元收取通话费,不足一分钟按一分钟计算.设通话时间为t(分钟),通话费用y(元),如何设计一个程序,计算通话的费用.
解:算法分析:
数学模型实际上为:y关于t的分段函数.
关系式如下:
y=⎪⎩
⎪
⎨⎧∉>+-+∈>-+≤<).,3(),1]3([1.022.0),,3(),3(1.022.0),30(,22.0Z t T T Z t t t t 其中[t -3]表示取不大于t -3的整数部分. 算法步骤如下:
第一步,输入通话时间t.
第二步,如果t≤3,那么y=0.22;否则判断t ∈Z 是否成立,若成立执行 y=0.2+0.1×(t -3);否则执行y=0.2+0.1×([t -3]+1). 第三步,输出通话费用c. 课堂小结
(1) 正确理解算法这一概念. (2) 算法的表示有哪些?
(3) 结合例题掌握算法的特点,能够写出简单的算法.
1.熟悉各种程序框及流程线的功能和作用.
2.通过模仿、操作、探索,经历通过设计程序框图表达解决问题的过程. 3.通过比较体会程序框图的直观性、准确性. 重点难点
数学重点:程序框图的概念及画法. 数学难点:程序框图中的符号的意义.
导入新课
用自然语言表示的算法步骤有明确的顺序性,但是对于在一定条件下才会被执行的步骤,以及在一定条件下会被重复执行的步骤,自然语言的表示就显得困难,而且不直观、不准确.因此,本节有必要探究使算法表达得更加直观、准确的方法.今天开始学习程序框图. 新知探究 提出问题
(1)什么是程序框图?
(2)说出终端框(起止框)的图形符号与功能. (3)说出输入、输出框的图形符号与功能. (4)说出处理框(执行框)的图形符号与功能. (5)说出判断框的图形符号与功能. (6)说出流程线的图形符号与功能. (7)说出连接点的图形符号与功能.
(8)总结几个基本的程序框、流程线和它们表示的功能. 讨论结果:
(1)程序框图又称流程图,是一种用程序框、流程线及文字说明来表示算法的图形.
在程序框图中,一个或几个程序框的组合表示算法中的一个步骤;带有方向箭头的流程线将程序框连接起来,表示算法步骤的执行顺序.
(2)椭圆形框:表示程序的开始和结束,称为终端框(起止框).表示开始时只有一个出口;表示结束时只有一个入口.
(3)平行四边形框:表示一个算法输入和输出的信息,又称为输入、输出框,它有一个入口和一个出口.
(4)矩形框:表示计算、赋值等处理操作,又称为处理框(执行框),它有一个入口和一个出口.
(5)菱形框:是用来判断给出的条件是否成立,根据判断结果来决定程序的流向,称为判断框,它有一个入口和两个出口.
(6)流程线:表示程序的流向.
(7)圆圈:连接点.表示相关两框的连接处,圆圈内的数字相同的含义表示相连接在一起.
(8)总结如下表.
图形符号
例1左图所示的是一个算法的流程图,已知a1=3,输出的b=7,求a2
的值.
(4)画出由直角三角形的两条直角边a, b,求斜边长的程序框图
课堂小结
(1)掌握程序框的画法和功能.
(2)了解什么是程序框图,知道学习程序框图的意义.
(3)掌握顺序结构的应用,并能解决与顺序结构有关的程序框图的画法.
在具体问题的解决过程中,理解程序框图的三种基本逻辑结构:顺序结构、条件结构、循环结构.
提出问题
(1)请大家再次观察上节课中所画的一些程序框图例子.
(2)回答什么是顺序结构?什么是条件分支结构?什么是循环结构、循环体?
(3)试用程序框图表示循环结构.
(4)指出三种基本逻辑结构结构的相同点和不同点.
讨论结果:
很明显,顺序结构是由若干个依次执行的步骤组成的,这是任何一个算法都离不开的基本结构.
三种逻辑结构可以用如下程序框图表示:
顺序结构条件结构循环结构
应用示例
例1 阅读以下程序框图,分析其所实现的算法功能?.
……+100的值.
显然,这个过程中包含重复操作的步骤,可以用循环
结构表示.分析上述计算过程,可以发现每一步都可
以表示为第(i-1)步的结果+i=第i步的结果.
为了方便、有效地表示上述过程,我们用一个累加变量S 来表示第一步的计算结果,即把S+i 的结果仍记为S ,从而把第i 步表示为S=S+i ,
其中S 的初始值为0,i 依次取1,2,…,100,由于i 同时记录了循环的次数,所以也称为计数变量.解决这一问题的算法是: 第一步,令i=1,S=0.
第二步,若i≤100成立,则执行第三步;否则,输出S ,结束算法. 第三步,S=S+i.
第四步,i=i+1,返回第二步. 程序框图如右:
(1)(2)
点评:在数学计算中,i=i+1不成立,S=S+i 只有在i=0时才能成立.在计算机程序中,它们被赋予了其他的功能,不再是数学中的“相等”关系,而是赋值关系.变量i 用来作计数器,i=i+1的含义是:将变量i 的值加1,然后把计算结果再存贮到变量i 中,即计数器i 在原值的基础上又增加了1.变量S 作为累加器,来计算所求数据之和.如累加器的初值为0,当第一个数据送到变量i 中时,累加的动作为S=S+i ,即把S 的值与变量i 的值相加,结果再送到累加器S 中,如此循环,则可实现数的累加求和. 变式训练 已知有一列数
1
,
,43,32,21 n n
,设计框图实现求该列数前20项的和.
练习1:设计框图实现1+3+5+7的算法.
练习2:高中某班一共有40名学生,设计算法流程图,统计班级数学成绩良好(分数>80)和优秀(分数>90)的人数.
课堂小结
(1)熟练掌握三种基本逻辑结构的特点及功能.
(2)能用循环结构画出求和等实际问题的程序框图,进一步理解学习算法的意义.
1.理解学习基本算法语句的意义.
2.学会输入语句、输出语句和赋值语句的基本用法.
3.理解算法步骤、程序框图和算法语句的关系,学会算法语句的写法.
重点难点
教学重点:输入语句、输出语句和赋值语句的基本用法.
教学难点:算法语句的写法.
导入新课
前面我们学习了程序框图的画法,为了让计算机能够理解算法步骤、程序框图,我们开始学习算法语句.
提出问题
(1)指出赋值语句的格式、功能、
(2)要求指出输入语句的格式、功能、要求.
(3)指出输出语句的格式、功能、要求.
讨论结果:
(1) 赋值语句的一般格式:________________.
赋值语句中的“______”称作赋值号.
功能:将表达式所代表的值赋给变量.
要求:
1°赋值语句左边只能是变量名字,而不是表达式,右边表达式可以是一个常量、变量或含变量的运算式.如:2=x是错误的.
2°赋值号的左右两边不能对换.赋值语句是将赋值号右边的表达式的值赋给赋值号左边的变量.如“A=B”“B=A”的含义运行结果是不同的,如x=5是对的,5=x是错的,A+B=C是错的,C=A+B是对的.
3°不能利用赋值语句进行代数式的演算(如化简、因式分解、解方程等),如y=x2-1=(x -1)(x+1),这是实现不了的.在赋值号右边表达式中每一个变量的值必须事先赋给确定的值.在一个赋值语句中只能给一个变量赋值,不能出现两个或以上的“=”.但对于同一个变量可以多次赋值.
(2) 输入语句的格式:_______________
功能:实现算法的输入变量信息(数值或字符)的功能.
要求:
1°输入语句要求输入的值是具体的常量.
2°提示内容提示用户输入的是什么信息,必须加双引号,提示内容“原原本本”的在计算机屏幕上显示,提示内容与变量之间要用分号隔开.
3°一个输入语句可以给多个变量赋值,中间用“,”分隔.
形式如:INPUT(“a=,b=,c=,”;a,b,c);
(3) 输出语句的一般格式:_____________
功能:实现算法输出信息(表达式)的功能.
要求:
1°表达式是指算法和程序要求输出的信息.
2°提示内容提示用户要输出的是什么信息,提示内容必须加双引号,提示内容要用分号和表达式分开.
3°如同输入语句一样,输出语句可以一次完成输出多个表达式的功能,不同的表达式之间可用“,”分隔.
(4) 指出三种语句与框图的对应关系如下图.
应用示例(阅读及补全)
例1 给一个变量重复赋值.
解:程序:
A=10
A=A+15
PRINT A
END
点评:给一个变量重复赋值,变量只保存最后一次赋值,比如此程序的输出值是25.
例2 编写程序,计算一个学生数学、语文、英语三门课的平均成绩.
算法分析:
先写出解决本例的算法步骤:
第一步,_____________________________________________________
第二步,____________________________.
第三步,输出__________________________.
程序框图如下:
这个算法可以写成下列程序.
程序:
例3 变换两个变量A和B的值,并输出交换前后的值.解:程序:
知能训练
请写出下面运算输出的结果.
(1)a=5
b=3
c=(a+b)/2
d=c*c
PRINT“d=”;d
(2)a=1
b=2
c=a+b
b=a+c-b
PRINT “a=,b=,c=”;a,b,c
(3)a=10
b=20
c=30
a=b
b=c
c=a
PRINT “a=,b=,c=” ;a,b,c
课堂小结
(1)输入语句、输出语句和赋值语句的基本用法. (2)用输入语句、输出语句和赋值语句编写算法语句.
教学目标:
1.理解学习基本算法语句的意义.
2.学会条件语句的基本用法.
3.理解算法步骤、程序框图和算法语句的关系,学会算法语句的写法.
重点难点
教学重点:条件语句的基本用法.
教学难点:算法语句的写法.
提出问题
1.回忆程序框图中的条件结构.
2.指出条件语句的格式及功能.
3.揭示程序中的条件语句与程序框图中的条件结构存在一一对应关系.
讨论结果:
1.一个算法中,经常会遇到一些条件的判断,算法的流程根据条件是否成立有不同的流向.
条件分支结构就是处理这种过程的结构.处理条件分支逻辑结构的的算法语句就叫条件语句
2.条件语句的一般格式
1°包含一个“分支”的条件语句
(
(2)语句功能:如果表达式结果为真,则执行语句序列1;如果表达式结果为假时,则跳过语句序列1
2°包含两个“分支”的条件语句
(1)对应的条件语句为:
(2)语句功能:首先对if后的条件进行判断如果表达式结果为真,则执行语句序列1;当表达式结果为假时,则执行else后面的语句序列2
小结:
1.条件语句是一个语句,if,else都是语句的一部分
2.条件语句必须以if语句开始,以end语句结束,一个if语句必须和一个end语句对应3.如果我们的程序只需对条件为真时作出判断,不需要条件为假的情况,则条件语句省略else分句,格式由if—else语句变为if语句
3.分支嵌套:分支嵌套是指在分支结构的某一部分中又包含分支结构
对应的条件语句为:
else
if 条件2
语句序列2;
else
语句序列3;
end
…
end
应用示例
例1 编写一个程序,求实数x 的绝对值.
点评:通过本题我们看到算法步骤可以转化为程序框图,程序框图可以转化为算法语句.本题揭示了它们之间的内在联系,只要理解了程序框图与算法语句的对应关系,把程序框图转化为算法语句就很容易了.
例2 编写程序,输出两个不相等的实数a 、b 的最大值.
例3 高等数学中经常用到符号函数,符号函数的定义为y=⎪⎩
⎪⎨⎧<-=>,0,1,0,0,0,1x x x 试编写程序输入x 的
值,输出y 的值.
课堂小结
条件语句的基本用法.
1.理解学习基本算法语句的意义.
2.学会循环语句的基本用法.
3.理解算法步骤、程序框图和算法语句的关系,学会算法语句的写法.
重点难点
重点:循环语句的基本用法.
.
一、问题提出
两种条件语句的一般格式分别是什么?
二、导入新课
一位同学不小心违反了学校纪律,班主任令其写检查,他写完后交给班主任,班主任看后说:“认识不深刻,拿回去重写,直到认识深刻为止”.这位同学一想,这不是一个循环结构吗?可惜我还没学循环语句,不然可以写一个算法语句输入计算机了.同学们,今天我们开始学习循环语句.
三、新课
Scilab程序语言中提供了两种循环语句:for 循环和while 循环
1、for循环语句
for 循环语句的一般格式:
例1. 实现求1+2+3+…+1000=? 的算法
算法思想:可以采用重复计算,而且数字1、2、3、…、1000是有规律的一列数,逐渐循环递增,每次增幅为1.
解答:
在例1的程序中,如果我们将初值、步长、终值、循环体分别改变,情形又如何呢?
1. 将初值改变,如改为“i=100:1:1000”则该程序描述的算法实现什么功能?
2. 终值改变的情形类似.
如改为“i=1:1:100”则该程序描述的算法实现什么功能?
3.将步长改变,如改为“i=1:2:1000,则表示求和1+3+5+ (999)
如改为“i=1:3:1000”,则表示求和
________________________________________________.
4.将循环体改变,如改变为“S=S+1/i”,则该程序描述的算法实现什么功能?
例2.画出计算1111
++++
246200
值的算法程序框图,并写出程序。
例3. 一球从100m高度落下,每次落地后反跳为原高度的一半,再落下。
在第10次落地时,共经过多少路程?第10次下落多高?,写出程序
2、 while循环语句
While 循环语句的一般格式为:
例4:实现求1+2+3+…+1000=?算法(用另一种循环结构)
例5.写出平方值小于1000的最大整数的程序。
?
例6.用while循环语句编写一个程序,计算1×3×5× (99)
课堂小结
“For循环”和“while循环”的区别?
四、知识巩固
1.循环语句中的步长()
A.可以省略B.不能省略C.只有步长为1时才可省略D.以上全错2.下列对while语句的说法不正确的是()
A.当计算机遇到while语句时,先判断是否满足条件,如果符合条件,就执行循环体B.当条件不符合时,将不执行循环体直接跳出循环
C.while语句的格式为:while—表达式—循环体—end
D.while语句的特点是“后测试”,即先执行循环体,然后判断是否满足条件
3.下列关于for循环的说法错误的是()
A.在for循环中,循环表达式也称为循环体
B.在for循环中,步长为1,可以省略不写;若为其他值,则不可省略
C.理解for循环关键是理解为循环变量设定初值、步长、终值
D.在for循环中,“end”控制结束一次循环,开始一次新的循环
1.下面程序的作用是()
A.求1+3+…+9+11 B.求1+2+3+…+10
C.求1×3×5×…×11 D.求1×2×3×4×…×10
2.以下程序运行后的输出结果为()
A.21 B.13 C.17 D.25
3.将求1×2×3×4×5×6×7×8×9×10的程序补充完整:
三维目标
1.理解算法案例的算法步骤和程序框图.
2.引导学生得出自己设计的算法程序.
3. 体会算法的基本思想,提高逻辑思维能力,发展有条理地思考与数学表达能力.
重点难点
教学重点:引导学生得出自己设计的算法步骤、程序框图和算法程序.
教学难点:体会算法的基本思想,提高逻辑思维能力,发展有条理地思考与数学表达能力. 案例1 辗转相除法
辗转相除法求两个数的最大公约数,其算法步骤可以描述如下:
第一步,给定两个正整数m,n.
第二步,求余数r:计算m除以n,将所得余数存放到变量r中.
第三步,更新被除数和余数:m=n,n=r.
第四步,判断余数r是否为0.若余数为0,则输出结果;否则转向第二步继续循环执行.
如此循环,直到得到结果为止. 这种算法是由欧几里得在公元前300年左右首先提出的,因而又叫欧几里得算法.
案例2更相减损术
我国早期也有解决求最大公约数问题的算法,就是更相减损术. 《九章算术》是中国古代的数学专著,其中的“更相减损术”也可以用来求两个数的最大公约数,即“可半者半之,不可半者,副置分母、子之数,以少减多,更相减损,求其等也.以等数约之.”翻译为现代语言如下:
第一步,任意给定两个正整数,判断它们是否都是偶数,若是,用2约简;若不是,执行第二步.
第二步,以较大的数减去较小的数,接着把所得的差与较小的数比较,并以大数减小数,继续这个操作,直到所得的数相等为止,则这个数(等数)或这个数与约简的数的乘积就是所求的最大公约数.
应用示例
例1 用辗转相除法求288与123的最大公约数
例2 用更相减损术求98与63的最大公约数
点评:更相减损术与辗转相除法的比较:尽管两种算法分别来源于东、西方古代数学名著,但是二者的算理却是相似的,有异曲同工之妙.主要区别在于辗转相除法进行的是除法运算,即辗转相除;而更相减损术进行的是减法运算,即辗转相减,但是实质都是一个不断的递归过程.
拓展思考(选做):
用辗转相除法或者更相减损术求三个数324,243,135的最大公约数.
例3 (1)用辗转相除法求123和48的最大公约数.
(2)用更相减损术求80和36的最大公约数.
点评:对比两种方法控制好算法的结束,辗转相除法是到达余数为0,更相减损术是到达减数和差相等.
案例3割圆术
阅读教材28页-----30页
案例4 秦九韶算法
提出问题
(1)求多项式f(x)=4x3+3x2+2x+1当x=2时的值有哪些方法?比较它们的特点.
(2)什么是秦九韶算法?
(3)怎样评价一个算法的好坏?
讨论结果:
上面问题有没有更有效的算法呢?我国南宋时期的数学家秦九韶(约1202~1261)在他的著作《数书九章》中提出了下面的算法:
把一个n次多项式f(x)=a n x n+a n-1x n-1+…+a1x+a0改写成如下形式:
f(x)=a n x n+a n-1x n-1+…+a1x+a0
=(a n x n-1+a n-1x n-2+…+a1)x+ a0
=((a n x n-2+a n-1x n-3+…+a2)x+a1)x+a0
=…
=(…((a n x+a n-1)x+a n-2)x+…+a1)x+a0.
求多项式的值时,首先计算最内层括号内一次多项式的值,即
v1=a n x+a n-1,
然后由内向外逐层计算一次多项式的值,即
v2=v1x+a n-2,
v3=v2x+a n-3,
…
v n=v n-1x+a0,
这样,求n次多项式f(x)的值就转化为求n个一次多项式的值.
上述方法称为秦九韶算法.直到今天,这种算法仍是多项式求值比较先进的算法.
应用示例
例1 已知一个5次多项式为f(x)=5x5+2x4+3.5x3-2.6x2+1.7x-0.8,
用秦九韶算法求这个多项式当x=5时的值.
解:根据秦九韶算法,把多项式改写成如下形式:
f(x)=((((5x+2)x+3.5)x-2.6)x+1.7)x-0.8,
按照从内到外的顺序,依次计算一次多项式当x=5时的值:
v0=5;
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=3 451.2;
v5=3 415.2×5-0.8=17 255.2;
所以,当x=5时,多项式的值等于17 255.2.
点评:本题是古老算法与现代计算机语言的完美结合,详尽介绍了思想方法、算法步骤、程序框图和算法语句,是一个典型的算法案例.
结论:秦九韶算法适用一般的多项式f(x)=a n x n+a n-1x n-1+…+a1x+a0的求值问题.直接法乘法运
算的次数最多可到达
2)1
(n
n
,加法最多n次.秦九韶算法通过转化把乘法运算的次数减少到最多n次,加法最多n次.
例2 已知多项式函数f(x)=2x5-5x4+3x2-6x+7,求当x=2时的函数的值.
点评:如果多项式函数中有缺项的话,要以系数为0的项补齐后再计算.
拓展提升
用秦九韶算法求多项式f(x)=7x7+6x6+5x5+4x4+3x3+2x2+x当x=3时的值.
.小结:(1)算法具有通用的特点,可以解决一类问题;(2)解决同一类问题,可以有不同的算法,但计算的效率是不同的,应该选择高效的算法;(3)算法的种类虽多,但三种逻辑结构可以有效地表达各种算法等等.。