1高三数学二轮专题复习教案:算法初步一、本章知识结构:二、重点知识回顾1.算法的特征(1)确定性:算法的确定性是指一个算法中每一步操作都是明确的,不能模糊或有歧义,算法执行后一定产生明确的结果;(2)有穷性:算法的有穷性是指一个算法必须能够在有限个步骤之内把问题解决,不能无限的执行下去;(3)可行性:算法的可行性是指一个算法对于某一类问题的解决都必须是有效的,切实可行的,并且能够重复使用.2、程序框图基本的程序框有起始框,输入、输出框,处理框,判断框.其中起始框是任何流程都不可缺少的,而输入、输出框可以用在算法中任何需要输入、输出的位置.程序框图中的图框表示各种操作,图框内的文字和符号表示操作的内容,带箭头的流线表示操作的先后次序.(1)顺序结构顺序结构描述的是最自然的结构,它也是最基本的结构,其特点是:语句与语句之间,框与框之间是按从上到下的顺序进行,不能跳跃,不能回头,如图1表示的是顺序结构的示意图,它的功能是:A和B两个框是依次执行的,只有在执行完A框后,才能接着执行B框.(2)选择结构选择结构是依据指定条件选择不同的指令的控制结构.选择结构和实际问题中的分类处理与数学思想中的分类讨论思想是完全对应的.两种常见的选择结构如图2和图3所示.2图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)条件语句3条件语句就是处理条件分支逻辑结构的算法语句.计算机通常是按照程序中语句出现的先后顺序依次往下执行的.但有时需要根据某个给定条件是否满足而决定所要执行的语句,这是就需要条件语句.Basic语言中的条件语句主要为if语句,if语句的一般格式是:该语句的功能为,如果表达式结果为真,则执行表达式后面的语句序列1;如果表达式结果为假,则执行else后面的语句序列2.if语句的最简单的格式是:该语句的功能为,如果表达式结果为真,则执行表达式后面的语句序列1,否则跳过语句序列1.(5)循环语句循环语句是用来处理算法中的循环结构的程序语言.当遇到有规律的重复运算,或者在程序中需要对某些语句进行重复的执行时,需要用循环语句进行控制.Basic程序语言中常用的有两种循环语句:WHILE循环和UNTIL循环.WHILE循环的格式为:UNTIL循环的格式为:WHILE循环结构,首先要求对条件进行判断,如果条件为真,则执行循环体部分,每次开始执行循环体前,都要判断条件是否为真.这样重复执行,一直到条件为假时,就跳过循环体部分,结束循环.UNTIL循环结构,首选执行循环体,再检查条件,当条件不成立时,继续执行循环体,当条件成立时,就跳过循环体部分,结束循环.(6)辗转相除法:求最大公约数的方法就是辗转相除法.也叫欧几里德算法,它是由欧几里德在公元前300年左右首先提出的.利用辗转相除法求最大公约数的步骤如下:第一步:用较大的数m除以较小的数n得到一个商0q和一个余数0r;第二步:若00r,则n为,mn的最大公约数;若00r,则用除数n除以余数0r得到一个商1q和一个余数1r;第三步:若10r,则1r为,mn的最大公约数;若10r,则用除数0r除以余数1r得到一IF表达式语句序列1;ELSE语句序列2;ENDIFIF表达式语句序列1;ENDIFWHILE条件循环体WENDDO循环体LOOPUNTIL条件4个商2q和一个余数2r;……依次计算直至0nr,此时所得到的1nr即为所求的最大公约数.(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-2v3=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)进位制进位制是一种记数方式,用有限的数字在不同的位置表示不同的数值。可使用数字符号的个数称为基数,基数为n,即可称n进位制,简称n进制。现在最常用的是十进制,通常使用10个阿拉伯数字0-9进行记数。对于任何一个数,我们可以用不同的进位制来表示。比如:十进数57,可以用二进制表示为111001,也可以用八进制表示为71、用十六进制表示为39,它们所代表的数值都是一样的。一般地,若k是一个大于一的整数,那么以k为基数的k进制可以表示为:110()110...(0,0,...,,)nnknnaaaaakaaak,而表示各种进位制数一般在数字右下脚加注来表示,如111001(2)表示二进制数,34(5)表示5进制数5三、考点剖析考点一:自然语言表示的算法【内容解读】通过对解决具体问题过程与步骤的分析,体会算法的思想,了解算法的含义;对于某一问题往往可以设计出多种算法,通过选用步骤最少的、结构最好的算法。【命题规律】以选择题或解答题的题型为主,难度不大。例1、烧水泡茶需要洗刷茶具(5min)、刷水壶(2min)、烧水(8min)、泡茶(2min)等个步骤、从下列选项中选最好的一种算法()(A)第一步:洗刷茶具;第二步:刷水壶;第三步:烧水;第四步:泡茶(B)第一步:刷水壶;第二步:洗刷茶具;第三步:烧水;第四步:泡茶(C)第一步:烧水;第二步:刷水壶;第三步:洗刷茶具;第四步:泡茶(D)第一步:烧水;第二步:烧水的同时洗刷茶具和刷水壶;第三步:泡茶解:烧水要8分钟,这时刚好刷茶具和水壶,可节省时间。所以选(D)。点评:一个问题的算法有多种,我们应该选择结构最好的算法。例2、已知直角三角形的两直角边长分别为ab,,设计一个求该三角形周长的算法.解:由勾股定理,可求出斜边22cab,从而周长22labab.算法步骤如下:第一步:输入实数ab,;第二步:计算22ab的结果,并将这个结果赋给c;第三步:执行计算:labc;第四步:输出l.点评:用自然语言描述算法,然后才能画出程序框图,写出程序。因此,用自然描述算法是程序设计的基础。考点二:程序框图【内容解读】顺序结构、选择结构和循环结构是算法的三种基本逻辑结构.在画流程图时,首先要进行逻辑结构的选择,若求只含有一个关系式的解析式的函数的函数值时,只用顺序结构就能解决,顺序结构是任何一个算法中必不可少的结构.选择结构主要用在一些需要依据选择进行判断的算法中,如分段函数的求值、数据的大小关系比较等问题.循环结构主要用在一些有规律的重复计算的算法中,如累加求和、累乘求积等问题.用循环结构表达算法,关键要做好以下三点:①确定循环变量和初始值;②确定算法中反复执行的部分,即循环体;③确定循环的终止选择.循环结构又分为当型(While型)和直到型(Until型)两种.当型循环在每次执行循环体前对控制循环的选择进行判断,当选择满足时执行循环体,不满足则停止;直到型循环在执行了一次循环体之后,对控制循环的选择进行判断,当选择不满足时执行循环体,满足则停止.两种循环只是实现循环的不同方法,它们是可以互相转换的.对同一个问题如果分别用当型循环和直到型循环来处理的话,那么两者判断的条件恰好相反.【命题规律】考查程序框图的知识经常出现在高考的选择题或填空题中,理解程序框图中,程序的流向,执行步骤。难度属中等。6例3、(2008广东)阅读图1的程序框图,若输入4m,6n,则输出a,i.(注:框图中的赋值符号“”也可以写成“”或“:”)解:要结束程序的运算,就必须通过n整除a的条件运算,而同时m也整除a,那么a的最小值应为m和n的最小公倍数12,即此时有3i。因此填:12,3点评:这是一个直到型循环结构的程序框图,求解时,最好先写出程序运行的前几步,再总结出规律,最后才找到答案。例4、(2008山东)执行右边的程序框图,若0.8p,则输出的n.解:循环的第一步:S=21,n=2,循环的第二步:S=21+41,n=3,循环的第三步:S=1110.8248,n=4,因此输出4.n点评:这是一个当型循环结构的程序框图,解法还是一样,从第一步开始写,直到循环的条件不成立时,结束循环,输出结果。例5、(2008海南、宁夏)右面的程序框图,如果输入三个实数a,b,c,要求输出这三个数中最大的数,那么在空白的判断框中,应该填入下面四个选项中的()A.cxB.xcC.cbD.bc解:由流程图可知第一个选择框作用是比较x与b的大小,故第二个选择框的作用应该是比较x与c的大小,故应选A;点评:本题考查条件结构的程序框图,求解时,对字母比较难理解,可以取一些特殊的数值,代进去,方便理解。从以上三题来看,因为算法是新课程中的新增加的内容,因此它也必然是新高考中的一个热点,应高度重视。考点三:基本算法语句【内容解读】算法语句是表达算法的简单而实用的好方法,要注意各语句的作用,准确开始1in整除a?是输入mn,结束ami输出ai,图1否1ii开始输入abc,,xabxxbxc输出x结束