①[-3,4] ③[-4,3] 答案 ①
??3t,t<1,
解析 根据流程图可以得到分段函数s=?2
?4t-t,t≥1,?
②[-5,2] ④[-2,5]
进而在函数的定义域[-1,3]
2
内分段求出函数的值域.所以当-1≤t<1时,s=3t∈[-3,3);当1≤t≤3时,s=4t-t2
=-(t-2)+4,所以此时3≤s≤4.综上可知,函数的值域为[-3,4],即输出的s属于[-3,4]. 引申探究
若将本例中判断框的条件改为“t≥1”,则输出的s的范围是什么?
解 根据流程图可以得到,当-1≤t<1时,s=4t-t=-(t-2)+4,此时-5≤s<3; 当1≤t≤3时,s=3t∈[3,9].
综上可知,函数的值域为[-5,9],即输出的s属于[-5,9]. 思维升华 应用顺序结构与选择结构的注意点 (1)顺序结构
顺序结构是最简单的算法结构,语句与语句之间、框与框之间是按从上到下的顺序进行的. (2)选择结构
利用选择结构解决算法问题时,重点是判断框,判断框内的条件不同,对应的下一框中的内容和操作要相应地进行变化,故要重点分析判断框内的条件是否满足.
执行如图所示的流程图,如果输入的x,y∈R,那么输出的S的最大值为
________.
2
2
答案 2
解析 当条件x≥0,y≥0,x+y≤1不成立时输出S的值为1;当条件x≥0,y≥0,x+y≤1成立时S=2x+y,下面用线性规划的方法求此时S的最大值.
x≥0,??
作出不等式组?y≥0,
??x+y≤1
表示的平面区域如图中阴影部分(含边界),由图可知当直线S=2x+y经过点M(1,0)时S最大,其最大值为2×1+0=2,故输出S的最大值为2. 题型二 循环结构
命题点1 由流程图求输出结果
例3 (2016·全国乙卷改编)执行右面的流程图,如果输入的x=0,y=1,n=1,则输出x,
y的值满足________.
答案 y=4x
解析 执行题中的流程图,知 第一次进入循环体:x=0+
1-122
=0,y=1×1=1,x+y<36; 2
2-11
第二次执行循环体:n=1+1=2,x=0+=,
22
y=2×1=2,x2+y2<36;
13-13
第三次执行循环体:n=2+1=3,x=+=,
222
y=3×2=6,x2+y2>36,满足x2+y2≥36,故退出循环,输出x=,y=6,满足y=4x.
命题点2 完善流程图
1111
例4 (2017·南京一模)如图给出的是计算+++?+的值的一个流程图,其中菱形
24620判断框内应填入的条件是________.
3
2
答案 i>10或i≥11
1
解析 经过第一次循环得到s=,i=2,此时的i不满足判断框中的条件;
211
经过第二次循环得到s=+,i=3,此时的i不满足判断框中的条件;
24111
经过第三次循环得到s=++,i=4,此时的i不满足判断框中的条件;
246?;
1111
经过第十次循环得到s=+++?+,i=11,此时的i满足判断框中的条件,执行输
24620出,
故判断框中的条件是“i>10”或“i≥11”. 命题点3 辨析流程图的功能
例5 如果执行如图的流程图,输入正整数N(N≥2)和实数a1,a2,?,aN,输出A,B,则下列结论正确的是________.
①A+B为a1,a2,?,aN的和; ②
A+B2
为a1,a2,?,aN的算术平均数;
③A和B分别是a1,a2,?,aN中最大的数和最小的数; ④A和B分别是a1,a2,?,aN中最小的数和最大的数. 答案 ③
解析 不妨令N=3,a1
k=2,x=a2,A=a2; k=3,x=a3,A=a3,
故输出A=a3,B=a1,故③正确.
思维升华 与循环结构有关问题的常见类型及解题策略
(1)已知流程图,求输出的结果,可按流程图的流程依次执行,最后得出结果.
(2)完善流程图问题,结合初始条件和输出结果,分析控制循环的变量应满足的条件或累加、累乘的变量的表达式.
(3)对于辨析流程图功能问题,可将程序执行几次,即可根据结果作出判断.
(2016·四川改编)秦九韶是我国南宋时期的数学家,普州(现四川省安岳县)
人,他在所著的《数书九章》中提出的多项式求值的秦九韶算法,至今仍是比较先进的算法.如图所示的流程图给出了利用秦九韶算法求某多项式值的一个实例,若输入n,x的值分别为3,2,则输出v的值为________.
答案 18
解析 初始值n=3,x=2,程序运行过程如下:
v=1
i=2 v=1×2+2=4 i=1 v=4×2+1=9 i=0 v=9×2+0=18 i=-1 跳出循环,输出v=18.
题型三 基本算法语句
例6 阅读下面两个算法的伪代码:
i←1 While i*?i+1?<20 i←i+1 End While Print i 图1
i←1 Do i←i+1 Until i×?i+1?<20 End Do Print i 图2
执行图1中伪代码的i的结果是________;