1、11算法与程序框图11.1算法的概念1问题导航(1)我国古代盛行一时的计算工具是什么?(2)求解一般的二元一次方程组分几个步骤?(3)请同学们总结算法的特征是什么?(4)怎样判断整数n(n2)是否为质数?2例题导读通过对例1的学习,学会写判断一个大于1的整数n是否为质数的最基本算法;通过对例2的学习,学会写求任意一个方程的近似解的算法通过以上两例,体会到算法具有以下特性:有穷性;确定性;有序性;不唯一性;普遍性1算法的概念12世纪的算法指的是用阿拉伯数字进行算术运算的过程数学中的算法通常是指按照一定规则解决某一类问题的明确和有限的步骤.现代算法通常可以编成计算机程序,让计算机执行并解决问题.2
2、.设计算法的目的计算机解决任何问题都要依赖于算法,只有将解决问题的过程分解为若干个明确的步骤,即算法,并用计算机能够接受的“语言”准确地描述出来,计算机才能够解决问题1判断下列各题(对的打“”,错的打“”)(1)算法就是某个问题的解决过程;()(2)算法执行后可以不产生确定的结果;()(3)解决某类问题的算法是唯一的()解析:算法是某一类问题的解决步骤,不是某个问题的解决过程,它的每一步是确定的,产生的结果也是确定的答案:(1)(2)(3)2下列语句表达的是算法的有()拨本地电话的过程为:1提起话筒;2拨号;3等复话信号;4开始通话或挂机;5结束通话;利用公式VSh计算底面积为3,高为4的三棱
3、柱的体积;x22x30;求所有能被3整除的正数,即3,6,9,12,.A BC D解析:选A.算法通常是指按照一定规则解决某一类问题的明确和有限的步骤都各表达了一种算法;只是一个纯数学问题,不是一个明确步骤;的步骤是无穷的,与算法的有穷性矛盾3输入一个x值,利用y|x1|求函数值的算法如下,请将所缺部分补充完整:第一步:输入x;第二步:_;第三步:当x1)是否为质数;求任意一个方程的近似解;),并且能够重复使用2要使算法尽量简单、步骤尽量少3要保证算法正确,且计算机能够执行,如:让计算机计算12345是可以做到的算法的概念以下关于算法的说法正确的是()A描述算法可以有不同的方式,可用自然语言也
4、可用其他语言B算法可以看成按照要求设计好的有限的确切的计算序列,并且这样的步骤或序列只能解决当前问题C算法过程要一步一步执行,每一步执行的操作必须确切,不能含混不清,而且经过有限步或无限步后能得出结果D算法要求按部就班地做,每一步可以有不同的结果解析算法可以看成按照要求设计好的有限的确切的计算序列,并且这样的步骤或计算序列能够解决一类问题,故B不正确算法过程要一步一步执行,每一步执行操作,必须确切,只能有唯一结果,而且经过有限步后,必须有结果输出后终止,故C、D都不正确描述算法可以有不同的语言形式,如自然语言、框图语言等,故A正确答案A方法归纳(1)算法有如下特点:确定性、有序性、有穷性、普遍
5、性、不唯一性(2)算法实际上就是解决问题的一种程序化方法,它通常是指解决某一类问题,而解决的过程是程序性和构造性的,正确理解算法的概念和特点是解决此类问题的关键扫一扫进入91导学网()算法的概念1下列语句表述为算法的是()从济南到巴黎,可以先乘火车到北京,再坐飞机抵达;利用公式Sah计算底为1,高为2的三角形面积;x2x4;求M(1,2)与N(3,5)两点连线的方程,可先求MN的斜率,再利用点斜式方程求得ABC D解析:选C.算法是解决问题的步骤与过程,这个问题并不仅仅限于数学问题,都表达了一种算法计算类问题的算法设计写出解方程x22x30的一个算法解法一:算法如下第一步将方程左边因式分解,得
6、(x3)(x1)0;第二步由得x30,或x10;第三步解得x3,解得x1.法二:算法如下第一步移项,得x22x3;第二步式两边同时加1并配方,得(x1)24;第三步式两边开方,得x12;第四步解得x3或x1.法三:算法如下第一步计算方程的判别式并判断其符号(2)243160;第二步将a1,b2,c3,代入求根公式x1,x2,得x13,x21.方法归纳本题体现了算法的不唯一性,比较以上三个算法,可以看出法三中的算法最简单、步骤最少,并且具有通用性因此,在设计算法时,首先考虑是否有公式可用,利用公式解决问题是最理想的方法;其次要综合各方面的因素,选择一种较好的算法2(1)已知平面直角坐标系中点A(
7、2,0),B(3,1),写出求直线AB方程的一个算法解:法一:算法如下第一步求出直线AB的斜率k;第二步选定A(2,0),用点斜式写出直线AB的方程y0x(2);第三步将第二步的运算结果化简,得到方程x5y20.法二:算法如下第一步设直线AB的方程为ykxb;第二步将A(2,0),B(3,1)代入第一步设出的方程,得到第三步解第二步所得的方程组,得到k,b;第四步把第三步得到的结果代入第一步所设的方程中,得到yx;第五步将第四步所得的结果整理,得到方程x5y20.(2)已知球的表面积为16,写出求球的体积的一个算法解:法一:第一步,取S16.第二步,计算R(由于S4R2)第三步,计算VR3.第
8、四步,输出运算结果法二:第一步,取S16.第二步,计算V( )3.第三步,输出运算结果非计算类问题的算法设计请你设计一个算法,找出a,b,c,d四个互不相同的数中的最小值解算法如下:第一步,定义最后求得的最小数为 min,使 mina.第二步,如果bmin,则minb;如果bmin,则 min原 min.第三步,如果cmin,则 minc;如果cmin,则 min原 min.第四步,如果dmin,则 mind;如果dmin,则 min原 min.第五步,输出 min,则 min就是a、b、c、d中的最小值互动探究本例若改为求a、b、c、d四个互不相同的数中的最大值,设计一个算法解:算法如下:第
9、一步,定义最后求得的最大数为 max,使maxa.第二步,如果bmax,则 maxb;如果bmax,则 max原 max.第三步,如果cmax,则 maxc;如果cmax,则 max原 max.第四步,如果dmax,则 maxd;如果dmax,则 max原 max.第五步,输出 max,则 max就是a、b、c、d中的最大者方法归纳算法原理与平时的解题原理不能等同,要注意两者之间的区别在设计此题算法时,每一步都必须是比较两个数的大小,直至找到众多数中的最小(大)者为止3(1)早上从起床到出门需要洗脸刷牙(5 min)、刷水壶(2 min)、烧水(8 min)、泡面(3 min)、吃饭(10 m
10、in)、听广播(8 min)几个过程则下列选项中最好的一种算法是()AS1洗脸刷牙;S2刷水壶;S3烧水;S4泡面;S5吃饭;S6听广播BS1刷水壶;S2烧水同时洗脸刷牙;S3泡面;S4吃饭;S5听广播CS1刷水壶;S2烧水同时洗脸刷牙;S3泡面;S4吃饭同时听广播DS1吃饭同时听广播;S2泡面;S3烧水同时洗脸刷牙;S4刷水壶解析:选C.因为A选项共用时间36 min,B选项共用时间31 min,C选项共用时间23 min,D选项的算法步骤不符合常理(2)假如你要乘火车去外地办事,请写出从自己房间出发到坐在车厢内的主要三步:第一步:_;第二步:_;第三步:_答案:去火车站买火车票凭票上车、对
11、号入座规范解答求分段函数的函数值(本题满分12分)已知函数y试设计一个算法,输入x的值,求对应的函数值解算法如下:第一步,输入x;2分第二步,当x1时,计算y2x1,否则执行第三步;5分第三步,当x2时,计算ylog3(x1),否则执行第四步;8分第四步,计算yx4;10分第五步,输出y.12分规范与警示在解题过程中注意输入及输出语句分段函数求函数值的算法要注意运用分类讨论的思想,本步是整个解题的关键所在(1)算法步骤一定要完整、清晰对算法的特征理解不全面,认为直接判断x的值即可,从而缺少输入语句;或求出y的值就算完成了算法实际上,任何一个算法必须有输入、输出语句,才能得到所需的数据或结果(2
12、)分段函数求函数值的算法要运用分类讨论思想进行设计,一定要对算法中可能遇到的情况考虑周全,满足与不满足都要有相应的步骤1在用二分法求方程零点的算法中,下列说法正确的是()A这个算法可以求方程所有的零点B这个算法可以求任何方程的零点C这个算法能求方程所有的近似零点D这个算法并不一定能求方程所有的近似零点解析:选D.二分法求方程零点的算法中,仅能求方程的一些特殊的近似零点(满足函数零点存在性定理的条件),则D正确2已知一个学生的语文成绩为89分,数学成绩为96分,外语成绩为99分,求他的总分和平均成绩的一个算法为:第一步,取A89,B96,C99.第二步,_第三步,_第四步,输出计算结果解析:要计
13、算平均分,应先计算出三科的总分第二步应为:计算总分DABC.第三步应为:计算平均成绩E.答案:计算总分DABC计算平均成绩E3下面给出一个问题的算法:第一步,输入a.第二步,若a4,则执行第三步;否则,执行第四步第三步,输出2a1;第四步,输出a22a3.则这个算法解决的问题是_,当输入的a_时,输出的数值最小解析:这个算法解决的问题是求分段函数f(x)的函数值的问题当x4时, f(x)2x17;当x2,则执行第三步第三步,依次从2到n1检验能不能整除n,若不能整除,则n满足条件则上述算法满足条件的n是()A质数 B奇数C偶数 D约数解析:选A.根据质数、奇数、偶数、约数的定义可知,满足条件的
14、n是质数6下列各式中S的值不能用算法求解的是_S122232421002;S;S12345;S12345699100.解析:根据算法的有限性知不能用算法求解答案:7.写出作y|x|图象的算法第一步,当x0时,作出第一象限的角平分线第二步,当x0时,即为原点第三步,_解析:依据算法解决的问题知,第三步应为“当x0时,作出第二象限的角平分线”答案:当x0时,作出第二象限的角平分线8.如下算法:第一步,输入x的值;第二步,若x0,则yx;第三步,否则,yx2;第四步,输出y的值若输出的y值为9,则x_解析:根据题意可知,此为求分段函数y函数值的算法,当x0时,x9;当x0时,x29,所以x3.答案:
15、9或39.写出求方程组的解的算法解:法一:第一步,得:2x142;第二步,解方程得:x8; 第三步,将代入得:82y2; 第四步,解得:y5;第五步,得到方程组的解为.法二:第一步,由式移项可得:x22y; 第二步,把代入得:y5; 第三步,把代入得:x8;第四步,得到方程组的解为.10.试设计一个判断圆(xa)2(yb)2r2和直线AxByC0位置关系的算法解:第一步,输入圆心的坐标(a,b)、直线方程的系数A、B、C和半径r.第二步,计算z1AaBbC.第三步,计算z2A2B2.第四步,计算d.第五步,如果dr,则输出“相离”;如果dr,则输出“相切”;如果dr,则输出“相交”B.能力提升
16、1.(2015青岛质检)结合下面的算法:第一步,输入x.第二步,判断x是否小于0,若是,则输出x2,否则执行第三步第三步,输出x1.当输入的x的值为1,0,1时,输出的结果分别为()A1,0,1B1,1,0C1,1,0 D0,1,1解析:选C.根据x值与0的关系选择执行不同的步骤2对于求18的正因数,给出下面的两种算法:算法1:第一步,1是18的正因数,将1列出第二步,2是18的正因数,将2列出第三步,3是18的正因数,将3列出第四步,4不是18的正因数,将4剔除第十八步,18是18的正因数,将18列出算法2:第一步,1829.第二步,18232.第三步,列出所有的正因数1,2,3,32,23
17、,232.则这两个算法()A都正确B算法1正确,算法2不正确C算法1不正确,算法2正确D都不正确解析:选A.算法1是用118的整数逐一验证,得出的正因数算法2利用因数分解得到18的正因数两种算法都正确故选A.3求过P(a1,b1)、Q(a2,b2)两点的直线斜率有如下的算法,请将算法补充完整:S1取x1a1,y1b1,x2a2,y2b2.S2若x1x2,则输出斜率不存在;否则,_S3输出计算结果k或者无法求解信息解析:根据直线斜率公式可得此步骤答案:k4.一个人带着三只狼和三只羚羊过河,只有一条船,该船可容纳一个人和两只动物,没有人在的时候,如果狼的数量不少于羚羊的数量狼就会吃羚羊该人将动物转
18、移过河的算法如下请在横线上填上适当的步骤:第一步,人带两只狼过河,并自己返回第二步,人带一只狼过河,自己返回第三步,_.第四步,人带一只羚羊过河,自己返回第五步,人带两只狼过河解析:因为没有人在的时候,狼的数量应少于羚羊的数量,因此第三步人应带两只羚羊过河,且再带回两只狼答案:人带两只羚羊过河,并带两只狼返回5国际奥委会宣布2020年夏季奥运会主办城市为日本的东京;据中国体育报报道:对参与竞选的5个夏季奥林匹克运动会申办城市进行表决的操作程序是:首先进行第一轮投票,如果有一个城市得票数超过总票数的一半,那么该城市将获得举办权;如果所有申办城市得票数都不超过总票数的一半,则将得票最少的城市淘汰,
19、然后进行第二轮投票;如果第二轮投票仍没选出主办城市,将进行第三轮投票,如此重复投票,直到选出一个主办城市为止,写出投票过程的算法解:算法如下:第一步,投票第二步,统计票数,如果一个城市得票数超过总票数的一半,那么该城市就获得主办权,否则淘汰得票数最少的城市转第一步第三步,宣布主办城市6.(选做题)“韩信点兵”问题:韩信是汉高祖手下的大将,他英勇善战,谋略超群,为汉朝的建立立下了不朽功勋据说他在一次点兵的时候,为保住军事秘密,不让敌人知道自己部队的军事实力,采用下述点兵方法:先令士兵从13报数,结果最后一个士兵报2;又令士兵从15报数,结果最后一个士兵报3;又令士兵从17报数,结果最后一个士兵报4.这样韩信很快算出自己部队里士兵的总数请设计一个算法,求出士兵至少有多少人解:第一步,首先确定最小的满足除以3余2的正整数:2.第二步,依次加3就得到所有除以3余2的正整数:2,5,8,11,14,17,20,.第三步,在上列数中确定最小的满足除以5余3的正整数:8.第四步,然后在自然数内在8的基础上依次加上15,得到8,23,38,53,.第五步,在上列数中确定最小的满足除以7余4的正整数:53. 即士兵至少有53人