1、第九章算法初步、统计、统计案例第一节算法的基本思想、算法框图及基本语句1.算法与框图的概念(1)算法在解决某些问题时,需要设计出一系列_或_的步骤,通过实施这些步骤来解决问题,通常把这些_称为解决这些问题的算法.现代算法的作用之一是_.可操作可计算步骤使计算机能代替人完成某些工作(2)框图的概念为了使算法结构更加清晰,可借助图来帮助描述算法.图的特点是_、_,便于_.通常这样的图叫作框图.直观清楚检查和交流(3)算法框图的图形符号及其作用图形符号名称功能_框(起止框)表示一个算法的_和_表示一个算法输入和输出的信息终端起始结束输入、输出框图形符号名称功能_框赋值、计算_框判断某一条件是否成立处
2、理判断2.算法的基本结构名称内容顺序结构选择结构循环结构定义按照步骤_的一个算法,称为具有“顺序结构”的算法,或者称为算法的_.在算法的执行过程中,需要对_进行判断,_决定后面的步骤,像这样的结构通常称作选择结构.在一些算法中,经常会出现从某处开始,按照一定的条件,反复执行某一处理步骤的情况,像这种需要_的结构称为循环结构.依次执行顺序结构条件判断的结果反复进行相同的操作名称内容顺序结构选择结构循环结构算法框图3.基本算法语句(1)条件语句条件语句是表达_最常用的语句.条件语句的格式及算法框图选择结构If 条件 ThenElse(2)循环语句算法中的_是由循环语句来实现的.循环语句的格式:()
3、For语句的一般形式是:_循环变量=初始值To终值循环体Next循环结构For()Do Loop语句的一般形式是:Do _Loop While _循环体条件为真判断下面结论是否正确(请在括号中打“”或“”).(1)算法可以无限操作下去.()(2)一个算法框图一定包含顺序结构,但不一定包含选择结构和循环结构.()(3)5x是赋值语句.()(4)输入语句可以同时给多个变量赋值.()(5)一个赋值语句可以给多个变量同时赋值.()【解析】(1)错误.算法必须在有限步操作后停止.(2)正确.由算法框图的三种逻辑结构知该说法正确.(3)错误.赋值语句中不能给常量赋值.(4)正确.输入语句可以同时给多个变量
4、赋值.(5)错误.一个赋值语句只能给一个变量赋值.答案:(1)(2)(3)(4)(5)1如果执行如图所示的算法框图,输入n=6,m=4,那么输出的p等于()(A)720 (B)360 (C)240 (D)120【解析】选B.当k=1时,p=1(6-4+1)=3,当k=2时,p=3(6-4+2)=12,当k=3时,p=12(6-4+3)=60,当k=4时,p=60(6-4+4)=360,故选B.2.下面程序运行的结果是()(A)5,8 (B)8,5 (C)8,13 (D)5,13A5B8XAABBXA输出A,B【解析】选C.此程序先将A的值赋给X,再将B的值赋给A,再将XA的值赋给B,即将原来的
5、A与B的和赋给B,最后A的值是原来B的值8,而B的值是原来A与B两数之和13.3算法框图如图所示,若输出的S=57,则判断框内应填入()(A)k4 (B)k5(C)k6 (D)k7【解析】选A.各次循环情况如表所示:当k=5时应退出循环,故判断框中应填入k4.循环次数01234k12345S141126574若某算法框图如图所示,则该程序运行后输出的k值为_.【解析】起始k=2,第一次循环后k=3,a=64,b=81;第二次循环后k=4,a=256,b=256;第三次循环后k=5,a=1 024,b=625;故k=5.答案:5考向 1算法框图的执行问题【典例1】(1)阅读如图所示的算法框图,若
6、运行该程序后输出的y值为,则输入的实数x值为_(2)(2013广州模拟)阅读如图所示的算法框图,则输出的S=_.【思路点拨】(1)先由算法框图判断出程序所表示的函数关系,再由函数值等于求出相应x的值.(2)依次执行算法框图,退出条件是i5,故i=6时应退出循环.【规范解答】(1)由算法框图可得,该算法为分段函数分别令解得x.答案:(2)第一次循环:T=31-1=2,S=0+2=2,i=2;此时不满足i5.第二次循环:T=32-1=5,S=2+5=7,i=3;此时不满足i5.第三次循环:T=33-1=8,S=2+5+8=15,i=4;此时不满足i5.第四次循环:T=34-1=11,S=2+5+8
7、+11=26,i=5;此时不满足i5.第五次循环:T=35-1=14,S=2+5+8+11+14=40,i=6;此时,i5,满足退出条件,故输出S=40.答案:40【拓展提升】算法框图的基本结构(1)顺序结构顺序结构是最简单的算法结构,语句与语句之间、框与框之间是按从上到下顺序进行的算法框图中一定包含顺序结构(2)选择结构解决分段函数的求值问题时,一般采用选择结构设计算法利用选择结构解决算法问题时,要引入判断框,要根据题目的要求引入一个或多个判断框判断框内的条件不同,对应的下一图框中的内容和操作要相应地进行变化,故要逐个分析判断框内的条件(3)循环结构循环结构算法框图的执行,首先要注意控制循环
8、的变量是什么,何时退出循环;其次要清楚循环体内的程序是什么,如何变化.利用循环结构表示算法,首先要注意循环变量、初始条件的确定,其次要分析循环体的构成,最后要会从开始和结尾处检验算法框图是否正确【变式训练】(1)如图算法框图,当x1=6,x2=9,p=8.5时,x3等于()(A)7 (B)8 (C)10 (D)11【解析】选B.x1=6,x2=9,执行的判断是|9-x3|3是否成立;又p=8.5,显然|9-x3|3不成立,即为“否”,|9-x3|3,即6x312,此时有解得x3=8,符合题意,故选B(2)如果执行如图所示的框图,输入N5,则输出的数等于()【解析】选D.根据算法框图可知,该算法
9、框图的功能是计算现在输入的N5,所以输出的数考向 2算法框图的识别与完善问题【典例2】(1)如图给出了一个算法框图,该算法框图的功能是()(A)求三个数中最大的数(B)求三个数中最小的数(C)按从小到大排列(D)按从大到小排列(2)(2013南昌模拟)如图是计算函数的值的算法框图,在,处应分别填入的是()(A)yln(x),y0,y2x(B)yln(x),y2x,y0(C)y0,y2x,yln(x)(D)y0,yln(x),y2x(3)(2013西安模拟)给出如图所示的算法框图,如果输出的S2 450,那么判断框中应填入_.【思路点拨】(1)根据各判断框的功能进行判断或取特殊值运行后判断.(2
10、)处应填当x2时y的表达式;处应填当x3时y的表达式;处应填当2b成立,故将b的值赋给a得a=5,又ac不成立,故直接输出a的值为5,再结合选项知,B成立.(2)选B.依题意得,当x2时,yln(x),因此处应填yln(x);当23时,y2x,因此处应填y2x.(3)依次执行算法框图,S=0+2,i=2+2=4;S=0+24,i=4+2=6;S=0+246,i=6+2=8;,由此得,当i2n时,S=0+246(2n2)n(n-1),由n(n-1)2 450得n=50.即i=100时,S=2 450,又本题中当条件满足时退出循环,故判断框中应填入i100.答案:i100【拓展提升】1.识别、运行
11、算法框图和完善算法框图的思路(1)要明确算法框图的顺序结构、选择结构和循环结构.(2)要识别、运行算法框图,理解框图所解决的实际问题.(3)按照题目的要求完成解答并验证2.解决算法框图问题时的注意点(1)不要混淆处理框和输入框(2)注意区分选择结构和循环结构(3)循环结构中要正确控制循环次数(4)要注意各个框的顺序【变式训练】已知函数如图表示的是给定x的值,求其对应的函数值y的算法框图处应填写_;处应填写_【解析】由框图可知只有满足中的条件则对应的函数解析式才为y2x,故此处应填写x2,则处应填写ylog2x.答案:x2 ylog2x考向 3基本算法语句【典例3】(1)下面运算输出的结果为_.
12、(2)为了在运行程序之后得到结果y16,则键盘输入的x应该是_(3)根据下面的语句写出相应的算法功能,并画出相应的算法框图【思路点拨】(1)赋值语句的功能是将后面的值赋给了前面的变量.(2)本题的解题关键是按照程序的顺序和条件语句的特点进行.(3)本题表示的是不大于999的正奇数的平方和,根据语句采用适当的循环结构.【规范解答】(1)语句c=a+b是将a,b的和赋值给c,故c=2+3=5;语句b=a+c-b是将a+c-b的值赋值给b.故b=2534.输出的结果为:2,4,5答案:2,4,5(2)由程序可得:当x999输出S【拓展提升】赋值语句的要求(1)赋值语句左边只能是变量名字,而不能是表达
13、式,右边表达式可以是一个常量、变量或含变量的运算式,如2=x是错误的.(2)赋值号的左右两边不能对换.赋值语句是将赋值号右边的表达式的值赋给赋值号左边的变量,如“A=B”“B=A”的运行结果是不同的,如x=5是对的,5=x是错的,A+B=C是错的,C=A+B是对的.(3)不能利用赋值语句进行代数式的演算(如化简、因式分解、解方程等),如y=x2-1=(x-1)(x+1)这是实现不了的.(4)在一个赋值语句中只能给一个变量赋值.不能出现两个或两个以上的“=”,但对于同一个变量可以多次赋值.【变式备选】下面是一个用基本语句编写的程序,阅读后解决所给出的问题:(1)该算法程序的功能是什么?(2)画出
14、该程序相应的算法框图【解析】(1)由算法程序可知,该算法的功能是计算分段函数的函数值(2)算法框图:【易错误区】循环规律与程序中的逻辑顺序不明确致误【典例】(2013厦门模拟)为了求满足1+2+3+n2 012的最大的自然数n,算法框图如图所示,则输出框中应填:输出()(A)i-2 (B)i-1 (C)i (D)i+1【误区警示】本题易出现的错误主要有两个方面:(1)循环规律不明确,导致S与i的关系错误.(2)程序框图中S=S+i与i=i+1的逻辑顺序不明确,导致错误.【规范解答】选A.依次执行算法框图:S=0+1,i=2;S=0+1+2,i=3;S=0+1+2+3,i=4;由此可得S=1+2
15、+3+n时,i=n+1;经检验知当S=1+2+3+62=1 953时 i=63,满足条件进入循环;S=1+2+3+62+63=2 016时 i=64,不满足条件,退出循环.所以应该输出62即 i-2故选A【思考点评】1解决算法框图问题要注意几个常用变量(1)计数变量:用来记录某个事件发生的次数,如ii1.(2)累加变量:用来计算数据之和,如SSi.(3)累乘变量:用来计算数据之积,如ppi.2.循环体规律的探求通常由开始一步一步运行,根据判断条件,要么几步后就会输出结果或会呈现出规律,再根据规律计算出结果.1.(2012安徽高考改编)如图所示,算法框图的输出结果是()(A)3 (B)4 (C)
16、5 (D)8【解析】选B.由算法框图可知,第一次循环后,得到x2,y2,不满足判断条件;第二次循环后,得到x4,y3,不满足判断条件;第三次循环后,得到x8,y4,满足判断条件,故跳出循环,输出y4.2.(2012北京高考)执行如图所示的算法框图,输出S值为()(A)2 (B)4 (C)8 (D)16【解析】选C.框图执行如下:k=0,S=1;S=1,k=1;S=2,k=2;S=8,k=3.所以输出8.3.(2012辽宁高考)执行如图所示的算法框图,则输出的S值是()【解析】选D.当i1时,当i2时,当i4时,当i5时,当i6时程序终止,故输出的结果为1.4.(2012天津高考)阅读如图所示的
17、算法框图,运行相应的程序,当输入x的值为-25时,输出x的值为()(A)-1 (B)1 (C)3 (D)9【解析】选C.当x=-25时执行第一次循环,得出x=4;第二次循环得出x=1;然后跳出循环得出结果x=3.5.(2012江西高考)如图是某算法的算法框图,则程序运行后输出的结果是_【解析】当k1时,此时1sin 00成立,因此 a1,T011,k112,k 1不成立,因此a0,T101,k213,此时k sin 0不成立,因此a0,T101,k314,此时k 1成立,因此a1,T112,k415,此时k sin 20成立,因此a1,T213,k516,此时k6不成立,退出循环,此时T3.答案:31.如图所示的算法框图运行的结果是()(A)(B)(C)(D)【解析】选B.由算法框图的算法原理可得:A=0,i=1;A=,i=2;A=,i=3;i=2 012;A=,i=2 013,不满足循环条件,输出2.输入a=ln 0.8,c=2-e,经过下列程序运算后,输出a,b的值分别是()【解析】选C.执行此程序,是把三个数按由大到小的顺序输出,所以