1、第1章算法初步,第1章算法初步,11算法的含义,学习目标,重点难点重点:通过实例体会算法思想,初步理解算法的含义 难点:算法概念以及用自然语言描述算法,1算法的含义一般而言,对一类问题的_的、_的求解方法称为算法2算法的特征(1)有限性一个算法在执行_步骤之后必须结束,而不能无限地进行下去,机械,统一,有限个,(2)确定性算法中的每一个步骤和_应当是确定的,并且执行后能够得到确定的结果(3)可行性任何一个算法必须能够在_上进行因此,在算法中所有的运算必须是计算机能够执行的基本运算,次序,计算机,做一做1.判断下列说法是否正确(在题后标注“”或“”)算法只能用自然语言来描述()同一问题可以有不同
2、的算法()同一问题的算法不同,结果必然不同()答案:,想一想2.喝一杯茶需要这样几个步骤:洗刷水壶、烧水、洗刷茶具、沏茶问:该如何安排这几个步骤?请给出两种算法,提示:算法如下:算法1:第一步洗刷水壶;第二步 烧水;第三步 洗刷茶具;第四步 沏茶,算法2:第一步洗刷水壶;第二步 烧水,烧水的过程当中洗刷茶具;第三步 沏茶,题型一算法的含义 下列不是算法的是_(填序号)解方程2x60的过程是移项和系数化为1;从济南到温哥华要先乘火车到北京,再转乘飞机;解方程2x2x10;利用公式Sr2计算半径为3的圆的面积,【解析】不是算法,没有给出解这个方程的步骤【答案】【名师点评】此类题型注重考查算法的概念
3、及特点,因此明确算法概念,掌握算法特点是解决这类问题的基础,也为理解并熟练应用算法解决数学问题提供保障,题型二算法的设计 写出求2468的算法【解】第一步计算24得8;第二步将第一步中的运算结果8与6相乘得48;第三步将第二步中的运算结果48与8相乘得384;第四步输出运算结果,【名师点评】本题为关于累乘问题的算法,按照逐一相乘的步骤设计算法1写出求246200的一个算法可以运用公式2462nn(n1)直接计算第一步_;第二步_;第三步输出运算结果,解析:本题考查算法步骤解此题应首先求出算式中n的值,然后将n的值代入公式n(n1)进行计算,即可得此题的一个算法答案:取n100计算n(n1),题
4、型三算法的应用 (本题满分14分)下面给出一个问题的算法:第一步输入x;第二步若x4,执行第三步,否则执行第四步;第三步输出2x1;,第四步输出x22x3.(1)这个算法解决的问题是什么?(2)当输入的x为何值时,输出的数值最小?【思路点拨】解答本题的关键是对x进行判断,根据x的不同范围求出y,输出y值,名师微博分段函数的正确书写是关键,此处易犯书写不规范的错误.,(2)当x4时,f(x)2x17;(7分)当x4时,f(x)x22x3(x1)222,(11分)当输入x1时,f(x)min2.(14分)名师微博分段讨论f(x)的取值范围,从而发现输入x为何值时,输出的值最小,【名师点评】输入自变
5、量的值,设计算法求对应的函数值时,如果是分段函数,那么在设计算法时,要对输入的自变量的值根据已知条件去判断,再分类求值,解:算法如下:第一步输入x的值;第二步当x1时,计算yx21,否则执行第三步;第三步计算yx3;第四步输出y.,1一个人带着三只狼和三只羚羊过河,只有一条船,同船可以容纳一个人和两只动物没有人在的时候,如果狼的数量不少于羚羊的数量,狼就会吃掉羚羊请设计安全过河的算法,解:算法步骤如下:第一步人带两只狼过河;第二步人自己返回;第三步人带一只羚羊过河;第四步人带两只狼返回;第五步人带两只羚羊过河;第六步人自己返回;第七步人带两只狼过河;第八步人自己返回;第九步人带一只狼过河,2一
6、位商人有9枚银元,其中有1枚略轻的是假银元,你能用天平(不用砝码)将假银元找出来吗?写出解决这一问题的一种算法,解:法一:第一步任取2枚银元分别放在天平的两边,如果天平左右不平衡,则轻的一枚就是假银元;如果天平平衡,则进行第二步;第二步取下右边的银元,放在一边,然后把剩余的7枚银元依次放在右边进行称量,直到天平不平衡,偏轻的那一枚就是假银元 .,法二:第一步把银元分成3组,每组3枚;第二步先将两组分别放在天平的两边,如果天平不平衡,那么假银元就在轻的那一组里;如果天平左右平衡,则假银元就在未称的第3组里;第三步取出含假银元的那一组,从中任取两枚银元放在天平的两边,如果左右不平衡,则轻的那一枚就
7、是假银元,如果天平两边平衡,则未称的那一枚就是假银元,方法技巧1算法设计:算法设计与一般意义上的解决问题不同,它是一类问题的一般解法的抽象与概括,它要借助一般问题的解决方法,又要包含这类问题的所有可能情形,往往是把问题的解法划分为若干个可执行的步骤,有时有些步骤是重复执行的,但最终都必须在有限个步骤之内完成,2对于数值计算问题,如解方程、求方程组的解、解不等式、解不等式组、套用公式判断性的问题、累加累乘等这一类算法的描述,一般可以通过数学模型借助数学计算方法,分解成清晰的步骤,使之条理化就可以了3对于非数值性计算问题,如排序、查找、变量的替换、文字处理等,需要建立过程模型解决问题4对于某一问题往往可以设计出多种算法,通常选用步骤较少、结构较好的算法,失误防范1给出一个问题,设计其算法时应注意:(1)认真分析问题,联系解决此问题的一般数学方法;(2)综合考虑此类问题中可能涉及的各种情况;(3)借助有关的变量或参数对算法加以表述;(4)将解决问题的过程划分为若干个步骤表示出来,2设计算法求分段函数的函数值时,易不进行判断直接代入关系式求值导致错误如例3的变式训练,设计为“第一步,输入x的值;第二步,计算yx21或yx3;第三步,输出y.”这样的设计就是错误的,本部分内容讲解结束,按ESC键退出全屏播放,