1、1111 算法与程序框图知识梳理1算法的含义与程序框图(1)算法:算法是指按照一定规则解决某一类问题的明确和有限的步骤(2)程序框图:程序框图又称流程图,是一种用程序框、流程线及文字说明来表示算法的图形在程序框图中,一个或 n 个程序框的组合表示算法中的一个步骤;带有方向箭头的流程线将程序框连接起来,表示算法步骤的执行顺序(3)算法框图的图形符号及其功能2三种基本逻辑结构及相应语句23诊断自测1概念思辨(1)一个程序框图一定包含顺序结构,也包含条件结构(选择结构)和循环结构( )(2)当型循环是给定条件不成立时,执行循环体,反复进行,直到条件成立为止( )(3)在算法语句中, X X1 是错误
2、的( )(4)输入语句可以同时给多个变量赋值( )答案 (1) (2) (3) (4)2教材衍化(1)(必修 A3P13例 6)执行如图所示的程序框图,若输出 k 的值为 6,则判断框内可填入的条件是( )4A s ? B s ? C s ? D s ?12 35 710 45答案 C解析 第一次循环, s1 , k8;第二次循环, s1 , k7;第910 910 910 89 45三次循环, s1 , k6,此时应退出循环输出 k6.故判断框内可填“ s910 89 78 710?” 故选 C.710(2)(必修 A3P15例 7)执行如图所示的程序框图,输出的 z 的值为_答案 6解析
3、第一次循环, S1, a1;第二次循环, S2, a2;第三次循环,5S8, a3;第四次循环, S64, a4,此时退出循环,输出 z log2266.3小题热身(1)(2017全国卷)执行下面的程序框图,如果输入的 a1,则输出的 S( )A2 B3 C4 D5答案 B解析 当 K1 时, S0(1)11, a1,执行 K K1 后, K2;当 K2 时, S1121, a1,执行 K K1 后, K3;当 K3 时, S1(1)32, a1,执行 K K1 后, K4;当 K4 时, S2142, a1,执行 K K1 后, K5;当 K5 时, S2(1)53, a1,执行 K K1
4、后, K6;当 K6 时, S3163,执行 K K1 后, K76,输出 S3.结束循环故选 B.(2)(2016全国卷)执行下面的程序框图,如果输入的 x0, y1, n1,则输出x, y 的值满足( )6A y2 x B y3 x C y4 x D y5 x答案 C解析 x0, y1, n1; x0, y1, n2;x , y2, n3; x , y6,此时 x2 y236,输出 x , y6,满足 y4 x.故12 32 32选 C.题型 1 算法的基本结构角度 1 顺序结构与条件结构(2013全国卷)执行下面的程序框图,如果输入的 t1,3,则输出的典 例s 属于( )7A3,4 B
5、5,2 C4,3 D2,5分析程序框图的结构,解决问题本题是求分段函数的值域答案 A解析 由框图知 s 是关于 t 的分段函数:sError!故当 t1,1)时, s3,3);当 t1,3时, s4 t t24( t2) 23,4,则当 t1,3时, s3,4,故选 A.角度 2 循环结构(2017全国卷)执行如图所示的程序框图,为使输出 S 的值小于 91,则输典 例入的正整数 N 的最小值为( )8A5 B4 C3 D2本题是当型循环结构,代入选项中最小的 N 2,循环运算答案 D解析 假设 N2,程序执行过程如下:t1,M100, S0,12, S0100100,M 10, t2,100
6、1022, S1001090,M 1, t3, 101032,输出 S9091.符合题意 N2 成立显然 2 是最小值故选 D.方法技巧1应用顺序结构与条件结构的注意点(1)顺序结构:顺序结构是最简单的算法结构,语句与语句之间、框与框之间是按从上到下的顺序进行的(2)条件结构:利用条件结构解决算法问题时,重点是判断框,是否满足判断框内的条件,对应的下一图框中的内容是不一样的,故要重点分析判断框内的条件是否满足2循环结构的思维过程(1)分析进入或退出循环体的条件,确定循环次数(2)结合初始条件和输出结果,分析控制循环的变量应满足的条件或累加、累乘的变量的表达式(3)辨析循环结构的功能冲关针对训练
7、(2014四川高考)执行如图的程序框图,如果输入的 x, yR,那么输出的 S 的最大值为( )9A0 B1 C2 D3答案 C解析 由程序框图可知,若输入的 x, y 满足约束条件Error!则输出目标函数 S2 x y 的值,否则,输出 S1.如图,作出满足条件的可行域当x1, y0 时,目标函数 S2 x y 取得最大值 2,21,故输出的 S 的最大值为 2.故选 C.题型 2 程序框图的识别与完善角度 1 由程序框图求输出结果(2015全国卷)执行如图所示的程序框图,如果输入的 t0.01,则输出典 例的 n( )10A5 B6 C7 D8循环结构的框图,循环计算即可答案 C解析 第
8、一次循环: S1 , m , n1, St;12 12 14第二次循环: S , m , n2, St;12 14 14 18第三次循环: S , m , n3, St;14 18 18 116第四次循环: S , m , n4, St;18 116 116 132第五次循环: S , m , n5, St;116 132 132 164第六次循环: S , m , n6, St;132 164 164 1128第七次循环: S , m , n7,此时不满足 St,结束循环,输出164 1128 1128 1256n7,故选 C.角度 2 完善程序框图(2015重庆高考)执行如图所示的程序框图
9、,若输出 k 的值为 8,则判断框典 例内可填入的条件是( )11A s ? B s ? C s ? D s ?34 56 1112 2524答案 C解析 k2, s ; k4, s ; k6, s ; k8, s .12 12 14 34 12 14 16 1112 12 14 16 18 2524此时循环结束,所以判断框中可填入的条件是“ s ?” ,故选 C.1112方法技巧1求程序框图运行结果的思路(1)要明确程序框图中的顺序结构、条件结构和循环结构(2)要识别运行程序框图,理解框图所解决的实际问题(3)按照题目的要求完成解答并验证2确定控制循环变量的思路结合初始条件和输出结果,分析控
10、制循环的变量应满足的条件或累加、累乘的变量的表达式3易错提醒:解决程序框图问题时应注意的问题(1)注意区分当型循环和直到型循环(2)循环结构中要正确控制循环次数(3)要注意各个框的顺序冲关针对训练12(2016四川高考)秦九韶是我国南宋时期的数学家,普州(现四川省安岳县)人,他在所著的数书九章中提出的多项式求值的秦九韶算法,至今仍是比较先进的算法如图所示的程序框图给出了利用秦九韶算法求某多项式值的一个实例,若输入 n, x 的值分别为3,2,则输出 v 的值为( )A9B18C20D35答案 B解析 执行程序框图,n3, x2, v1, i20; v1224, i10; v4219, i00;
11、 v92018, i120 D i20答案 D解析 由于是求 20 个数的平均数,所以应是“直到 i20”时,退出循环,故选 D.方法技巧算法语句应用的三个关注点1赋值语句:赋值号仅仅表示把右边的表达式的值赋给了左边的变量,且变量的值始终等于最近一次赋给它的值,先前的值将被替换2条件语句:计算机在执行“IFTHENELSE”语句时,首先对 IF 后的条件进行判断,如果符合条件,则执行 THEN 后面的“语句” ;若不符合条件,则执行 ELSE 后面的“语句” 3循环语句:分清 WHILEWEND 和 DOLOOP UNTIL 的格式,不能混用冲关针对训练(2018宜春模拟)如下是根据所输入的
12、x 值计算 y 值的一个算法程序,若 x 依次取数列 (nN *)的项,则所得 y 值的最小值为( )n2 4n A4 B9 C16 D20答案 C解析 由条件语句知, yError!14又 n 4(当且仅当 n2 时等号成立),所以当 x4 时, y 有最小值 4216.n2 4n 4n故选 C.1(2017全国卷)如图所示的程序框图是为了求出满足 3n2 n1000 的最小偶数n,那么在 和 两个空白框中,可以分别填入( )A A1000?和 n n1 B A1000?和 n n2C A1000?和 n n1 D A1000?和 n n2答案 D解析 因为题目要求的是“满足 3n2 n10
13、00 的最小偶数 n”,所以 n 的叠加值为 2,所以 内填入“ n n2” 由程序框图知,当 内的条件不满足时,输出n,所以 内填入“ A1000?” 故选 D.2(2017天津高考)阅读下面的程序框图,运行相应的程序,若输入 N 的值为 24,则输出 N 的值为( )15A0 B1 C2 D3答案 C解析 第一次循环执行条件语句,此时 N24,24 能被 3 整除,则 N2438.83 不成立,进入第二次循环执行条件语句,此时 N8,8 不能被 3 整除,则N817.73 不成立,进入第三次循环执行条件语句,此时 N7,7 不能被 3 整除,则N716.63 不成立,进入第四次循环执行条件
14、语句,此时 N6,6 能被 3 整除,则N632.23 成立,此时输出 N2.故选 C.3(2017山东高考)执行两次下图所示的程序框图,若第一次输入的 x 的值为 7,第二次输入的 x 的值为 9,则第一次、第二次输出的 a 的值分别为( )16A0,0 B1,1 C0,1 D1,0答案 D解析 当 x7 时, b2, b247 x.又 7 不能被 2 整除, b213.此时 b297 x,退出循环, a1,输出 a1.当 x9 时, b2, b249 x.又 9 不能被 2 整除, b213.此时 b29 x,又 9 能被 3 整除,退出循环, a0.输出 a0.故选 D.4(2017河南
15、百校联盟模拟)九章算术是中国古代数学名著,体现了古代劳动人民的数学智慧,其中有一竹节容量问题,某教师根据这一问题的思想设计了如图所示的程序框图,若输出的 m 的值为 35,则输入的 a 的值为( )17A4B5C7D11答案 A解析 起始阶段有 m2 a3, i1,第一次循环, m2(2 a3)34 a9, i2;第二次循环, m2(4 a9)38 a21, i3;第三次循环, m2(8 a21)316 a45, i4;接着计算 m2(16 a45)332 a93,跳出循环,输出 m32 a93,令 32a9335,得 a4.故选 A.基础送分 提速狂刷练一、选择题1(2015湖南高考)执行如
16、图所示的程序框图,如果输入 n3,则输出的 S( )18A. B. C. D.67 37 89 49答案 B解析 当输入 n3 时,输出 S .113 135 157 12(1 13 13 15 15 17) 37故选 B.2(2015全国卷)如图所示的程序框图的算法思路源于我国古代数学名著九章算术中的“更相减损术” 执行该程序框图,若输入的 a, b 分别为 14,18,则输出的 a( )A0 B2 C4 D14答案 B解析 开始: a14, b18,第一次循环: a14, b4;第二次循环:19a10, b4;第三次循环: a6, b4;第四次循环: a2, b4;第五次循环:a2, b2
17、.此时, a b,退出循环,输出 a2.故选 B.3(2018江西赣州十四县联考)如图所示的程序框图,若输入 x, k, b, p 的值分别为 1,2,9,3,则输出的 x 值为( )A29B5C7D19答案 D解析 程序执行过程如下: n1, x2197;n2, x2795;n3, x2(5)919;n43,终止循环,输出 x19.故选 D.4执行下面的程序框图,如果输入的 N10,那么输出的 S( )20A1 12 13 110B1 12! 13! 110!C1 12 13 111D1 12! 13! 111!答案 B解析 T1, S1, k2;T , S1 , k3;12 12T , S
18、1 , k4;123 12 123T , S1 , k5;14! 12! 13! 14!T , S1 , k1110,输出 S,故选 B.110! 12! 13! 110!5(2017广东潮州二模)执行如图所示的程序框图,则输出的结果为( )21A7 B9 C10 D11答案 B解析 i1, s1 0.1,否;13i3, s 0.1,否;13 35 15i5, s 0.1,否;15 57 17i7, s 0.1,否;17 79 19i9, s 0.1,是,19 911 111输出 i9,故选 B.6(2016全国卷)执行下面的程序框图,如果输入的 a4, b6,那么输出的n( )22A3 B4
19、 C5 D6答案 B解析 第一次循环: a2, b4, a6, s6, n1;第二次循环: a2, b6, a4, s10, n2;第三次循环: a2, b4, a6, s16, n3;第四次循环: a2, b6, a4, s20, n4.结束循环,输出 n 的值为 4,故选 B.7执行如图所示的程序框图,则输出的 S( )A. B. C D032 3 32答案 A解析 由程序框图得Ssin sin sin sin sin sin sin sin .由正弦 3 23 33 43 53 63 73 20173函数的周期性,得 Ssin ,故选 A. 3 32238我们可以用随机数法估计 的值,如
20、图所示的程序框图表示其基本步骤(函数RAND 是产生随机数的函数,它能随机产生(0,1)内的任何一个实数),若输出的结果为521,则由此可估计 的近似值为( )A3.119 B3.126 C3.132 D3.151答案 B解析 在空间直角坐标系 Oxyz 中,不等式组Error!表示的区域是棱长为 1 的正方体区域,相应区域的体积为 131;不等式组Error!表示的区域是棱长为 1 的正方体区域内的 球形区域,相应区域的体积为 13 ,因此18 18 43 6 ,即 3.126,故选 B. 6 52110009已知函数 f(x) ax3 x2在 x1 处取得极大值,记 g(x) .执行如图所
21、示12 1f x的程序框图,若输出的结果 S ,则判断框中可以填入的关于 n 的判断条件是( )2016201724A n2016? B n2017?C n2016? D n2017?答案 B解析 f( x)3 ax2 x,则 f(1)3 a10,解得 a , g(x)13 , g(n) ,则1f x 1x2 x 1xx 1 1x 1x 1 1n 1n 1S1 1 ,因为输出的结果 S ,分析可知判断12 12 13 1n 1n 1 1n 1 nn 1 20162017框中可以填入的判断条件是“ n2017?” ,故选 B.10执行如图所示的程序框图,输出的 S 的值为( )25Alog 21
22、01 B2log 231C. D692答案 B解析 S3, i1, i7 成立;S3log 2 , i2, i7 成立;21S3log 2 log 2 3log 2 3log 2 ,21 32 (21 32) 3i3, i7 成立;S3log 2 log 2 3log 2 3log 2 , i4, i7 成立;343 (3 43) 4; S3log 2 , i8, i7 不成立,退出循环, Slog 2(3log 2 )8 8log 2 log2 2log 231,故选 B.(332) 911(2018河南模拟)下边程序框图的功能是求出 的值,则框图中16 16 16 16 16、两处应分别填
23、写的是( )26A i1, a B i1, a6C i1, a D i1, a6答案 D解析 程序框图是计算 的值,则利用累积加,则第一个处理框应为16 16 16 16 16i1,然后计算 i 是自减 1 个, i i1,第二空输出结果 a6.故选 D.12(2017湖南三模)给出 30 个数:1,2,4,7,11,要计算这 30 个数的和,现已给出了该问题的程序框图如图所示,那么框图中判断框处和执行框处应分别填入( )27A i30?; p p i1 B i31?; p p i1C i31?; p p i D i30?; p p i答案 D解析 由于要计算 30 个数的和,故循环要执行 3
24、0 次,由于循环变量的初值为 1,步长为 1,故终值应为 30,即中应填写“ i30?” ;又由第 1 个数是 1;第 2 个数比第 1 个数大 1 即 112;第 3 个数比第 2 个数大 2 即 224;第 4 个数比第 3 个数大 3 即 437;故中应填写 p p i.故选 D.二、填空题13定义 n!123 n,如图是求 10!的程序框图,其中 k 为整数,则k_.28答案 11解析 因为 10!1210,所以判断框内的条件为“ i11?” ,故 k11.14秦九韶算法是中国南宋时期的数学家秦九韶提出的一种多项式简化算法,如图所示的程序框图表示用秦九韶算法求 5 次多项式 f(x)
25、a5x5 a4x4 a3x3 a2x2 a1x a0当x x0(x0是任意实数)时的值的过程,若输入a02, a15, a26, a34, a47, a52, x03,则输出的 v 的值为_答案 98629解析 执行程序框图,输入a02, a15, a26, a34, a47, a52, x03,经过第 1 次循环得v13, n2;经过第 2 次循环得 v35, n3;经过第 3 次循环得 v111, n4;经过第4 次循环得 v328, n5;经过第 5 次循环得 v986, n6,退出循环故输出的 v 的值为 986.15(2018黄冈模拟)随机抽取某中学甲、乙两个班各 10 名同学,测量
26、他们的身高获得身高数据的茎叶图如图,在样本的 20 人中,记身高在150,160),160,170),170,180),180,190的人数依次为 A1, A2, A3, A4.如图是统计样本中身高在一定范围内的人数的算法框图若图中输出的 S18,则判断框应填_答案 i5?(或 i4?)解析 由于 i 从 2 开始,也就是统计大于或等于 160 的所有人数,于是就要计算A2 A3 A4,因此,判断框应填 i5?或 i4?.16(2018北京昌平质量抽测)执行如图所示的程序框图,当是 i6 时,输出的 S值为_;当是 i2018 时,输出的 S 值为_30答案 5 2017解析 当是 i6 时,当 i1 时, a1cos 11, S1; 2当 i2 时, a2cos 10, S1;22当 i3 时, a3cos 11, S112;32当 i4 时, a4cos 12, S224;42当 i5 时, a5cos 11, S415;52当 i6 时, a6cos 10, S505.62此时不满足条件,输出 S5.当是 i2018 时,因为 aicos 1 的周期为 4,所以 a1 a2 a3 a44,所以i2S a1 a2 a2018504( a1 a2 a3 a4) a2017 a20185044 a1 a22017.