1、1高三数学二轮专题复习教案:算法初步一、本章知识结构:二、重点知识回顾1算法的特征(1)确定性:算法的确定性是指一个算法中每一步操作都是明确的,不能模糊或有歧义,算法执行后一定产生明确的结果;(2)有穷性:算法的有穷性是指一个算法必须能够在有限个步骤之内把问题解决,不能无限的执行下去;(3)可行性:算法的可行性是指一个算法对于某一类问题的解决都必须是有效的,切实可行的,并且能够重复使用2、程序框图基本的程序框有起始框,输入、输出框,处理框,判断框其中起始框是任何流程都不可缺少的,而输入、输出框可以用在算法中任何需要输入、输出的位置程序框图中的图框表示各种操作,图框内的文字和符号表示操作的内容,
2、带箭头的流线表示操作的先后次序(1 )顺序结构顺序结构描述的是最自然的结构,它也是最基本的结构,其特点是:语句与语句之间,框与框之间是按从上到下的顺序进行,不能跳跃,不能回头,如图 1 表示的是顺序结构的示意图,它的功能是:A 和 B 两个框是依次执行的,只有在执行完 A 框后,才能接着执行 B 框(2)选择结构选择结构是依据指定条件选择不同的指令的控制结构选择结构和实际问题中的分类处理与数学思想中的分类讨论思想是完全对应的两种常见的选择结构如图 2 和图 3 所示2图 2 的功能是先判断 P 是否成立,若成立,再执行 A 后脱离选择结构图 3 的功能是根据给定的条件 P 是否成立而选择 A
3、框或 B 框,特别注意,无论条件 P 是否成立,只能执行 A 框或 B 框之一,不可能既执行 A 框又执行 B 框,也不可能 A 框、B 框都不执行,无论执行哪条路径,在执行完 A 框或 B 框之后,脱离本选择结构(3)循环结构循环结构就是根据指定条件决定是否重复执行一条或多条指令的控制结构它的特点是:从某处开始,按照一定的条件反复执行某一处理步骤,其中反复执行的处理步骤称为循环体两种常见的循环结构如图 4 和图 5 所示图 4 的功能是先执行 A 框,然后判断给定的条件 P 是否成立,如果 P 条件不成立,再执行 A,然后再对 P 条件作判断,如果 P 条件仍然不成立,又执行 A,如此反复执
4、行 A,直到给定的 P 条件成立为止,此时不再执行 A,脱离本循环结构(又称直到型循环) 图 5 的功能是先判断条件 P 是否成立,若成立,则执行 A 框,再判断条件 P 是否成立,若成立,又执行 A 框,直到不符合条件时终止循环(又称当型循环) ,执行本循环结构后的下一步程序3、基本算法语句算法是计算机科学的基础,本部分要学习的算法语句,是为了将算法转换为计算机能够理解的程序语言和能在计算机上实现的程序所需要的语句,其作用就是实现算法与计算机的转换(1)赋值语句赋值语句是用来表明赋给某一个变量一个具体的确定值的语句赋值语句的一般格式为:变量名=表达式赋值语句还应注意以下几点:赋值号左边只能是
5、变量名字,而不是表达式;赋值号左右不能对换;不能利用赋值语句进行代数式(或符号)的演算(如化简、因式分解等) ;赋值号与数学中的等号的意义不同(2)输入语句输入语句主要用来给变量输入初始数据输入语句的一般格式是:变量=INPUT(“提示内容” ) 输入语句要求输入的值只能是具体的常数,不能是函数、变量或表达式。(3)输出语句任何求解问题的算法,都要把求解的结果“输出” ,这就需要有“输出语句”来控制输出输出语句主要有 PRINT 语句,利用 PEINT 语句可以使结果在屏幕上显示出来3(4)条件语句条件语句就是处理条件分支逻辑结构的算法语句计算机通常是按照程序中语句出现的先后顺序依次往下执行的
6、但有时需要根据某个给定条件是否满足而决定所要执行的语句,这是就需要条件语句Basic 语言中的条件语句主要为 if 语句,if 语句的一般格式是:该语句的功能为,如果表达式结果为真,则执行表达式后面的语句序列 1;如果表达式结果为假,则执行 else 后面的语句序列 2if 语句的最简单的格式是:该语句的功能为,如果表达式结果为真,则执行表达式后面的语句序列 1,否则跳过语句序列 1(5)循环语句循环语句是用来处理算法中的循环结构的程序语言当遇到有规律的重复运算,或者在程序中需要对某些语句进行重复的执行时,需要用循环语句进行控制Basic 程序语言中常用的有两种循环语句:WHILE 循环和 U
7、NTIL 循环WHILE 循环的格式为:UNTIL 循环的格式为:WHILE 循环结构,首先要求对条件进行判断,如果条件为真,则执行循环体部分,每次开始执行循环体前,都要判断条件是否为真这样重复执行,一直到条件为假时,就跳过循环体部分,结束循环UNTIL 循环结构,首选执行循环体,再检查条件,当条件不成立时,继续执行循环体,当条件成立时,就跳过循环体部分,结束循环(6)辗转相除法:求最大公约数的方法就是辗转相除法也叫欧几里德算法,它是由欧几里德在公元前300 年左右首先提出的利用辗转相除法求最大公约数的步骤如下:第一步:用较大的数 除以较小的数 得到一个商 和一个余数 ;mn0q0r第二步:若
8、 ,则 为 的最大公约数;若 ,则用除数 除以余数 得到0rn, rn0r一个商 和一个余数 ;1q1第三步:若 ,则 为 的最大公约数;若 ,则用除数 除以余数 得到rr,m10r0r1rIF 表达式语句序列 1;ELSE语句序列 2;END IFIF 表达式语句序列 1;END IFWHILE 条件循环体WENDDO循环体LOOP UNTIL 条件4一个商 和一个余数 ;2q2r依次计算直至 ,此时所得到的 即为所求的最大公约数0n1nr(7)更相减损术我国早期也有解决求最大公约数问题的算法,就是更相减损术更相减损术求最大公约数的步骤如下:可半者半之,不可半者,副置分母之数,以少减多,更相
9、减损,求其等也,以等数约之翻译出来为:第一步:任意给出两个正数;判断它们是否都是偶数若是,用 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
10、-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=anvk=vk-1+an-k(k=1,2,n)这是一个在秦九韶算法中反复执行的步骤,可以用循环结构来实现。(9)进位制进位制是一种记数方式,用有限的数字在不同的位置表示不同的数值。可使用数字符号的
11、个数称为基数,基数为 n,即可称 n 进位制,简称 n 进制。现在最常用的是十进制,通常使用 10 个阿拉伯数字 0-9 进行记数。对于任何一个数,我们可以用不同的进位制来表示。比如:十进数 57,可以用二进制表示为 111001,也可以用八进制表示为 71、用十六进制表示为 39,它们所代表的数值都是一样的。一般地,若 k 是一个大于一的整数,那么以 k 为基数的 k 进制可以表示为:,10() 10. ,0,.)nnnaaa 而表示各种进位制数一般在数字右下脚加注来表示,如 111001(2)表示二进制数,34 (5)表示 5 进制数5三、考点剖析考点一:自然语言表示的算 法【内容解读】通
12、过对解决具体问题过程与步骤的分析,体会算法的思想,了解算法的含义;对于某一问题往往可以设计出多种算法,通过选用步骤最少的、结构最好的算法。【命题规律】以选择题或解答题的题型为主,难度不大。例 1、烧水泡茶需要洗刷茶具(5 min)、刷水壶(2 min)、烧水(8 min)、泡茶(2 min)等个步骤、从下列选项中选最好的一种算法 ( )(A)第一步:洗刷茶具;第二步:刷水壶;第三步:烧水;第四步:泡茶(B)第一步:刷水壶;第二步:洗刷茶具;第三步:烧水;第四步:泡茶(C )第一步:烧水;第二步:刷水壶;第三步:洗刷茶具;第四步:泡茶(D)第一步:烧水;第二步:烧水的同时洗刷茶具和刷水壶;第三步
13、:泡茶解:烧水要 8 分钟,这时刚好刷茶具和水壶,可节省时间。所以选(D) 。点评:一个问题的算法有多种,我们应该选择结构最好的算法。例 2、已知直角三角形的两直角边长分别为 ,设计一个求该三角形周长的算法ab,解:由勾股定理,可求出斜边 ,从而周长 2c2lab算法步骤如下:第一步:输入实数 ;ab,第二步:计算 的结果,并将这个结果赋给 c;2第三步:执行计算: ;lc第四步:输出 l点评:用自然语言描述算法,然后才能画出程序框图,写出程序。因此,用自然描述算法是程序设计的基础。考点二:程序框图 【内容解读】顺序结构、选择结构和循环结构是算法的三种基本逻辑结构在画流程图时,首先要进行逻辑结
14、构的选择,若求只含有一个关系式的解析式的函数的函数值时,只用顺序结构就能解决,顺序结构是任何一个算法中必不可少的结构选择结构主要用在一些需要依据选择进行判断的算法中,如分段函数的求值、数据的大小关系比较等问题循环结构主要用在一些有规律的重复计算的算法中,如累加求和、累乘求积等问题用循环结构表达算法,关键要做好以下三点:确定循环变量和初始值;确定算法中反复执行的部分,即循环体;确定循环的终止选择循环结构又分为当型(hile 型)和直到型(Until 型)两种当型循环在每次执行循环体前对控制循环的选择进行判断,当选择满足时执行循环体,不满足则停止;直到型循环在执行了一次循环体之后,对控制循环的选择
15、进行判断,当选择不满足时执行循环体,满足则停止两种循环只是实现循环的不同方法,它们是可以互相转换的对同一个问题如果分别用当型循环和直到型循环来处理的话,那么两者判断的条件恰好相反【命题规律】考查程序框图的知识经常出现在高考的选择题或填空题中,理解程序框图中,程序的流向,执行步骤。难度属中等。6例 3、 (2008 广东)阅读图 1 的程序框图,若输入 ,4m,则输出 , 6nai(注:框图中的赋值符号“ ”也可以写成“ ”或“ ”):解:要结束程序的运算,就必须通过 整除 的条件运算,na而同时 也整除 ,那么 的最小值应为 和 的最小公倍mam数 12,即此时有 。3i因此填:12,3点评:
16、这是一个直到型循环结构的程序框图,求解时,最好先写出程序运行的前几步,再总结出规律,最后才找到答案。例 4、 (2008 山东)执行右边的程序框图,若,则输出的 0.8pn解:循环的第一步:S ,n2 ,1循环的第二步:S ,n3 ,4循环的第三步:S ,n4 ,0.82因此输出 .n点评:这是一个当型循环结构的程序框图,解法还是一样,从第一步开始写,直到循环的条件不成立时,结束循环,输出结果。例 5、 (2008 海南、宁夏)右面的程序框图,如果输入三个实数 a,b,c,要求输出这三个数中最大的数,那么在空白的判断框中,应该填入下面四个选项中的( )A BxxcC Dcbb解:由流程图可知第
17、一个选择框作用是比较 x 与 b 的大小,故第二个选择框的作用应该是比较 x 与 c 的大小,故应选;点评:本题考查条件结构的程序框图,求解时,对字母比较难理解,可以取一些特殊的数值,代进去,方便理解。从以上三题来看,因为算法是新课程中的新增加的内容,因此它也必然是新高考中的一个热点,应高度重视。考点三:基 本 算 法 语 句【内容解读】算法语句是表达算法的简单而实用的好方法,要注意各语句的作用,准确开始 1in 整除 a?是输入 mn,结束输出 i,图 1否1i开始输入 abc, ,xxbxc输出结束是是否否开始 10nS,?p是输入 p结束输出 n12nS否图 27Read xIf 0 T
18、hen1yElse xEnd IfPrint y(例 6)理解赋值语句,灵活表达选择语句,注意 WHILE 语句和 UNTIL 语句的区别(1)输入、输出语句和赋值语句基本对应于算法中的顺序结构,这是任何一个算法都用到的语句,利用输入、输出语句和赋值语句设计算法时应明确:需输入信息时用 INPUT 语句,需输出信息时用 PRINT 语句当变量需要的数据较少或给变量赋予表达式时,用赋值语句即可,当变量需要输入多组数据且程序重复使用时,使用输入语句较好当然,赋值语句还具有将一个变量的值赋给另一个变量,前一个变量的值保持不变的功能(2)选择语句是表达算法中的选择结构,因为算法的流程根据选择是否成立有
19、不同的流向,就需要对选择作出判断,所以算法中要用到选择语句在某些较复杂的算法中,有时需要对按选择要求执行的某一语句(特别是 Else 后的语句)继续按照另一选择进行判断,这时可以再利用一选择语句完成这一要求,这就需要选择语句的嵌套(3)循环语句是用来实现循环结构的,在本章我们主要需要掌握 WHILE 语句和 UNTIL语句【命题规律】考查基本算法语句的试题出现在选择题、填空题或解答题中都有可能,属中等偏难。例 6、 (2008 江苏模拟)右边是根据所输入的 值计算 值的一xy个算法程序, 若 依次取数列 中的前 200 项,x10n()N则所得 值中的最小值为 . y(注:程序中的赋值符号“
20、”也可以写成“ ”或“ ”):解:1n200,所以, 1 1,109n当 x0,即 0x1 时,由 y1x,得 1y2,当 x0,即 x0 时,由 y1x,得 1y1 ,19 09所以,y 值中的最小值为 1。点评:本题考查条件语句,与数列和不等式结合,属中等难度的试题。例 7、 (2008 江苏模拟)已知伪代码如下,则输出结果 S= . (注:程序中的赋值符号“ ”也可以写成“ ”或“ ”):I0S0While I6II+2SS+I 2End whilePrint S解:第一步:I2,S4,第二步:I4,S416,第三步:I6,S4163656,所以,输出 56。点评:这是一个当型循环语句,
21、求解时,写出前面几步中循环体的结果即可。例 8、某电信部门规定:拨打市内电话时,如果通话时间不超过 3 分钟,则收取通话费8INPUT tIF t= 3 THENc=0.2ELSEc=0.2+0.1(t-3)END IFPRINT cEND0.2 元,如果通话时间超过 3 分钟,则超过部分以每分钟 0.1 元收取通话费(通话不足 1 分钟时按 1 分钟计) ,试设计一个计算通话费用的算法 .要求写出算法,画出程序框图,编写程序 .解: 我们用 c(单位:元)表示通话费,t(单位:分钟)表示通话时间,则依题意有 3),(1.02,tt算法步骤如下:第一步,输入通话时间 t;第二步,如果 t3,那
22、么 c = 0.2 ;否则令 c = 0.2+0.1 (t3);第三步,输出通话费用 c ;程序框图如图所示点评:这是综合考查程序算法中的程序框图,程序的写法,属中等偏难试题。考点四:算 法 案 例【内容解读】掌握辗转相除法、更相减损术求最大公约数的方法;掌握秦九韶算法,各种进位制之间的转换方法。【命题规律】多以选择题或填空题为主,属容易题。例 9、用秦九韶算法计算多项式 当1876543)( 2346 xxxxf时的值时,需要做乘法和加法的次数共 次. 4.0x解:12 次。对于一个 次多项式,利用秦九韶算法计算,只要做 次乘法和 次加法。n n点评:本题考查秦九韶算法中加法与乘法的最优化问
23、题。例 10、下列各数中最小的数是 ( )A. B. C. D. )985)6(210)4(10)2(1解: 89577, 26 216078,( )(14 364 , 12 512 412 312 212163,)4(10)2(所以,选(D) 。点评:本题考查进位制之间的转换,将所以其它进制数转换为十进制数来比较大小。9四、方法总结与 2009 年高考预测方法总结1、表达算法的方法有自然语言、流程图和基本算法语句三种,先有自然语言、再画流程图,最后才能写出基本算法语句,即程序;2、程序框图有顺序结构、选择结构和循环结构三种,注意它们的区别与联系;3、基本算法语句中,输入、输出语句,赋值语句,
24、是一般程序都要的,根据条件的不同选择条件语句、循环语句,也可能两者都要选择。2009 高考预测从近两年的高考试题来看,主要是考查程序框图,题型多以选择题或填空题为主,估计2009 年高考中,还是考查程序框图,以选择题或填空题的形式出现。五、复习建议一般地讲,算法是人们解决问题的固定步骤和方法在本模块中,我们应重点掌握的是在数值计算方面的算法高考新课程标准数学考试大纲对算法初步的要求是:(1)算法的含义、流程图: 了解算法的含义,了解算法的思想; 理解流程图的三种基本逻辑结构:顺序结构、选择结构、循环结构(2)基本算法语句:理解几种基本算法语句 输入语句、输出语句、赋值语句、选择语句、循环语句的含义注意的是,考纲对算法的含义和算法的思想的要求是“了解” ,而对流程图和基本算法语句的要求是“理解” 由此可见,复习中应把重点放在流程图和基本算法语句上,要对这两方面的内容重点掌握、多加练习表达算法的方法有自然语言、流程图和基本算法语句三种自然语言描述算法只是学习算法的一个过渡,流程图和基本算法语句才是学习的重点,同时也是难点,尤其是选择结构和循环结构,在复习中是重中之重