第五章算法初步2011高考导航考纲解读1.了解算法的含义,能用自然语言描述算法.2.了解设计流程图表达解决问题的过程,了解流程图的三种基本逻辑结构,会用流程图表示算法.2011高考导航考纲解读3.了解基本算法语句,了解算法和程序语言的区别,了解用伪代码表示的几种基本算法语句:赋值语句、输入语句、输出语句、条件语句、循环语句.4.能用自然语言、流程图和伪代码表述算法.2011高考导航命题探究从历年高考看:1.本章主要考查程序框图及一些实际问题的流程图.2.题型多以填空题形式出现,难度不大.3.侧重基本技能的考查,已发展成为考试热点问题.如2009年高考天津卷第6题等.2011高考导航命题探究预计在2011年高考中:1.本节知识仍将是新课标地区考查的热点问题,内容以程序框图的考查为主.2.形式上看,以填空题的形式出现,以实际问题为背景.第一节算法与流程图基础知识梳理1.算法的含义(1)算法可以理解为由基本运算及规定的运算顺序所构成的完整的解题步骤,或者看成按照要求设计好的有限的确切的计算序列,并且这样的步骤或序列能解这一类问题.基础知识梳理(2)算法的规则序列满足的条件(特性):有穷性算法必须在.确定性算法中的每一个步骤是.输入算法有输入.输出算法有输出.可执行性算法中的每一个步骤都是为下一步准备且经过有限步后能得出结果.有限步结束明明确和有效的数据结果基础知识梳理2.流程图画流程图的规则:(1)使用标准的图形符号.(2)框图一般按从上到下,从左到右的方向画.(3)除判断框外,其它流程图符号只有一个进入点和一个退出点,判断框是具有超过一个退出点的唯一符号.基础知识梳理(4)起始框只有一条流出线,终止框只有流入线.(5)判断框分两大类,一类是“是”与“不是”两分支的判断,而且有且仅有两个结果;另一类是多分支判断,有几种不同的结果.(6)在图形符号内描述的语言要非常简练清楚.一条基础知识梳理3.算法的三种基本逻辑结构和框图表示(1)顺序结构顺序结构描述的是最简单的算法结构,语句与语句之间,框与框之间是按从上到下的顺序进行的,如图只有执行完框才能执行框.AB基础知识梳理(2)条件结构一个算法中,经常会遇到一些条件的判断,算法的流程,根据条件是否成立有不同的流向,这种先根据条件作出判断,再决定执行哪一种操作的结构称为条件结构,如图所示.基础知识梳理(3)循环结构根据指定条件决定是否重复执行的控制结构称为循环结构.即从某处开始,按照一定条件反复执行某一处理步骤,反复执行的处理步骤称为.一条或多条指令循环体基础知识梳理算法中的循环结构执行条令时可以无限的重复执行,这种说法是否正确?【思考·提示】不正确,算法是经过有限步运算出结果的运算.三基能力强化1.下列说法不正确的是____.①任何一个算法一定含有顺序结构;②任何一个算法都可能由顺序结构、条件结构、循环结构构成;③循环结构中一定包含条件结构;④条件结构中一定包含循环结构答案:④三基能力强化2.下列关于流程图的说法中正确的个数是______.①用流程图表示算法直观、形象,容易理解;②流程图能够清楚地展现算法的逻辑结构,也就是通常所说的一图胜万言;三基能力强化③在流程图中,起止框是任何流程不可少的;④输入框和输出框可用在算法中任何需要输入、输出的位置.解析:依流程图的定义知,①②③④都正确.答案:4三基能力强化3.张老师给学生出了一道题,“试写一个程序框图,计算S=1++++”,结果发现同学们有如下几种做法,其中有一个是错误的,这个错误的做法是________.13151719三基能力强化三基能力强化解析:③是错误的,该程序框图只能计算“S=1+13+15+17”,没有把19计算进去.答案:③三基能力强化4.对任意非零实数a,b,若a⊗b的运算原理如图所示,则lg1000⊗(12)-2=________.三基能力强化答案:1解析:由于a=lg1000=3,b=(12)-2=4,由于ab,故其结果为4-13=1.三基能力强化5.(2008年高考宁夏、海南卷改编)如图所示的程序框图,如果输入三个实数a,b,c,要求输出这三个数中最大的数,那么在空白的判断框中,应该填入______.三基能力强化三基能力强化解析:根据程序框图判断,在空白的判断框内应填入cx.答案:cx课堂互动讲练算法设计的要求:①写出的算法,一般能解决一类问题,而且能够重复使用.②要使算法尽量简单、步骤尽量少且明确有效.③要保证算法的正确性,并且能在计算机上执行.算法的设计考点一课堂互动讲练例1(1)写出判断方程ax2+x-1=0(a∈R)根的情况的算法步骤;(2)设计一个算法,对于任意给定的四个数a,b,c,d,求出其中的最小者.【思路点拨】(1)中注意对a进行讨论,所以主要用条件结构设计算法;(2)中注意设计一个存放最小值的变量.课堂互动讲练【解】(1)算法步骤如下:S1输入a;S2判断a=0?若a←0,执行S6;否则执行S3;S3判断Δ=1+4a的值,若Δ0,执行S7;否则执行S4;S4判断Δ=1+4a的值,若Δ=0,执行S8;否则执行S5;S5输出“方程没有实数根”,转S9;课堂互动讲练S6输出“方程的根为1”,转S9;S7输出“方程有两个不等的实数根”,转S9;S8输出“方程有两个相等的实数根”,转S9;S9结束.(2)算法步骤如下:S1输入a,b,c,d四个数;S2min←a(用min表示最小数);S3如果bmin,则min←b;S4如果cmin,则min←c;S5如果dmin,则min←d;S6输出min.课堂互动讲练【点评】我们遇到的算法设计问题主要有以下两种类型:一是数值型问题的算法设计,如:解方程(组),解不等式(组),累加求和,累乘求积等问题,这类问题的算法设计,一般可以通过相应的数学模型,把相应的数学方法分解成清晰的步骤使之条理化(如本例(1));二是非数值型问题,如:查找,排序,求最大值、最小值,变量值变换等问题,这类问题的算法设计,一般需要首先建立过程模型,然后借助过程模型写出相应的算法步骤(如本例(2)).课堂互动讲练1.求1×3×5×7×9×11的值,写出其算法.解:算法1:第一步:先求1×3,得到结果3;第二步:将第一步所得结果3再乘以5,得到结果15;第三步:将15乘以7,得到结果105;第四步:将105乘以9,得到结果945;第五步:将945乘以11,得到结果10395,即是最后结果.跟踪训练课堂互动讲练算法2:用P表示被乘数,i表示乘数.S1使P←1;S2使i←3;S3使P←P×i;S4使i←i+2;S5若i≤11,则返回到S3、S4继续执行;否则执行S6;S6输出P.跟踪训练课堂互动讲练1.顺序结构的形式为顺序结构的流程图考点二课堂互动讲练2.顺序结构是最简单的算法结构,语句和语句之间,框与框之间是按从上到下的顺序进行.课堂互动讲练例2求两底面半径分别为1和4且高为4的圆台的表面积及体积,写出该问题的一个算法,并画出程序框图.课堂互动讲练【思路点拨】如图,设两底面半径分别为r1,r2,高为h,母线长为l,上底面面积S1,下底面面积S2,侧面积S3,表面积S,体积V,则S1=πr12,S2=πr22,S3=π(r1+r2)l,V=13(S1+S2+S1S2)h,S=S1+S2+S3,因此必须先求出l,再求S3,才能最终将S求出.课堂互动讲练【解】算法设计如下:第一步:r1=1,r2=4,h=4;第二步:l=;第三步:S1=πr12,S2=πr22,S3=π(r1+r2)l,第四步:S=S1+S2+S3,V=(S1++S2)h;第五步:输出S和V.该算法的程序框图如右图:课堂互动讲练【点评】利用公式求解问题,需要的条件必须先输入,或将已知条件全部输入求出未知的量,然后将公式中涉及的量全部代入求值即可.课堂互动讲练2.求底面边长为8,侧棱长为5的正三棱锥的侧面积及体积.为该问题设计算法并画出流程图.跟踪训练课堂互动讲练跟踪训练解:如图.正三棱锥S-ABC,底面△ABC为正三角形,边长a=8,SC=SB=SA=l=5,SM⊥BC于M,SO⊥面ABC于O,连结OM、OC.先求出体积,根据体积公式V=13Sh可得,由题意知S=34a2,h=l2-R2(OC=R),要求h需先求R,易知R=33a.要求侧面积需课堂互动讲练跟踪训练先求斜高h′,而h′=l2-a24=3,从而求得侧面积S侧=3·12·a·h′=32ah′=36,V=13×34×82×52-(33a)2=16113,课堂互动讲练其算法为:第一步:a=8,l=5;第二步:R=33a;第三步:h=l2-R2,S=34a2;第四步:V=13Sh;第五步:输出V;第六步:h′=l2-a24;第七步:S侧=32ah′;第八步:输出S侧.该算法的流程图如图所示.跟踪训练课堂互动讲练课堂互动讲练条件结构中包含一个判断框,根据给定的条件P是否成立而选择执行A框或B框.特别说明的是无论条件是否成立,只能执行A框或B框之一,不可能既执行A框又执行B框.无论走哪条路径,在执行完A或B之后,都经过b点,然后脱离此条件结构.A或B两个框可以有一个是空的,即不执行任何操作(如图所示).算法的条件结构考点三课堂互动讲练课堂互动讲练例3阅读如图所示的程序框图,若输入x的值为2,则输出的y值为________.课堂互动讲练【思路点拨】本题中两个条件框,分清条件的要求,寻找输出的结果.【解析】框图的实质是一个分段函数问题,此分段函数为y=x2-4x+4(x1)1(x=1)x(x1),若输入x=2,则应代入第一个式子,则有y=x2-4x+4=4-8+4=0.课堂互动讲练【答案】0【点评】利用条件结构解决算法问题时,要引入判断框,要根据题目的要求引入一个或多个判断框,而判断框内的条件不同,对应的下一图框中的内容和操作要相应地进行变化,故要逐个分析判断框内的条件.课堂互动讲练互动探究3.例3条件不变,若输入的x的值为12,则结果如何?解:分段函数为y=x2-4x+4(x1)1(x=1)x(x1),若输入x=12,则应代入第三个式子,则有y=x=12.课堂互动讲练用当型循环结构和直到型循环结构描述算法时,一定要注意两种结构中判断框里的条件是相反的.并且对当型循环结构,“是”时执行循环体,“否”时跳出循环体,而直到型循环结构恰好与当型循环结构相反.算法的循环结构考点四课堂互动讲练例4(解题示范)(本题满分14分)设计算法求11×2+12×3+13×4+…+199×100的值,并画出流程图.【思路点拨】(1)这是一个累加求和问题,共99项相加;(2)设计一个计数变量,一个累加变量,用循环结构实现这一算法.课堂互动讲练【解】算法如下:S1S←0,i←1;3分S2若i≤99成立,则执行S3;否则,输出S,结束算法;5分S3S←S+1i(i+1);S4i←i+1,返回S2.7分流程图:课堂互动讲练法一:当型循环流程图:课堂互动讲练法二:直到型循环流程图:课堂互动讲练【点评】利用循环结构表示算法,第一要先确定是利用当型循环结构,还是直到型循环结构;第二要选择准确的表示累计的变量;第三要注意在哪一步开始循环.课堂互动讲练自我挑战4.(本题满分5分)(2009年高考浙江卷改编)某程序框图如图所示,该程序运行后输出的k的值是________.课堂互动讲练解析:当程序运行到k=3时,S=3+23=11100.当程序运行到k=4时,S=11+211=2059100,故输出k的值为4.答案:4自我挑战规律方法总结1.给出一个问题,设计其算法时应注意:(1)认真分析问题,思考解决问题的一般数学方法;(2)综合考虑此类问题中可能涉及的各种情况;规律方法总结(3)借助有关变量或参数对算法加以表述;(4)将解决问题的过程划分为若干个步骤;(5)用简练的语言将各个步骤表述出来.规律方法总结2.画程序框图应注意的问题(1)画流程图之前应先对问题设计出合理的算法,然后分析算法的逻辑结构,根据逻辑结构画出相应的程序框图.(2)画程序框图时,注意不要混淆了不同的程序