1.算法的概念12世纪的算法是指用阿拉伯数字进行算术运算的过程数学中的算法算法通常是指按照一定规则解决___________的明确和有限的步骤现代算法通常可以编成计算机程序,让计算机执行并解决问题算法具有确定性、有效性、有限性等特征.算法设计与一般意义上的解决问题不同,它是对一类问题的一般解法的抽象与概括,主要借助一般的问题解决方法,又要包括此类问题的所有情形.它往往是把问题的解决划分为若干个可执行的步骤,有时甚至是重复多次,但最终都必须在有限个步骤之内完成.(1)用数学语言描述算法解决问题的过程大体可分为三步:第一步,明确问题的性质,分析题意.我们将问题简单地分为数值问题和非数值问题,不同类型的问题可以有针对性地采用不同的方法进行处理.第二步,建立问题的描述模型.对于数值型问题,可以建立数学模型,通过数学语言来描述问题.对于非数值型问题,我们可以建立过程模型,通过过程模型来描述问题.第三步,设计、确立算法.对于数值型问题,我们可以采用数值分析的方法进行处理,数值分析中有许多现成的固定算法,我们可以直接使用.当然我们也可以根据问题的实际情况设计算法.对于非数值型问题,根据过程模型分析算法并进行处理,也可以选择一些成熟的办法进行处理,如排序、递推等.(2)算法设计应注意:①与解决问题的一般方法有联系,从中提炼出算法;②将解决问题的过程分为若干个可执行步骤;③引入有关的参数或变量对算法步骤加以表达;④用最简练的语言将各个步骤表达出来;⑤算法的执行要在有限步内完成.2.程序框图程序框图又称流程图,是一种用___________、___________及___________来表示算法的图形.程序框图是人们用来描述算法步骤的形象化的方法.在程序框图中,一个或几个程序框的组合表示算法中的一个步骤;带有方向箭头的流程线将程序框连接起来,表示算法步骤的执行顺序.另外,程序框内还要有必要的文字说明.构成程序框图的图形符号、名称及其功能如下表:图形符号名称功能终端框(起止框) 表示一个算法的起始和结束输入、输出框表示一个算法输入和输出的信息处理框(执行框) 赋值、计算判断某一条件是否成立,成立时在出口处标明判断框“是”或“Y”;不成立时标明“否”或“N”流程线连接程序框连接点连接程序框图的两部分说明:一个完整的程序框图一定会包含终端框(用于表示一个算法的开始和结束),处理框(赋值、计算,算法中处理数据需要的算式、公式等)和流程线.3.算法的三种基本逻辑结构通常一个算法只能由三种基本逻辑结构构成,这三种基本逻辑结构分别是:顺序结构、条件结构和循环结构.(1)顺序结构顺序结构是由若干个___________的步骤组成的.这是任何一个算法都离不开的基本结构.顺序结构可以用程序框图表示为顺序结构是最简单的算法结构,语句与语句之间,框与框之间是按从上到下的顺序进行的,其中A和B 两个框是依次执行的,只有在执行完A框所指定的操作后,才能接着执行B框所指定的操作,顺序结构各步骤之间不能随便调换,调换后可能会使算法不能运行或错误.(2)条件结构在一个算法中,经常会遇到一些条件的判断,算法的流程根据___________有不同的流向.条件结构就是处理这种过程的结构.条件结构对应的程序框图如图所示:(1)(2)注意:①无论条件是否成立,图(1)中只能执行“步骤A”框或“步骤B”框,但不可以既执行“步骤A”又执行“步骤B”,也不可以“步骤A”和“步骤B”都不执行;“步骤A”和“步骤B”中可以有一个是空的,如图(2)所示.②在利用条件结构画程序框图时,必须清楚判断的条件是什么,条件判断后分别对应着什么样的结果.(3)循环结构在一些算法中,要求___________同一操作的结构称为循环结构.即从算法某处开始,按照一定的条件反复执行某些步骤.反复执行的步骤称为循环体.循环结构有两种形式:直到型循环结构和当型循环结构.①直到型循环结构直到型循环结构可以用程序框图表示为:这个循环结构有如下特征:在执行了一次循环体后,对条件进行判断,如果条件不满足,就继续执行循环体,直到条件满足时终止循环.②当型循环结构当型循环结构可以用程序框图表示为:这个循环结构有如下特征:在每次执行循环体前,先对控制循环的条件进行判断,当条件满足时,执行循环体,否则终止循环.4.程序框图的画法在用自然语言表述一个算法后,可以画出程序框图,用顺序结构、条件结构和循环结构来表示这个算法.这样表示的算法清楚、简练,便于阅读和交流.设计一个算法的程序框图通常要经过以下步骤:注意:流程线不要忘记画箭头,因为它是反映流程执行先后次序的,若不画出箭头,则难以判断各框的执行顺序.K知识参考答案:3.(1)依次执行(2)条件是否成立(3)反复执行K—重点程序框图的画法,条件结构,循环结构K—难点循环结构及其循环控制条件的理解与应用K—易错画程序框图时误选逻辑结构1.算法的概念常见的设计算法的问题有解方程(组)问题、直接应用数学公式求解的问题、筛选问题、实际生活问题等,设计算法时要注意:(1)认真分析问题,联系解决此问题的一般数学方法;(2)综合考虑此类问题中可能涉及的各种情况;(3)将解决问题的过程划分为若干个步骤.【例1】已知直角三角形两直角边长为a,b,求斜边长c的一个算法分下列三步:①计算22+;c a b②输入直角三角形两直角边长a,b的值;③输出斜边长c的值;其中正确的顺序是A.①②③B.②③①C.①③②D.②①③【答案】D【解析】由算法规则得:第一步:输入直角三角形两直角边长a,b的值,第二步:计算22c a b=+三步:输出斜边长c的值;这样,就是求斜边长c的一个算法.故选D.【名师点睛】算法是解决某一类问题的精确描述,这就要求我们在写算法时应简练、清晰,并善于分析任何可能出现的情况,体现出思维的严密性和完整性.【例2】下列关于算法的理解正确的是A.算法等同于解法B.任何问题都可以运用算法解决C.按照算法一步步执行,在有限步之后,总能得出结果D.解决某一个具体问题时,算法不同,结果也不同【答案】C2.顺序结构与顺序结构相关的问题一般是利用公式求解问题.在使用顺序结构书写程序框图时,(1)要注意各种框图符号的正确使用;(2)要先赋值,再运算,最后输出结果.【例3】将两个数a=2017,b=2018交换,使得a=2018,b=2017,下面语句正确一组是A.B.C.D.【答案】B【解析】先把b的值赋给中间变量c,这样c=2018,再把a的值赋给变量b,这样b=2017,把c的值赋给变量a,这样a=2018.故选B.【例4】已知函数f(x)=x2–3x+2,请设计一个算法,画出算法的程序框图,求f(3)+f(–1)的值.【答案】答案详见解析.程序框图如图:【名师点睛】画顺序结构的程序框图问题,不仅要遵循程序框图的画图原则,而且要看要求的量需要根据哪些条件求解,需要的条件必须先输入,或将已知的条件全部输入,求出未知的量.3.条件结构凡是需要先根据条件作出判断,然后再决定进行哪一个步骤的问题,在画程序框图时,必须引入判断框,采用条件结构,有时会需要多个判断框,至于判断框内的内容是没有固定顺序的.【例5】一算法的程序框图如图所示,若输出的12y ,则输入的x可能为A.–1 B.1 C.1或5 D.–1或1 【答案】B【名师点睛】(1)对于求分段函数的函数值的程序框图画法:如果是分两段的函数,只需引入一个判断框;如果是分三段的函数,需要引入两个判断框;依此类推.至于判断框内的内容是没有顺序的.(2)判断框内的内容可以不唯一,但判断框内的内容一经改变,其相应的处理框等内容均要有所改变. 【例6】阅读程序框图,如果输出的函数值在区间1142⎡⎤⎢⎥⎣⎦,内,则输入的实数x 的取值范围是A .(–∞,–2]B .[–2,–1]C .[–1,2]D .[2,+∞)【答案】B【解析】分析程序中各变量、各语句的作用,再根据流程图所示的顺序,可知:该程序的作用是计算分段函数f (x )=[]()()222222x x x ⎧∈-⎪⎨∈-∞-+∞⎪⎩,,,,,的函数值.又∵输出的函数值在区间1142⎡⎤⎢⎥⎣⎦,内,∴11242x <<,解得x ∈[–2,–1].故选B .4.循环结构如果算法问题中涉及的运算进行了许多次重复的操作,且先后参与运算的数之间有相同的变化规律,就可以引入变量(我们称之为循环变量),构成循环结构.循环结构中常用的几个变量:①计数变量:即计数器,用来记录执行循环体的次数,如1=+.i in n=+,1②累加变量:即累加器,用来计算数据之和,如S S i=+.③累乘变量:即累乘器,用来计算数据之积,如P P i=*.在程序框图中,一般要根据实际情况先给这些变量赋初始值.一般情况下,计数变量的初始值为1,累加变量的初始值为0,累乘变量的初始值为1.【例7】阅读如图的程序框图.若输入n=5,则输出k的值为A.2 B.3 C.4 D.5【答案】B【例8】已知流程图如图所示,该程序运行后,为使输出的b值为16,则循环体的判断框内①处应填A.2 B.3 C.4 D.5【答案】B1.早上从起床到出门需要洗脸刷牙(5 min)、刷水壶(2 min)、烧水(8 min)、泡面(3 min)、吃饭(10 min)、听广播(8 min)几个步骤,从下列选项中选出最好的一种算法A.第一步洗脸刷牙、第二步刷水壶、第三步烧水、第四步泡面、第五步吃饭、第六步听广播B.第一步刷水壶、第二步烧水同时洗脸刷牙、第三步泡面、第四步吃饭、第五步听广播C.第一步刷水壶、第二步烧水同时洗脸刷牙、第三步泡面、第四步吃饭同时听广播D.第一步吃饭同时听广播、第二步泡面、第三步烧水同时洗脸刷牙、第四步刷水壶2.我们已学过的算法有求解一元二次方程的求根公式,加减消元法求二元一次方程组的解,二分法求函数的零点等,对算法的描述有:①对一类问题都有效;②算法可执行步骤必须是有限的;③算法可以一步一步地进行,每一步都有确切的含义;④是一种通法,只要按部就班地做,总能得到结果.以上对算法的描述正确的有A.1个B.2个C.3个D.4个3.表示“根据给定条件判断”的符号是A B C D4.下面的程序框图是顺序结构的是5.如图所示的程序框图表示的算法意义是A.边长为3,4,5的直角三角形面积B.边长为3,4,5的直角三角形内切圆面积C.边长为3,4,5的直角三角形外接圆面积D.以3,4,5为弦的圆面积6.如图所示的程序框图是已知直角三角形两直角边a,b求斜边c的算法,其中正确的是7.根据所给的程序框图,如图所示,输出的结果是A .3B .1C .2D .08.下列说法:①条件结构是最简单的算法结构;②顺序结构就是按照程序语句运行的自然顺序,依次地执行顺序;③条件结构可以根据设定的条件,控制语句流程,有选择地执行不同的语句序列.其中正确的说法是 A .①②B .①③C .②③D .①②③9.求下列函数的函数值的算法中需要用到条件结构的是 A .f (x )=x 2-1B .f (x )=2x +1C .f (x )=⎩⎪⎨⎪⎧x 2+1x >1,x 2-1x ≤1.D .f (x )=2x10.如下图所示的程序框图,其功能是A .输入a ,b 的值,按从小到大的顺序输出它们的值B .输入a ,b 的值,按从大到小的顺序输出它们的值C .求a ,b 的最大值D .求a ,b 的最小值 11.直到型循环结构对应的框图为12.如图所示的程序框图中,循环体是A.①B.②C.③D.②③13.阅读如图框图,运行相应的程序,则输出i的值为A.3 B.4 C.5 D.6 14.下面程序框图表示的算法的运行结果是________.15.若R=8,则如图所示的程序框图运行后的结果为a=________.16.试写一个解三元一次方程组12,3316,2x y zx y zx y z++=⎧⎪--=⎨⎪--=-⎩①②③的算法.17.已知半径为r的圆的周长公式为C=2πr,当r=10时,写出计算圆的周长的一个算法,并画出程序框图.18.如下算法:第一步,输入x 的值; 第二步,若x ≥0,则y =x ; 第三步,否则,y =x 2; 第四步,输出y 的值, 若输出的y 值为9,则x 的值是 A .3B .-3C .3或-3D .-3或919.给出下列程序框图:若输出的结果为2,则①处的执行框内应填的是A .x =2B .b =2C .x =1D .a =520.下面的程序框图能判断任意输入的数x 的奇偶性.其中判断框中的条件是 A .0m =?B .0x =?C .1x =?D .1m =?21.某程序框图如图所示,现输入如下四个函数,则可以输出的函数是A .()2f x x =B .()1f x x=C .()e x f x =D .()3f x x x =+22.执行如图所示的程序框图,若输出的n =7,则输入的整数K 的最大值是A .18B .50C .78D .30623.执行如图所示的程序框图,输出的S 值为A .1B .23C .1321D .61098724.执行如图所示的程序框图,输出的结果为A .(-2,2)B .(-4,0)C .(-4,-4)D .(0,-8)25.执行如图所示的程序框图,输出的S 值为A .1B .3C .7D .1526.阅读如图所示的程序框图,运行相应的程序,输出的n 的值为A .1B .2C .3D .427.如图给出的是计算12+14+16+18+…+1100的一个程序框图,其中判断框内应填入的条件是A .i <50?B .i >50?C .i <25?D .i >25?28.一个算法的程序框图如图所示,当输入的x 值为3时,输出y 的值恰好是13,则“①”处的关系式是A .y =x 3B .y =3-xC .y =3xD .y =x 1329.如图是求长方体的体积和表面积的一个程序框图,补充完整,横线处应填_____________.30.已知函数()()2log 2,22,x x y x x ⎧⎪=⎨-<⎪⎩图中表示的是给定x 的值,求其对应的函数值y 的程序框图.①处应填写_____________;②处应填写_____________.31.阅读下面的算法,回答所给问题:第一步,输入a.a,则执行第三步,否则,执行第四步.第二步,若4第三步,输出21a-.第四步,输出221--.a a(1)上述算法的功能是_____________.(2)当输入的a值为_____________时,输出的数值最小,其最小值为_____________.32.求过两点P1(x1,y1),P2(x2,y2)的直线的斜率.设计该问题的算法并画出程序框图.33.如图所示是解决某个问题而绘制的程序框图,仔细分析各图框内的内容及图框之间的关系,回答下面的问题:(1)该框图解决的是怎样的一个问题?(2)若最终输出的结果y1=3,y2=-2,当x取5时输出的结果5a+b的值应该是多大?(3)在(2)的前提下,输入的x值越大,输出的ax+b是不是越大,为什么?(4)在(2)的前提下,当输入的x值为多大时,输出结果ax+b等于0?34.画出计算函数y=|2x-3|的函数值的程序框图.(x由键盘输入).35.以下是某次考试中某班15名同学的数学成绩:72,91,58,63,84,88,90,55,61,73,64,77,82,94,60.要求将80分以上的同学的平均分求出来,画出该问题算法的程序框图.36.(2018•新课标Ⅱ)为计算S=1–12+11–34+…+11–99100,设计了如图的程序框图,则在空白框中应填入A.i=i+1 B.i=i+2 C.i=i+3 D.i=i+4 37.(2018•天津)阅读如图的程序框图,运行相应的程序,若输入N的值为20,则输出T的值为A.1 B.2 C.3 D.4 38.(2018•北京)执行如图所示的程序框图,输出的s值为A.12B.56C.76D.7121 2 3 4 5 6 7 8 9 10 11 12 13 C D A A B C C C C C B B B 18 19 20 21 22 23 24 25 26 27 28 36 37 38 DCDACCBCBBCBBB1.【答案】C【解析】由题知C 选项最节省时间,由算法的特征可知C 方法最好. 2.【答案】D【解析】由算法的概念可知①②③④都正确,因而选D . 3.【答案】A【解析】A 表示判断框,判断框是唯一具有超过一个退出点的图形符号. 4.【答案】A【解析】由于选项A 表示的是依次执行的几个步骤,故A 为顺序结构. 5.【答案】B【解析】由直角三角形内切圆半径r =a +b -c2,故选B .6.【答案】C7.【答案】C【解析】由X =Y ,得X =2;由Y =X ,得Y =2;由Z =Y ,得Z =2. 8.【答案】C【解析】依据顺序结构和条件结构的定义可知选C . 9.【答案】C【解析】C 项中函数f (x )是分段函数,需分类讨论x 的取值范围,要用条件结构来设计算法,A 、B 、D 项中均不需要用条件结构. 10.【答案】C【解析】根据执行过程可知程序框图的功能是输入a ,b 的值,输出它们的最大值,即求a ,b 的最大值.故选C . 11.【答案】B【解析】根据直到型程序框图的概念进行判断即可. 12.【答案】B【解析】根据循环结构的定义知②为循环体,故选B . 13.【答案】B【解析】i =1时,a =1×1+1=2,i =2时,a =2×2+1=5,i =3时,a =3×5+1=16,i =4时,a =4× 16+1=65>50,所以输出i =4. 14.【答案】6 6【解析】由题意得P =5+6+72=9,S =9×4×3×2=63=66.15.【答案】4【解析】由R =8得b =R2=2,a =2b =4. 16.【答案】详见解析.17.【答案】详见解析.【解析】算法如下:第一步,令r =10.第二步,计算C =2πr .第三步,输出C . 程序框图如图:18.【答案】D【解析】根据题意可知,此为分段函数,y =⎩⎪⎨⎪⎧x ,x ≥0,x 2,x <0的算法,当x ≥0时,x =9;当x <0时,x 2=9,所以x =-3. 19.【答案】C【解析】因结果是b =2,∴2=a -3,即a =5.当2x +3=5时,得x =1. 20.【答案】D【解析】奇数被2除余1,偶数被2整除.【易错易混】条件结构中的判断框内条件一定要清晰、明确、但条件不唯一,不同的人写算法时,可能符合条件时执行A ,不符合条件时执行B ,也可能不符合条件时执行A ,符合条件时执行B ,此时两种算法内的条件一定不一样. 21.【答案】A22.【答案】C【解析】第一次循环S =2,n =2,第二次循环S =6,n =3,第三次循环S =2,n =4,第四次循环S =18,n =5,第五次循环S =14,n =6,第六次循环S =78,n =7,需满足S ≥K ,此时输出n =7,所以18<K ≤78,所以整数K 的最大值为78. 23.【答案】C【解析】执行第一次循环后S =23,i =1;执行第二次循环后,S =1321,i =2≥2,退出循环体,输出S 的值为1321.24.【答案】B【解析】第一次循环:S =1-1=0,t =1+1=2;x =0,y =2,k =1; 第二次循环:S =0-2=-2,t =0+2=2,x =-2,y =2,k =2;第三次循环:S =-2-2=-4,t =-2+2=0,x =-4,y =0,k =3.输出(-4,0). 25.【答案】C【解析】程序框图运行如下:k =0<3,S =0+20=1,k =1<3;S =1+21=3,k =2<3;S =3+22=7, k =3.输出S =7. 26.【答案】B【解析】当n =1时,21>12满足条件,继续循环得n =2,22>22不成立,不满足条件,所以输出n =2. 27.【答案】B【解析】因为该循环体需要运行50次,i 的初始值是1,间隔是1,所以i =50时不满足判断框内的条件,而i =51时满足判断框内条件,所以判断框内的条件可以填入i >50?. 28.【答案】C【解析】当x =3时,∵x >0,由x =x -2,得x =1;再用x =x -2,得x =-1;而当x =-1时,3x =13.29.【答案】【解析】根据题意,长方体的长、宽、高应从键盘输入,故横线处应填写输入框.30.【答案】2?x < 2log y x =【解析】框图中的①就是分段函数关系式两种形式的判断条件,故填写“2?x <”.②就是该函数的另一段表达式2log y x =.【名师点睛】求分段函数函数值的程序框图的画法:如果是分两段的函数,只需要引入一个判断框;如果是分三段的函数,需要引入两个判断框,依此类推,至于判断框内的内容是没有顺序的. 31.【答案】(1)求分段函数221,4()21,4a a f a a a a -⎧=⎨--<⎩的函数值;(2)1 -232.【答案】详见解析.【解析】算法如下:第一步,输入x 1,y 1,x 2,y 2.第二步,如果x 1=x 2,输出“斜率不存在”;否则,k =y 2-y 1x 2-x 1.第三步,输出k . 程序框图如下图所示.33.【答案】详见解析.34.【答案】详见解析.【解析】程序框图如图:35.【答案】详见解析.【解析】程序框图如图.36.【答案】B【解析】模拟程序框图的运行过程知,该程序运行后输出的是S=N–T=(1–12)+(11–34)+…+(11–99100);累加步长是2,则在空白处应填入i=i+2.故选B.37.【答案】B38.【答案】B【解析】执行循环前:k=1,S=1.在执行第一次循环时,S=1–1122=.由于k=2≤3,所以执行下一次循环.S=115236+=,k=3,直接输出S=56,故选B.。