资源描述
高三数学二轮专题复习教案:算法初步
一、本章知识结构:
二、重点知识回顾
1.算法的特征
(1)确定性:算法的确定性是指一个算法中每一步操作都是明确的,不能模糊或有歧义,算法执行后一定产生明确的结果;
(2)有穷性:算法的有穷性是指一个算法必须能够在有限个步骤之内把问题解决,不能无限的执行下去;
(3)可行性:算法的可行性是指一个算法对于某一类问题的解决都必须是有效的,切实可行的,并且能够重复使用.
2、程序框图
基本的程序框有起始框,输入、输出框,处理框,判断框.其中起始框是任何流程都不可缺少的,而输入、输出框可以用在算法中任何需要输入、输出的位置.程序框图中的图框表示各种操作,图框内的文字和符号表示操作的内容,带箭头的流线表示操作的先后次序.
(1)顺序结构
顺序结构描述的是最自然的结构,它也是最基本的结构,
其特点是:语句与语句之间,框与框之间是按从上到下的顺
序进行,不能跳跃,不能回头,如图1表示的是顺序结构的
示意图,它的功能是:A和B两个框是依次执行的,只有在
执行完A框后,才能接着执行B框.
(2)选择结构
选择结构是依据指定条件选择不同的指令的控制结构.选择结构和实际问题中的分类处理与数学思想中的分类讨论思想是完全对应的.
两种常见的选择结构如图2和图3所示.
图2的功能是先判断P是否成立,若成立,再执行A后脱离选择结构.
图3的功能是根据给定的条件P是否成立而选择A框或B框,特别注意,无论条件P是否成立,只能执行A框或B框之一,不可能既执行A框又执行B框,也不可能A框、B框都不执行,无论执行哪条路径,在执行完A框或B框之后,脱离本选择结构.
(3)循环结构
循环结构就是根据指定条件决定是否重复执行一条或多条指令的控制结构.它的特点是:从某处开始,按照一定的条件反复执行某一处理步骤,其中反复执行的处理步骤称为循环体.
两种常见的循环结构如图4和图5所示.
图4的功能是先执行A框,然后判断给定的条件P是否成立,如果P条件不成立,再执行A,然后再对P条件作判断,如果P条件仍然不成立,又执行A,…,如此反复执行A,直到给定的P条件成立为止,此时不再执行A,脱离本循环结构(又称直到型循环).
图5的功能是先判断条件P是否成立,若成立,则执行A框,再判断条件P是否成立,若成立,又执行A框,…,直到不符合条件时终止循环(又称当型循环),执行本循环结构后的下一步程序.
3、基本算法语句
算法是计算机科学的基础,本部分要学习的算法语句,是为了将算法转换为计算机能够理解的程序语言和能在计算机上实现的程序所需要的语句,其作用就是实现算法与计算机的转换.
(1)赋值语句
赋值语句是用来表明赋给某一个变量一个具体的确定值的语句.赋值语句的一般格式为:变量名=表达式.
赋值语句还应注意以下几点:①赋值号左边只能是变量名字,而不是表达式;②赋值号左右不能对换;③不能利用赋值语句进行代数式(或符号)的演算(如化简、因式分解等);④赋值号与数学中的等号的意义不同.
(2)输入语句
输入语句主要用来给变量输入初始数据.输入语句的一般格式是:变量=INPUT(“提示内容”).输入语句要求输入的值只能是具体的常数,不能是函数、变量或表达式。
(3)输出语句
任何求解问题的算法,都要把求解的结果“输出”,这就需要有“输出语句”来控制输出.输出语句主要有PRINT语句,利用PEINT语句可以使结果在屏幕上显示出来.
(4)条件语句
条件语句就是处理条件分支逻辑结构的算法语句.计算机通常是按照程序中语句出现的先后顺序依次往下执行的.但有时需要根据某个给定条件是否满足而决定所要执行的语句,这是就需要条件语句.Basic语言中的条件语句主要为if语句,if语句的一般格式是:
IF 表达式
语句序列1;
ELSE
语句序列2;
END IF
该语句的功能为,如果表达式结果为真,则执行表达式后面的语句序列1;如果表达式结果为假,则执行else后面的语句序列2.
if语句的最简单的格式是:
IF 表达式
语句序列1;
END IF
该语句的功能为,如果表达式结果为真,则执行表达式后面的语句序列1,否则跳过语句序列1.
(5)循环语句
循环语句是用来处理算法中的循环结构的程序语言.当遇到有规律的重复运算,或者在程序中需要对某些语句进行重复的执行时,需要用循环语句进行控制.Basic程序语言中常用的有两种循环语句:WHILE循环和UNTIL循环.
WHILE循环的格式为:
WHILE 条件
循环体
WEND
UNTIL循环的格式为:
DO
循环体
LOOP UNTIL 条件
WHILE循环结构,首先要求对条件进行判断,如果条件为真,则执行循环体部分,每次开始执行循环体前,都要判断条件是否为真.这样重复执行,一直到条件为假时,就跳过循环体部分,结束循环.
UNTIL循环结构,首选执行循环体,再检查条件,当条件不成立时,继续执行循环体,当条件成立时,就跳过循环体部分,结束循环.
(6)辗转相除法:
求最大公约数的方法就是辗转相除法.也叫欧几里德算法,它是由欧几里德在公元前300年左右首先提出的.利用辗转相除法求最大公约数的步骤如下:
第一步:用较大的数除以较小的数得到一个商和一个余数;
第二步:若,则为的最大公约数;若,则用除数除以余数得到一个商和一个余数;
第三步:若,则为的最大公约数;若,则用除数除以余数得到一个商和一个余数;
……
依次计算直至,此时所得到的即为所求的最大公约数.
(7)更相减损术
我国早期也有解决求最大公约数问题的算法,就是更相减损术.
更相减损术求最大公约数的步骤如下:可半者半之,不可半者,副置分母之数,以少减多,更相减损,求其等也,以等数约之.
翻译出来为:
第一步:任意给出两个正数;判断它们是否都是偶数.若是,用2约简;若不是,执行第二步.
第二步:以较大的数减去较小的数,接着把较小的数与所得的差比较,并以大数减小数.继续这个操作,直到所得的数相等为止,则这个数(等数)就是所求的最大公约数.
(8)秦九韶算法
应用秦九韶算法完成一般的多项式f(x)=anxn+an-1xn-1+….+a1x+a0求值问题
f(x)=anxn+an-1xn-1+….+a1x+a0
=( anxn-1+an-1xn-2+….+a1)x+a0 =(( anxn-2+an-1xn-3+….+a2)x+a1)x+a0
=......=(...( anx+an-1)x+an-2)x+...+a1)x+a0
求多项式的值时,首先计算最内层括号内依次多项式的值,即v1=anx+an-1
然后由内向外逐层计算一次多项式的值,即
v2=v1x+an-2 v3=v2x+an-3 ...... vn=vn-1x+a0
这样,把n次多项式的求值问题转化成求n个一次多项式的值的问题
观察秦九韶算法的数学模型,计算vk时要用到vk-1的值,若令v0=an,我们可以得到下面的递推公式:
v0=an
vk=vk-1+an-k(k=1,2,…n)
这是一个在秦九韶算法中反复执行的步骤,可以用循环结构来实现。
(9)进位制
进位制是一种记数方式,用有限的数字在不同的位置表示不同的数值。可使用数字符号的个数称为基数,基数为n,即可称n进位制,简称n进制。现在最常用的是十进制,通常使用10个阿拉伯数字0-9进行记数。对于任何一个数,我们可以用不同的进位制来表示。比如:十进数57,可以用二进制表示为111001,也可以用八进制表示为71、用十六进制表示为39,它们所代表的数值都是一样的。
一般地,若k是一个大于一的整数,那么以k为基数的k进制可以表示为:
,
而表示各种进位制数一般在数字右下脚加注来表示,如111001(2)表示二进制数,34(5)表示5进制数
三、考点剖析
考点一:自然语言表示的算法
【内容解读】通过对解决具体问题过程与步骤的分析,体会算法的思想,了解算法的含义;对于某一问题往往可以设计出多种算法,通过选用步骤最少的、结构最好的算法。
【命题规律】以选择题或解答题的题型为主,难度不大。
例1、烧水泡茶需要洗刷茶具(5 min)、刷水壶(2 min)、烧水(8 min)、泡茶(2 min)等个步骤、从下列选项中选最好的一种算法 ( )
(A)第一步:洗刷茶具;第二步:刷水壶;第三步:烧水;第四步:泡茶
(B)第一步:刷水壶;第二步:洗刷茶具;第三步:烧水;第四步:泡茶
(C)第一步:烧水;第二步:刷水壶;第三步:洗刷茶具;第四步:泡茶
(D)第一步:烧水;第二步:烧水的同时洗刷茶具和刷水壶;第三步:泡茶
解:烧水要8分钟,这时刚好刷茶具和水壶,可节省时间。所以选(D)。
点评:一个问题的算法有多种,我们应该选择结构最好的算法。
例2、已知直角三角形的两直角边长分别为,设计一个求该三角形周长的算法.
解:由勾股定理,可求出斜边,从而周长.
算法步骤如下:
第一步:输入实数;
第二步:计算的结果,并将这个结果赋给c;
第三步:执行计算:;
第四步:输出.
点评:用自然语言描述算法,然后才能画出程序框图,写出程序。因此,用自然描述算法是程序设计的基础。
考点二:程序框图
【内容解读】顺序结构、选择结构和循环结构是算法的三种基本逻辑结构.在画流程图时,首先要进行逻辑结构的选择,若求只含有一个关系式的解析式的函数的函数值时,只用顺序结构就能解决,顺序结构是任何一个算法中必不可少的结构.选择结构主要用在一些需要依据选择进行判断的算法中,如分段函数的求值、数据的大小关系比较等问题.循环结构主要用在一些有规律的重复计算的算法中,如累加求和、累乘求积等问题.用循环结构表达算法,关键要做好以下三点:①确定循环变量和初始值;②确定算法中反复执行的部分,即循环体;③确定循环的终止选择.
循环结构又分为当型(While型)和直到型(Until型)两种.当型循环在每次执行循环体前对控制循环的选择进行判断,当选择满足时执行循环体,不满足则停止;直到型循环在执行了一次循环体之后,对控制循环的选择进行判断,当选择不满足时执行循环体,满足则停止.两种循环只是实现循环的不同方法,它们是可以互相转换的.对同一个问题如果分别用当型循环和直到型循环来处理的话,那么两者判断的条件恰好相反.
【命题规律】考查程序框图的知识经常出现在高考的选择题或填空题中,理解程序框图中,程序的流向,执行步骤。难度属中等。
开始
n整除a?
是
输入
结束
输出
图1
否
例3、(2008广东)阅读图1的程序框图,若输入,,则输出 , .
(注:框图中的赋值符号“”也可以写成“”或“”)
解:要结束程序的运算,就必须通过整除的条件运算,
而同时也整除,那么的最小值应为和的最小公倍
数12,即此时有。
因此填:12,3
开始
?
是
输入p
结束
输出
否
图2
点评:这是一个直到型循环结构的程序框图,求解时,最好先写出程序运行的前几步,再总结出规律,最后才找到答案。
例4、(2008山东)执行右边的程序框图,若,则输出的 .
解:循环的第一步:S=,n=2,
循环的第二步:S=+,n=3,
循环的第三步:S=,n=4,
因此输出
点评:这是一个当型循环结构的程序框图,
解法还是一样,从第一步开始写,直到循环的
开始
输入
输出
结束
是
是
否
否
条件不成立时,结束循环,输出结果。
例5、(2008海南、宁夏)右面的程序框图,如果输入三个实数a,b,c,要求输出这三个数中最大的数,那么在空白的判断框中,应该填入下面四个选项中的( )
A. B.
C. D.
解:由流程图可知第一个选择框作用是比较x与b的大小,
故第二个选择框的作用应该是比较x与c的大小,故应选A;
点评:本题考查条件结构的程序框图,求解时,对字母比较难理解,可以取一些特殊的数值,代进去,方便理解。从以上三题来看,因为算法是新课程中的新增加的内容,因此它也必然是新高考中的一个热点,应高度重视。
考点三:基本算法语句
【内容解读】算法语句是表达算法的简单而实用的好方法,要注意各语句的作用,准确理解赋值语句,灵活表达选择语句,注意WHILE语句和UNTIL语句的区别.
(1)输入、输出语句和赋值语句基本对应于算法中的顺序结构,这是任何一个算法都用到的语句,利用输入、输出语句和赋值语句设计算法时应明确:需输入信息时用INPUT语句,需输出信息时用PRINT语句.当变量需要的数据较少或给变量赋予表达式时,用赋值语句即可,当变量需要输入多组数据且程序重复使用时,使用输入语句较好.当然,赋值语句还具有将一个变量的值赋给另一个变量,前一个变量的值保持不变的功能.
(2)选择语句是表达算法中的选择结构,因为算法的流程根据选择是否成立有不同的流向,就需要对选择作出判断,所以算法中要用到选择语句.在某些较复杂的算法中,有时需要对按选择要求执行的某一语句(特别是Else后的语句)继续按照另一选择进行判断,这时可以再利用一选择语句完成这一要求,这就需要选择语句的嵌套.
(3)循环语句是用来实现循环结构的,在本章我们主要需要掌握WHILE语句和UNTIL语句.
Read
If 0 Then
Else
End If
Print
(例6)
【命题规律】考查基本算法语句的试题出现在选择题、填空题或解答题中都有可能,属中等偏难。
例6、(2008江苏模拟)右边是根据所输入的值计算值的一个算法程序, 若依次取数列中的前200项,则所得值中的最小值为 .
(注:程序中的赋值符号“”也可以写成“”或“”)
解:1≤n≤200,所以,-≤-1≤ 1,
当x>0,即0<x≤1时,由y=1+x,得1<y≤2,
当x≤0,即-≤x≤0时,由y=1-x,得1≤y≤1+,
所以,y值中的最小值为1。
点评:本题考查条件语句,与数列和不等式结合,属中等难度的试题。
例7、(2008江苏模拟)已知伪代码如下,则输出结果S= ▲ .
(注:程序中的赋值符号“”也可以写成“”或“”)
I←0
S←0
While I<6
I←I+2
S←S+I2
End while
Print S
解:第一步:I=2,S=4,第二步:I=4,S=4+16,第三步:I=6,S=4+16+36=56,所以,输出56。
点评:这是一个当型循环语句,求解时,写出前面几步中循环体的结果即可。
例8、某电信部门规定:拨打市内电话时,如果通话时间不超过3分钟,则收取通话费0.2元,如果通话时间超过3分钟,则超过部分以每分钟0.1元收取通话费(通话不足1分钟时按1分钟计),试设计一个计算通话费用的算法.要求写出算法,画出程序框图,编写程序.
解: 我们用c(单位:元)表示通话费,t(单位:分钟)表示通话时间,
则依题意有
算法步骤如下:第一步,输入通话时间t;
第二步,如果t≤3,那么c = 0.2 ;否则令 c = 0.2+0.1 (t-3);
第三步,输出通话费用c ;
程序框图如图所示
INPUT t
IF t<= 3 THEN
c=0.2
ELSE
c=0.2+0.1(t-3)
END IF
PRINT c
END
点评:这是综合考查程序算法中的程序框图,程序的写法,属中等偏难试题。
考点四:算法案例
【内容解读】掌握辗转相除法、更相减损术求最大公约数的方法;掌握秦九韶算法,各种进位制之间的转换方法。
【命题规律】多以选择题或填空题为主,属容易题。
例9、用秦九韶算法计算多项式当时的值时,需要做乘法和加法的次数共 次.
解:12次。
对于一个次多项式,利用秦九韶算法计算,只要做次乘法和次加法。
点评:本题考查秦九韶算法中加法与乘法的最优化问题。
例10、下列各数中最小的数是 ( )
A. B. C. D.
解: =8×9+5=77,=2×62+1×6+0=78,
=1×43=64 , =1×25+1×24+1×23+1×22+1×2+1=63,
所以,选(D)。
点评:本题考查进位制之间的转换,将所以其它进制数转换为十进制数来比较大小。
四、方法总结与2009年高考预测
方法总结
1、表达算法的方法有自然语言、流程图和基本算法语句三种,先有自然语言、再画流程图,最后才能写出基本算法语句,即程序;
2、程序框图有顺序结构、选择结构和循环结构三种,注意它们的区别与联系;
3、基本算法语句中,输入、输出语句,赋值语句,是一般程序都要的,根据条件的不同选择条件语句、循环语句,也可能两者都要选择。
2009高考预测
从近两年的高考试题来看,主要是考查程序框图,题型多以选择题或填空题为主,估计2009年高考中,还是考查程序框图,以选择题或填空题的形式出现。
五、复习建议
一般地讲,算法是人们解决问题的固定步骤和方法.在本模块中,我们应重点掌握的是在数值计算方面的算法.
高考新课程标准数学考试大纲对《算法初步》的要求是:
(1)算法的含义、流程图:①了解算法的含义,了解算法的思想;②理解流程图的三种基本逻辑结构:顺序结构、选择结构、循环结构.
(2)基本算法语句:理解几种基本算法语句——输入语句、输出语句、赋值语句、选择语句、循环语句的含义.
注意的是,考纲对算法的含义和算法的思想的要求是“了解”,而对流程图和基本算法语句的要求是“理解”.由此可见,复习中应把重点放在流程图和基本算法语句上,要对这两方面的内容重点掌握、多加练习.
表达算法的方法有自然语言、流程图和基本算法语句三种.自然语言描述算法只是学习算法的一个过渡,流程图和基本算法语句才是学习的重点,同时也是难点,尤其是选择结构和循环结构,在复习中是重中之重.
9
展开阅读全文