1、算法的概念【知识梳理】1算法的含义2算法的特征特征具体内容确定性算法中的每一步应该是确定的,并且能有效地执行且得到确定的结果,而不应当是模棱两可的正确性和顺序性算法从初始步骤开始,分为若干明确的步骤,上一步是下一步的前提,只有执行完上一步,才能执行下一步有限性一个算法必须在执行完有限步之后结束,而不能是无限的不唯一性求解某个问题的算法不一定是唯一的,一个问题可以有不同的算法普遍性很多具体的问题都可以设计合理的算法去解决;写出的算法必须能解决一类问题3算法与计算机的关系计算机解决任何问题都要依赖于算法,只有将解决问题的过程分解为若干个明确的步骤,即算法,并用计算机能够接受的“语言”准确地描述出来
2、,计算机才能够解决问题【常考题型】题型一、算法的概念【例1】(1)下列说法正确的是()A算法就是某个问题的解题过程B算法执行后可以产生不同的结果C解决某一个具体问题算法不同,则结果不同D算法执行步骤的次数不可以很大,否则无法实施解析选项B正确,例如:判断一个整数是否为偶数,结果为“是偶数”和“不是偶数”两种;选项A,算法不能等同于解法;选项C,解决某一个具体问题算法不同,但结果应相同;选项D,算法可以为很多次,但不可以无限次答案B(2)下列叙述不能称为算法的是()A从北京到上海先乘汽车到飞机场,再乘飞机到上海B解方程4x10的过程是先移项再把x的系数化成1C利用公式Sr2计算半径为2的圆的面积
3、得22D解方程x22x10解析选项A,B给出了解决问题的方法和步骤,是算法;选项C是利用公式计算也属于算法;选项D只提出问题没有给出解决的方法,不是算法答案D【类题通法】理解算法的关键点(1)算法实际上是解决问题的一种程序性方法,它通常解决某一个或一类问题,用算法解决问题,体现了从特殊到一般的数学思想(2)判断一个问题是否有算法,关键看是否有解决某一类问题的程序或步骤,这些程序或步骤必须是明确和有效的,而且能够在有限步之内完成【对点训练】计算下列各式中的S值,能设计算法求解的是()S2461 000;S2461 000;S2462n(n1,nN)A.BC D解析:选B由算法的有限性知不正确,而
4、都可通过有限的步骤操作,输出确定结果.题型二、算法的设计【例2】(1)早上从起床到出门需要洗脸刷牙(5 min)、刷水壶(2 min)、烧水(8 min)、泡面(3 min)、吃饭(10 min)、听广播(8 min)几个步骤从下列选项中选出最好的一种算法()A第一步洗脸刷牙、第二步刷水壶、第三步烧水、第四步泡面、第五步吃饭、第六步听广播B第一步刷水壶、第二步烧水同时洗脸刷牙、第三步泡面、第四步吃饭、第五步听广播C第一步刷水壶、第二步烧水同时洗脸刷牙、第三步泡面、第四步吃饭同时听广播D第一步吃饭同时听广播、第二步泡面、第三步烧水同时洗脸刷牙、第四步刷水壶A所用时间为36分钟B所用时间为31分钟
5、C所用时间为23分钟D不符合日常生活规律答案C(2)写出求123456的一个算法解算法一:第一步,计算12,得到3.第二步,将第一步中的运算结果3与3相加,得到6.第三步,将第二步中的运算结果6与4相加,得到10.第四步,将第三步中的运算结果10与5相加,得到15.第五步,将第四步中的运算结果15与6相加,得到21.算法二:第一步,将原式变形为(16)(25)(34)73.第二步,计算73.第三步,得到运算结果算法三:第一步,取n6.第二步,计算.第三步,得到运算结果【类题通法】设计具体问题的算法的步骤设计一个具体问题的算法,通常按以下步骤:(1)认真分析问题,找出解决此题的一般数学方法;(2
6、)借助有关变量或参数对算法加以表述;(3)将解决问题的过程划分为若干步骤;(4)用简练的语言将这个步骤表示出来【对点训练】1求1357911的值的一个算法如下,请补充完整第一步,求13得结果3.第二步,将第一步所得结果3乘以5,得到结果15.第三步,_.第四步,再将第三步所得结果105乘以9,得到结果945.第五步,再将第四步所得结果945乘以11,得到结果10 395,即为最后结果解析:依据算法功能可知,第三步应为“再将第二步所得结果15乘以7,得到结果105”答案:再将第二步所得结果15乘以7,得到结果1052写出解方程x22x30的一个算法解:算法一:第一步,移项,得x22x3.第二步,
7、式两边同时加上1并配方,得(x1)24.第三步,式两边开方,得x12.第四步,解得x3,或x1.算法二:第一步,计算方程的判别式并判断其符号:2243160.第二步,将a1,b2,c3代入求根公式x,得x13,x21.题型三、算法的应用【例3】(1)结合下面的算法:第一步,输入x.第二步,判断x是否小于0.若是,则输出x2,否则执行第三步第三步,输出x1.当输入的x的值为1,0,1时,输出的结果分别为()A1,0,1B1,1,0C1,1,0 D0,1,1解析根据x值与0的关系,选择执行不同的步骤当x1时,输出x2,即输出1;当x0时,输出x1,即输出1;当x1时,输出x1,即输出0.答案C(2
8、)设计一个判断直线AxByC0与圆(xx0)2(yy0)2r2的位置关系的算法解算法如下:第一步,输入圆心坐标(x0,y0),直线方程的系数A、B、C和半径r.第二步,计算z1Ax0By0C.第三步,计算z2.第四步,计算d.第五步,若dr,则输出“相离”;若dr,则输出“相切”;若dr,则输出“相交”【类题通法】数学中两种算法应用的处理方法(1)数值性计算问题,如解方程(组)、解不等式(组)或套用公式判断性问题,一般通过数学模型借助数学计算方法分解成清晰的步骤,并条理化(2)非数值性问题,如查找、变量代换、文字处理等非数值性计算问题,设计算法时,首先建立过程模型,然后根据过程设计步骤,完成算
9、法【对点训练】已知A(x1,y1),B(x2,y2),写出求直线AB的斜率的一个算法解:算法如下:第一步,输入x1,y1,x2,y2.第二步,计算xx2x1,yy2y1.第三步,若x0,则输出“斜率k不存在”;否则,执行第四步第四步,计算k.第五步,输出斜率k.【练习反馈】1下列关于算法的说法中正确的个数有()求解某一类问题的算法是唯一的;算法必须在有限步骤操作之后停止;x2x2是一个算法;算法执行后一定产生确定的结果;对于像“喝一碗水”这类含有动作的语言能出现在算法的一个步骤中A1个B2个C3个 D4个解析:选B因为x2x2仅仅是一个数学问题,不能表达一个算法,所以是错误的依据算法的多样性(
10、不唯一性)知错误,由算法的有限性知正确,由于算法具有可执行性,算法的每一步必须是计算机能执行的,所以是错误的,正确的有.2已知直角三角形两直角边长为a、b,求斜边长c的一个算法分下列三步:()计算c;输入直角三角形两直角边长a,b的值;输出斜边长c的值其中正确的顺序是()A BC D解析:选D明确各步骤间的关系即可知D选项正确3输入一个x值,利用y|x1|求函数值的算法如下,请将所缺部分补充完整:第一步,输入x;第二步,_;第三步,当x1时,计算yx1;第四步,输出y.解析:含绝对值的函数的函数值的算法要注意分类讨论思想的应用,本题中当x1时yx1;当x1时yx1,由此可完善算法答案:当x1时,计算yx1,否则执行第三步4已知长方体的长、宽、高分别为a、b、c.写出求对角线长l的算法如下:第一步,输入长、宽、高a、b、c的值第二步,计算l的值第三步,_.将算法补充完整,横线处应填_解析:算法要有输出,故第三步应为输出结果l的值答案:输出对角线长l的值5设计一个算法,求表面积为16的球的体积解:算法一:第一步,取S16.第二步,计算R(由于S4R2)第三步,计算VR3.第四步,输出运算结果算法二:第一步,取S16.第二步,计算V()3.第三步,输出运算结果