1、1算法的基本思想学习目标1.通过几个具体问题的求解过程,体会算法的基本思想.2.了解算法的含义和特征.3.会用自然语言描述简单的具体问题的算法.知识点一算法的概念1.对算法概念的理解一般地,算法是解决某类问题的一系列步骤或程序,只要按照这些步骤执行,都能使问题得到解决.一般来说,“用算法解决问题”都是可以利用计算机帮助完成的.同一个问题可能存在多种算法,一个算法也可以解决某一类问题.2.算法的作用现代算法的作用之一是使计算机能代替人完成某些工作,这是学习算法的重要原因之一.思考是不是任何一个算法都有明确结果?一个具体问题的算法唯一吗?答案任何算法都有明确的结果,因为算法的步骤是明确的和有限的,
2、有时可能需要大量重复的计算,但只要按照步骤去执行,总能得到确定的结果.解决一个具体的问题的算法可能有多个,但我们可以选择其中最优的、最简单的、步骤尽量少的算法.知识点二算法的特征算法的特征主要有以下几点:(1)有限性:一个算法的步骤序列是有限的,必须在有限的操作之后停止,不能是无限的.(2)确定性:算法中的每一步应该是确定的,并且能有效地执行且得到确定的结果,而不应当模棱两可.(3)顺序性与正确性:算法从初始步骤开始,分为若干明确的步骤,每一个步骤只能有一个确定的后续步骤,前一步是后一步的前提,只有执行完前一步才能进行下一步,并且每一步都准确无误,才能完成问题.(4)不唯一性:求解某一问题的解
3、法不一定是唯一的,对于同一个问题可以有不同的算法.(5)普遍性:很多具体的问题,都可以设计合理的算法去解决,如心算、计算器计算都要经过有限、事先设计好的步骤加以解决.思考设想一下电脑程序需要计算无限多步,会怎么样?答案若有无限步,必将陷入死循环,解决不了问题.故算法必须在有限步内解决问题.1.算法是解决一个问题的方法.()2.一个算法可以产生不确定的结果.()3.算法的步骤必须是明确的、有限的.()4.求解一类问题的算法是唯一的.()题型一对算法的概念的理解例1下列说法正确的是()A.算法就是某个问题的解题过程B.算法执行后可以产生不同的结果C.解决某一个具体问题算法不同,则结果不同D.算法执
4、行步骤的次数不可以很多,否则无法实施答案B解析选项B正确,例如:判断一个整数是否为偶数,结果为“是偶数”和“不是偶数”两种;选项A,算法不能等同于解法;选项C,解决某一个具体问题算法不同,但结果应相同;选项D,算法可以为很多次,但不可以为无限次.反思感悟算法实际上是解决问题的一种程序性方法,它通常解决某一个或一类问题,用算法解决问题,体现了从特殊到一般的数学思想.跟踪训练1(1)下列描述不是解决问题的算法的是()A.从中山到北京先坐汽车,再坐火车B.解可化为一元一次方程的分式方程的步骤是去分母、去括号、移项、合并同类项、系数化为1C.方程x24x30有两个不相等的实根D.解不等式ax30时,第
5、一步移项,第二步讨论答案C解析A选项,从中山到北京,先坐汽车,再坐火车,解决了怎样去的问题;B选项,解可化为一元一次方程的分式方程的步骤:去分母、去括号、移项、合并同类项、系数化为1,解决了怎样解一元一次方程的问题;D选项,解不等式ax30时,第一步移项,将不等式化为ax3,第二步讨论a的符号,进而根据不等式的基本性质,求出不等式的解集,解决了怎样求不等式解集的问题;选项C只是一个真命题,没有解决什么问题,因此不是算法.(2)给出以下叙述:过河要走桥;老师提问说不会;做米饭需刷锅、淘米、添水、加热这些步骤;学习要预习、听讲、质疑、练习巩固等步骤.其中能称为算法的是()A. B. C. D.答案
6、C解析不能称为算法,根据算法的含义知正确.题型二算法的设计命题角度1直接应用数学公式设计算法例2有一个底面半径为3,母线长为5的圆锥,写出求该圆锥体积的算法.解如图,先给r,l赋值,计算h,再根据圆锥体积公式Vr2h计算V,然后输出结果.1.令r3,l5.2.计算h.3.计算Vr2h.4.输出运算结果.反思感悟利用公式解决问题时,必须先求出公式中的各个量,在设计算法时,应优先考虑未知量的求法.跟踪训练2已知一个等边三角形的周长为a,求这个三角形的面积.设计一个算法解决这个问题.解1.输入a的值.2.计算l的值.3.计算Sl2的值.4.输出S的值.命题角度2非数值性问题的算法例3所谓正整数p为素
7、数是指:p的所有约数只有1和p.例如,35不是素数,因为35的约数除了1,35外,还有5与7;29是素数,因为29的约数就只有1和29.试设计一个能够判断一个任意正整数n(n1)是否为素数的算法.解算法如下:1.给出任意一个正整数n(n1).2.若n2,则输出“2是素数”,判断结束.3.令m1.4.将m的值增加1,仍用m表示.5.如果mn,则输出“n是素数”,判断结束.6.判断m能否整除n,如果能整除,则输出“n不是素数”,判断结束;如果不能整除,则转第四步.反思感悟设计一个具体问题的算法,通常按以下步骤(1)认真分析问题,找出解决该问题的一般数学方法.(2)借助有关变量或参数对算法加以表述.
8、(3)将解决问题的过程划分为若干步骤.(4)用简练的语言将这个步骤表示出来.跟踪训练3判断一个大于2的整数是否为质数的算法步骤如何设计?解1.给定大于2的整数n.2.令i2.3.用n除以i,得到余数r.4.判断“r0”是否成立.若成立,则n不是质数,结束算法;否则,将i的值增加1,仍用i表示.5.判断“i(n1)”是否成立.若成立,则n是质数,结束算法;否则,返回第三步.解方程组的算法设计典例写出解方程组的一个算法.解方法一(代入消元法)1.由得y72x.2.将代入,得4x5(72x)11.3.解得x4.4.将x4代入,得y1.5.得到方程组的解为方法二(加减消元法)1.5得,(254)x75
9、11.2.解得x4.3.2,得(125)y7211.4.解得y1.5.得到方程组的解为素养评析(1)设计算法时,经常遇到解方程组的算法问题,一般是按照数学上解方程组的方法进行设计,但应注意全面考虑方程组解的情况,即先确定方程组是否有解,有解时有几个解,然后依据求解步骤设计算法步骤.(2)从对运算方法的选择,运算程序的设计,到最后求得运算结果,整个过程就是典型的数学运算素养的体现.1.下列关于算法的说法,正确的个数为()求解某一类问题的算法是唯一的;算法必须在有限步操作之后停止;算法的每一步操作必须是明确的,不能有歧义或模糊;算法执行后一定产生确定的结果.A.1 B.2 C.3 D.4答案C解析
10、由于算法具有有穷性、确定性、输出性等特点,所以正确,而解决某类问题的算法不一定唯一,所以错误.2.下列叙述中,能称为算法的个数为()植树需要运苗、挖坑、栽苗、浇水这些步骤;按顺序进行下列运算:112,213,314,991100;从青岛乘火车到济南,再从济南乘飞机到广州观看亚运会开幕式;3xx1;所有能被3整除的正数,即3,6,9,12,.A.2 B.3C.4 D.5答案B解析是算法.3.已知一个算法:(1)给出三个数x,y,z;(2)计算Mxyz;(3)计算NM;(4)得出每次计算的结果.则上述算法是()A.求和 B.求余数C.求平均数 D.先求和再求平均数答案D解析由算法过程可知,M为三数
11、之和,N为这三数的平均数,故选D.4.已知直角三角形两条直角边长分别为a,b(ab).写出求最大锐角的余弦值的算法如下:(1)输入两直角边长a,b的值;(2)计算c的值;(3)_;(4)输出cos .将算法补充完整,横线处应填_.答案计算cos 5.已知直角三角形两直角边长为a,b,求斜边长c的一个算法分下列三步:(1)计算c;(2)输入直角三角形两直角边长a,b的值;(3)输出斜边长c的值.其中正确的顺序是_.答案(2)(1)(3)解析算法的步骤是有先后顺序的,第一步是输入,最后一步是输出,中间的步骤是赋值、计算.6.写出解二元一次方程组的算法.解1.2得7x1.2.解得x.3.32得7y5.4.解得y.5.得到方程组的解为算法是建立在解法基础上的操作过程,算法不一定要有运算结果,答案可以由计算机解决,算法没有一个固定的模式,但有以下几个基本要求:(1)符合运算规则,计算机能操作;(2)每个步骤都有一个明确的计算任务;(3)对重复操作步骤返回处理;(4)步骤个数尽可能少;(5)每个步骤的语言描述要准确、简明.