-1-1.1算法的含义学习目标核心素养1.通过实例体会算法的思想,了解算法的含义.(难点)2.能按步骤用自然语言写出简单问题的算法过程.(重点、难点)3.了解算法的主要特点(有限性和确定性).(难点、易混点)1.通过书写算法提升学生的逻辑推理素养.2.借助解决实际问题的算法练习,培养学生的数学建模素养.1.算法的概念一般而言,对一类问题的机械的、统一的求解方法称为算法.广义地说,为解决某一问题而采取的方法和步骤,我们都可以称之为算法,不要认为只有“计算”才有算法.例如:广播操图解是广播操的算法,菜谱是做菜的算法,歌谱是一首歌曲的算法,空调说明书是空调使用的算法.我们过去学习的许多数学公式都是算法,加、减、乘、除运算法则以及多项式的运算法则也是算法.2.算法的特征(1)有限性:一个算法的步骤序列是有限的,必须在有限操作之后停止,不能是无限的.(2)确定性:算法中的每一步应该是确定的并且能有效地执行且得到确定的结果,而不应当模棱两可.(3)顺序性与正确性:算法从初始步骤开始,分为若干明确的步骤,每一个步骤只能有一个确定的后续步骤,前一步是后一步的前提,只有执行完前一步才能进行下一步,并且每一步都准确无误,才能完成问题.(4)不唯一性:求解某一问题的算法不一定是唯一的,对于同一个问题可以有不同的算法.(5)普遍性:很多具体的问题,都可以设计合理的算法去解决,如心算、计算器计算都要经过有限、事先设计好的步骤加以解决.3.算法的设计要求(1)确定性和有限性是算法的两个重要特征,我们在写算法时,一定要注意满足这两个特征.(2)虽然解决一个问题的算法不是唯一的,但不同的算法有繁有简,因此在设计一个算法时,应本着简捷方便的原则进行.-2-(3)要保证算法正确,且能够被计算机执行.1.下面的语句正确的是()①算法的每一步操作必须是明确的,不能有歧义;②一个算法可以无止境地运算下去;③完成一件事情的算法有且只有一种;④设计算法要本着简单、方便的原则.A.①②B.③④C.①④D.②④C[算法的步骤必须明确,其中不能含有模糊不清、让人误解的叙述,所以①正确;一个算法必须在执行有限步之后结束,且每一步都应在有限时间内完成,所以②错误;由于求解某一类问题的算法不是唯一的,所以③错误;算法设计要尽量简单,步骤应尽量少,所以④正确.]2.下列语句是算法的有________.(填序号)①解方程2x-6=0的过程是移项和系数化为1;②从济南到温哥华要先乘火车到北京,再转乘飞机;③解方程2x2+x-1=0;④利用公式S=πr2计算半径为3的圆的面积就是计算π×32.①②④[根据算法的含义知①②④都是算法,而③只是一个纯数学问题,没有确定的解决问题的步骤,不属于算法.]3.下面是求1+11+21+31+41的值的一个算法,请将其补充完整.第一步计算1+11,得12;第二步将第一步中的运算结果12与21相加,得到33;第三步将第二步中的运算结果33与31相加,得到64;第四步______________________________,即为最后结果.将第三步中的运算结果64与41相加,得到105[本题是一个连续相加的问题,可以按逐一相加的方法解决.]4.有人对命题“任何大于4的偶数都能写成两个奇质数之和”设计了如下操作步骤:第一步检验6=3+3.第二步检验8=3+5.第三步检验10=5+5.…利用计算机一直进行下去!请问:利用这种步骤________(填“能”或“不能”)证明猜想的正确性,这________(填-3-“是”或“不是”)算法.不能不是[确定性和有限性是任何算法都必须满足的重要特点,若不满足则不能称之为算法.]算法的概念和特征【例1】下面语句是算法的有________个.①从南京到台湾旅游,先坐火车,再坐飞机抵达;②解一元一次方程的步骤是去分母、去括号、移项、合并同类项、系数化为1;③方程x2-1=0有两个实根;④求1+2+3+4+5的值,先计算1+2=3,再求3+3=6,6+4=10,10+5=15,最终结果为15.3[因为算法是为解决某类问题而设计的一系列可操作可计算的步骤,通过这些步骤能够有效地解决问题,因此①②④都是算法,③不是算法.]判断一个语句是不是算法,依据是算法的概念,它是解决一类问题的具体步骤,未给出步骤的解决方法,不能够称之为算法,即按照所给出的步骤,能将问题解决,则这些步骤就可以称为一个算法.1.下列对算法的描述正确的个数是________.①一个算法应包含有限的步骤,而不能是无限的;②算法中的每一个步骤都应当是确定的,而不应当是含糊的、模棱两可的;③算法中的每一个步骤都应当有效地执行,并得到确定的结果;④一个问题只能设计出一种算法.3[由算法的有限性知①正确;由算法的确定性知②正确;由算法的可输出性知③正确;对于同一个问题可以有不同的算法,因此④不正确.故正确的个数为3.]2.著名数学家华罗庚提出的“烧水泡茶”的两个算法如下,算法1:第一步烧水;-4-第二步水烧开后,洗刷茶具;第三步沏茶.算法2:第一步烧水;第二步在烧水过程中,洗刷茶具;第三步水烧开后沏茶.其中更高效的算法是________,原因是________.算法2它更节约时间[算法不同,解决问题的繁简程度不同,我们研究算法,就是要找出解决问题的最好算法.在算法1中三步所用的时间为烧水、洗茶具和沏茶时间的和,而在算法2中所用的时间为烧水和沏茶时间的和,故算法2更高效.]算法的设计【例2】给出求1+3+5+7+9+11+13的值的一个算法.思路点拨:本题是一个连续相加的问题,加数的个数不多,可以按逐一相加的方法解决.注意到加数依次排列可构成一个等差数列,故也可运用公式1+3+5+…+(2n-1)=n2解决,当加数较多时,如计算1+3+5+…+99,逐个相加的方法显然是不可取的,除了使用公式1+3+5+…+(2n-1)=n2解决该问题之外,还有没有别的方法?为此,我们还可以引入变量和循环的方法解决.[解]算法1:第一步计算1+3,得到4;第二步将第一步中的运算结果4与5相加,得到9;第三步将第二步中的运算结果9与7相加,得到16;第四步将第三步中的运算结果16与9相加,得到25;第五步将第四步中的运算结果25与11相加,得到36;第六步将第五步中的运算结果36与13相加,得到49.算法2:第一步取n=7;第二步计算n2;第三步输出运算结果.算法3:第一步使p=1;第二步使i=3;第三步使p+i的和仍放在变量p中,可表示为p=p+i;第四步使i的值加2,即i=i+2;第五步若i≤13,返回第三步,重新执行第三步及之后的第四、第五步,否则,算法结束,最后得到的p的值就是1+3+5+7+9+11+13的值.-5-1.写出求1+3+5+7+9+11+13+15+17+19的一个算法.[解]第一步取n=10;第二步计算n2;第三步输出运算结果.2.写出求2+4+6+8+…+200的一个算法.思路点拨:运用公式2+4+6+8+…+2n=n(n+1).[解]第一步取n=100;第二步计算n(n+1);第三步输出运算结果.1.算法的设计目的设计算法的目的实际上是寻求一类问题的算法,它可以通过计算机来完成.设计算法的关键是把过程分解成若干个明确的步骤,然后用计算机能够接受的“语言”准确地描述出来,从而达到计算机执行的目的.2.算法的设计要求(1)写出的算法必须能解决一类问题;(2)要使算法尽量简单、步骤尽量少;(3)要保证算法正确,且计算机能够执行.3.设计算法的步骤(1)分析问题,寻找可以解决问题的一般的数学方法;(2)将问题的各种情况加以分类;(3)将每一类情况划分为若干步骤;(4)用简练的语言、数学符号和各种参数将各个步骤表达出来;(5)按照步骤的顺序将步骤列出来.提醒:(1)算法从初始步骤开始,每一个步骤只能有一个确定的后续步骤,从而组成一个步骤序列,序列的终止表示问题得到解答或指出问题没有解.-6-(2)一个具体问题的算法不唯一.(3)不同的算法有简繁、优劣之分,但每一种算法都会使问题有一个最终的结果,对于一个具体的问题,我们可以找到一个算法步骤相对较少、执行步骤也较少的算法,即最优算法.算法在实际生活中的应用【例3】一位商人有9枚银元,其中有1枚略轻的是假银元,你能用天平(不用砝码)将假银元找出来吗?写出解决这一问题的一种算法.思路点拨:可以两枚两枚地称,直到称出假银元为止,也可以先分组再称.[解]法一:第一步任取2枚银元分别放在天平的两边,如果天平左右不平衡,则轻的一枚就是假银元,如果天平平衡,则进行第二步;第二步取下右边的银元,放在一边,然后把剩余的7枚银元依次放在右边进行称量,直到天平不平衡,偏轻的那一枚就是假银元.法二:第一步把银元分成3组,每组3枚;第二步先将两组分别放在天平的两边,如果天平不平衡,那么假银元就在轻的那一组里,如果天平左右平衡,则假银元就在未称的第3组里;第三步取出含假银元的那一组,从中任取两枚银元放在天平的两边,如果天平左右不平衡,则轻的那一枚就是假银元,如果天平两边平衡,则未称的那一枚就是假银元.算法在生活中的应用主要包括一些非数值型的问题.在设计算法时,应当先建立过程模型,也就是找到解决问题的方案,再把它细化为一步接一步的步骤,从而设计出算法.3.有蓝、黑两个墨水瓶,现把蓝墨水错装在了黑墨水瓶中,黑墨水错装在了蓝墨水瓶中,要求将两个墨水瓶中的墨水互换,请设计一个算法.[解]由于两个墨水瓶中的墨水不能直接交换,故可以考虑通过引入第三个空墨水瓶来解决问题.算法如下:第一步取一个空的墨水瓶,设其为白色;-7-第二步将黑墨水瓶中的蓝墨水倒入白瓶中;第三步将蓝墨水瓶中的黑墨水倒入黑墨水瓶中;第四步将白瓶中的蓝墨水倒入蓝墨水瓶中;第五步交换结束.4.两个大人和两个小孩一起渡河,渡口只有一条小船,每次只能渡一个大人或两个小孩,他们四人都会划船,但都不会游泳,他们如何渡河?请写出你设计的渡河的算法.[解]因为每次只能渡一个大人或两个小孩,而船还要来回渡其他人,所以只能让两个小孩先渡河,然后回来一个,一直到四人全过河.第一步两个小孩同船渡过河去;第二步一个小孩划船回来;第三步一个大人独自划船渡过河去;第四步对岸的小孩划船回来;第五步两个小孩再同船渡过河去;第六步一个小孩划船回来;第七步余下的另一个大人独自划船渡过河去;第八步对岸的小孩划船回来;第九步两个小孩再同船渡过河去.1.本节课的重点是理解算法的概念,体会算法的思想,难点是掌握简单问题算法的表述.2.本节课要重点掌握的规律方法(1)掌握算法的特征;(2)掌握设计算法的一般步骤;(3)会设计实际问题的算法.3.在解决某类数学问题时,逐一列举、验证计算量较大,不易操作,若根据题意把其分成几个组,先研究组与组之间的关系,再研究小组内的关系,可以减少操作步骤,使问题易于解决,这就是分组讨论思想.1.下列关于算法的说法,正确的个数为()①求解某一类问题的算法是唯一的;②算法必须在有限步操作之后停止;③算法的每一步操作必须是明确的,不能有歧义或模糊;④算法执行后一定产生确定的结果.A.1B.2C.3D.4C[由算法的特征(有限性、确定性、有序性、有输出等)可知②③④正确,但解决某一-8-类问题的算法不一定是唯一的,故①错.]2.假设家中生火泡茶有下列几个步骤,最优的一个算法是________.a.生火;B.将水倒入锅中;C.找茶叶;D.洗茶壶茶杯;e.用开水冲茶.bacde[利用时间最短排序.]3.下列语句表达中是算法的是________.①从济南到巴黎可以先乘火车到北京,再坐飞机抵达;②利用公式S=12ah计算底为1,高为2的三角形的面积;③12x2x-4;④求M(1,2)与N(-3,-5)两点连线所在直线的方程,可先求直线MN的斜率,再利用点斜式方程求得.①②④[算法是解决问题的方法步骤,这个问题并不仅仅限于数学问题,①②④都是算法,而③没有确定的解题步骤,不是算法.]4.已知直角三角形的两条直角边长分别为3,4,设计一个算法,求该三角形的周长.[解]先取a=3,b=4,再由勾股定理,求出斜边c=a2+b