【步步高】 (江苏专用)2017 版高考数学一轮复习 第十三章 推理与 证明、算法、复数 13.4 算法与流程图 理
1.算法通常是指对一类问题的机械的、统一的求解方法. 2.流程图是由一些图框和流程线组成的,其中图框表示各种操作的类型,图框中的文字和符 号表示操作的内容,流程线表示操作的先后次序. 3.三种基本逻辑结构 (1)顺序结构是由若干个依次执行的步骤组成的,这是任何一个算法都离不开的基本结构.
其结构形式为 (2)选择结构是先根据条件作出判断,再决定执行哪一种操作的结构. 其结构形式为
(3)循环结构是指从某处开始, 按照一定条件反复执行某些步骤的情况. 反复执行的处理步骤 称为循环体.循环结构又分为当型和直到型. 其结构形式为
4.赋值语句、输入语句、输出语句 赋值语句用符号“←”表示,其一般格式是变量←表达式(或变量),其作用是对程序中的变 量赋值;输入语句“Read a,b”表示输入的数据依次送给 a,b,输出语句“Print x”表示 输出运算结果 x.
1
5.算法的选择结构由条件语句来表达,一般是 If—Then—Else 语句,其一般形式是
. 6.算法中的循环结构,可以运用循环语句来实现 (1)当循环的次数已经确定,可用“For”语句表示 “For”语句的一般形式为
说明:上面“For”和“End For”之间缩进的步骤称为循环体,如果省略“Step 步长”,那 么重复循环时,I 每次增加 1. (2)不论循环次数是否确定都可以用下面循环语句来实现循环结构当型和直到型两种语句结 构.
当型语句的一般格式是
,
直到型语句的一般格式是 【思考辨析】
.
判断下面结论是否正确(请在括号中打“√”或“×”) (1)算法只能解决一个问题,不能重复使用.( × ) (2)流程图中的图形符号可以由个人来确定.( × ) (3)输入框只能紧接开始框,输出框只能紧接结束框.( × ) )
(4)选择结构的出口有两个,但在执行时,只有一个出口是有效的.( √ (5)5←x 是赋值语句.( × )
(6)输入语句可以同时给多个变量赋值.( √ )
1.已知一个算法: (1)m←a. (2)如果 b<m,则 m←b,输出 m;否则执行第(3)步.
2
(3)如果 c<m,则 m←c,输出 m. 如果 a=3,b=6,c=2,那么执行这个算法的结果是________. 答案 2 解析 当 a=3,b=6,c=2 时,依据算法设计, 本算法是求 a、b、c 三个数的最小值, 故输出 m 的值为 2. 2.(2015·陕西改编)根据如图所示的流程图,当输入 x 为 6 时,输出的 y=________.
答案 10 解析 输入 x=6, 程序运行情况如下:
x=6-3=3>0,x=3-3=0≥0,x=0-3=-3<0,
退出循环,执行 y=x +1=(-3) +1=10, 输出 y=10. 3.(2014·课标全国Ⅰ改编)执行下面的流程图,若输入的 a,b,k 分别为 1,2,3,则输出的
2 2
M=________.
答案
15 8
3
1 3 3 解析 当 n=1 时,M=1+ = ,a=2,b= ; 2 2 2 2 8 3 8 当 n=2 时,M=2+ = ,a= ,b= ; 3 3 2 3 3 3 15 8 15 当 n=3 时,M= + = ,a= ,b= ; 2 8 8 3 8 15 当 n=4 时,终止循环.输出 M= . 8 4.如图,是求实数 x 的绝对值的算法程序框图,则判断框①中可填________________.
答案 x>0(或 x≥0)
?x, x≥0, ? 解析 由于|x|=? ? ?-x,x<0 ? ?x,x>0, 或|x|=? ?-x,x≤0, ?
故根据所给的流程图, 易知可填“x>0”或“x≥0”. 5.(教材改编)伪代码: Read x If x<0 Then
y←-x+1
Else If x=0 Then
y←0
Else
y←x+1
End If End If Print y
4
上面伪代码表示的函数是__________________. -x+1,x<0, ? ? 答案 y=?0,x=0, ? ?x+1,x>0
题型一 顺序结构与选择结构 命题点 1 顺序结构 例 1 已知 f(x)=x -2x-3,求 f(3)、f(-5)、f(5),并计算 f(3)+f(-5)+f(5)的值.设 计出解决该问题的一个算法,并画出流程图. 解 算法如下: 第一步,x←3. 第二步,y1←x -2x-3. 第三步,x=-5. 第四步,y2←x -2x-3. 第五步,x←5. 第六步,y3←x -2x-3. 第七步,y←y1+y2+y3. 第八步,输出 y1,y2,y3,y 的值. 该算法对应的流程图如图所示:
2 2 2 2
命题点 2 选择结构
5
例 2 执行如图所示的流程图,如果输入的 t∈[-1,3],则输出的 s 属于________.
①[-3,4] ③[-4,3] 答案 ①
②[-5,2] ④[-2,5]
?3t,t<1, ? 解析 根据流程图可以得到分段函数 s=? 2 ? ?4t-t ,t≥1,
进而在函数的定义域[-1,3]内
2
分段求出函数的值域.所以当-1≤t<1 时,s=3t∈[-3,3);当 1≤t≤3 时,s=4t-t = -(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;当
2 2 2
1≤t≤3 时,s=3t∈[3,9]. 综上可知,函数的值域为[-5,9],即输出的 s 属于[-5,9]. 思维升华 应用顺序结构与选择结构的注意点 (1)顺序结构 顺序结构是最简单的算法结构,语句与语句之间、框与框之间是按从上到下的顺序进行的. (2)选择结构 利用选择结构解决算法问题时,重点是判断框,判断框内的条件不同,对应的下一框中的内 容和操作要相应地进行变化,故要重点分析判断框内的条件是否满足. (2014·四川改编)执行如图所示的流程图,如果输入的 x,y∈R,那么输出的 S 的最大值为______.
6
答案 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 (2015·安徽)执行如图所示的流程图,输出的 n 为________.
答案 4 解析 结合流程图逐一验证求解. 3 执行第一次判断:|a-1.414|=0.414>0.005,a= ,n=2; 2 7 执行第二次判断:|a-1.414|=0.086>0.005,a= ,n=3; 5 17 执行第三次判断:|a-1.414|=0.014>0.005,a= ,n=4; 12 执行第四次判断:|a-1.414|<0.005,输出 n=4. 命题点 2 完善流程图 例 4 若按所给的流程图运行的结果为 S=90,则判断框中应填入的整数 k 的判断条件是
____________.
7
答案 k>8(或 k≥9) 命题点 3 辨析流程图的功能 例 5 (2014·陕西改编 ) 根据下面框图,对大于 2 的整数 N ,输出的数列的通项公式是
____________.
答案 an=2
n
解析 由流程图可知 第一次运行:i=1,a1=2,S=2; 第二次运行:i=2,a2=4,S=4; 第三次运行:i=3,a3=8,S=8; 第四次运行:i=4,a4=16,S=16. 思维升华 与循环结构有关问题的常见类型及解题策略 (1)已知流程图,求输出的结果,可按流程图的流程依次执行,最后得出结果. (2)完善流程图问题,结合初始条件和输出结果,分析控制循环的变量应满足的条件或累加、 累乘的变量的表达式. (3)对于辨析流程图功能问题,可将程序执行几次,即可根据结果作出判断. (1)(2015·课标全国Ⅰ改编)执行如图所示的流程图,如果输入的 t=0.01,则 输 出 的
n
=
________________________________________________________________________.
8
(2)(2014·课标全国Ⅱ改编)执行如图所示的流程图,如果输入的 x,t 均为 2,则输出的 S =________.
答案 (1)7 (2)7 解析 (1)逐次运行程序,直至输出 n. 1 1 运行第一次:S=1- = =0.5,m=0.25,n=1,S>0.01; 2 2 运行第二次:S=0.5-0.25=0.25,m=0.125,n=2,S>0.01; 运行第三次:S=0.25-0.125=0.125,m=0.062 5,n=3,S>0.01; 运行第四次:S=0.125-0.062 5=0.062 5,m=0.031 25,n=4,S>0.01; 运行第五次:S=0.031 25,m=0.015 625,n=5,S>0.01; 运行第六次:S=0.015 625,m=0.007 812 5,n=6,S>0.01; 运行第七次:S=0.007 812 5,m=0.003 906 25,n=7,S<0.01. 输出 n=7. (2)x=2,t=2,M=1,S=3,k=1.
k≤t,M= ×2=2,S=2+3=5,k=2; k≤t,M= ×2=2,S=2+5=7,k=3;
3>2,不满足条件,输出 S=7. 2 2
1 1
9
题型三 基本算法语句 例 6 根据下列伪代码,当输入 x 为 60 时,输出 y 的值为________. Read x If x≤50 Then
y←0.5×x
Else
y←25 + 0.6×(x -
50) End If Print y 答案 31
? ?0.5x,x≤50, 解析 由题意,得 y=? ? ?25+0.6?x-50?,x>50.
当 x=60 时,y=25+0.6×(60-50)=31. ∴输出 y 的值为 31. 思维升华 解决算法语句有三个步骤:首先通读全部语句,把它翻译成数学问题;其次领悟 该语句的功能;最后根据语句的功能运行程序,解决问题. 某伪代码如下:
S←0 i←1
While i≤100
S←S+ i?i+2? i←i+2
End While Print S
1
则输出的结果是________. 答案 50 101
解析 语句所示的算法是一个求和运算: 1 1 1 1 + + +?+ 1×3 3×5 5×7 99×101 1 ? 1 ? 1 ? 1 50 ? 1? ?1 1? ?1 1? ?1 =[?1- ?+? - ?+? - ?+?+? - ?]× =?1- ?× = . 3 3 5 5 7 99 101 101 2 ? ? ? ? ? ? ? ? ? ? 2 101
10
19.变量的含义理解不准致误
典例 执行如图所示的流程图,输出的 S 值为________.
易错分析 (1)读不懂流程图,把执行循环体的次数 n 误认为是变量 k 的值,没有注意到 k 的初始值为 0. (2)对循环结构:①判断条件把握不准;②循环次数搞不清楚;③初始条件容易代错. 解析 当 k=0 时,满足 k<3,因此 S=1×2 =1; 当 k=1 时,满足 k<3,则 S=1×2 =2; 当 k=2 时,满足 k<3,则 S=2×2 =8; 当 k=3 时,不满足 k<3,输出 S=8. 答案 8 温馨提醒 (1)要分清是当型循环结构还是直到型循环结构; 要理解循环结构中各变量的具体 含义以及变化规律. (2)在处理含有循环结构的算法问题时,关键是确定循环的次数,循环中有哪些变量,且每一 次循环之后的变量 S、k 值都要被新的 S、k 值所替换.
2 1 0
[方法与技巧] 1.在设计一个算法的过程中要牢记它的五个特征: 概括性、逻辑性、有穷性、不唯一性、普遍性. 2.在画算法框图时首先要进行结构的选择.若所要解决的问题不需要分情况讨论,只用顺序 结构就能解决;若所要解决的问题要分若干种情况讨论时,就必须引入选择结构;若所要解 决的问题要进行许多重复的步骤,且这些步骤之间又有相同的规律时,就必须引入变量,应 用循环结构. [失误与防范] 1.注意起止框与处理框、判断框与循环框的不同.
11
2.注意选择结构与循环结构的联系:对于循环结构有重复性,选择结构具有选择性没有重复 性,并且循环结构中必定包含一个选择结构,用于确定何时终止循环体. 3.循环语句有“直到型”与“当型”两种,要区别两者的异同,主要解决需要反复执行的任 务,用循环语句来编写程序. 4.关于赋值语句,有以下几点需要注意: (1)赋值号左边只能是变量名字,而不是表达式,例如 3←m 是错误的. (2)赋值号左右不能对换, 赋值语句是将赋值号右边的表达式的值赋给赋值号左边的变量, 例 如 Y←x,表示用 x 的值替代变量 Y 的原先的取值,不能改写为 x←Y.因为后者表示用 Y 的值 替代变量 x 的值. (3)在一个赋值语句中只能给一个变量赋值,不能出现多个“←”.
A 组 专项基础训练 (时间:30 分钟) 1.(2015·北京改编)执行如图所示的流程图,输出的 k 值为________.
答案 4 1 3 解析 第一次循环:a=3× = ,k=1; 2 2 3 1 3 第二次循环:a= × = ,k=2; 2 2 4 3 1 3 第三次循环:a= × = ,k=3; 4 2 8 3 1 3 1 第四次循环:a= × = < ,k=4. 8 2 16 4 故输出 k=4. 2.(2015·课标全国Ⅱ改编)下边流程图的算法思路源于我国古代数学名著《九章算术》中的
12
“更相减损术”, 执行该流程图, 若输入的 a, b 分别为 14,18, 则输出的 a=________________.
答案 2 解析 由题知,若输入 a=14,b=18,则 第一次执行循环结构时,由 a<b 知,a=14,b=b-a=18-14=4; 第二次执行循环结构时,由 a>b 知,a=a-b=14-4=10,b=4; 第三次执行循环结构时,由 a>b 知,a=a-b=10-4=6,b=4; 第四次执行循环结构时,由 a>b 知,a=a-b=6-4=2,b=4; 第五次执行循环结构时,由 a<b 知,a=2,b=b-a=4-2=2; 第六次执行循环结构时,由 a=b 知,输出 a=2,结束. 3.执行如图所示的流程图,则输出的 k 的值是________.
答案 5 解析 由题意,得 k=1 时,s=1;k=2 时,s=1+1=2;k=3 时,s=2+4=6;k=4 时,
s=6+9=15;k=5 时,s=15+16=31>15,此时输出 k 值为 5.
4.下面的流程图中,能判断任意输入的整数 x 的奇偶性,其中判断框内的条件是________.
13
答案 m=0 5.(2015·天津改编)阅读右边的流程图,运行相应的程序,则输出 S 的值为 ________. 答案 6 解析 运行相应的程序,第一次循环:i=2,S=20-2=18;第二次循环:i =4,S=18-4=14;第三次循环:i=8,S=14-8=6;8>5,终止循环,输 出 S=6.
14
6.(2015·江苏改编)根据如图所示的语句,可知输出的结果 S=________.
S←1 I←1
While I<8
S←S+2 I←I+3
End While Print S
答案 7 解析 I=1,S=1;S=1+2=3,I=1+3=4<8;
S=3+2=5,I=4+3=7<8; S=5+2=7,I=7+3=10>8.
退出循环,故输出 S=7. 7.定义某种运算?,a ? b 的运算原理如图所示.设 S=1 ? x,x∈[-2,2],则输出的 S 的最大值与最小值的差为________.
答案 2
?|x|,-2≤x≤1, ? 解析 由题意可得,S(x)=? ? ?1,1<x≤2,
∴S(x)max=2,S(x)min=0, ∴S(x)max-S(x)min=2. 8.如图是一个流程图,则输出的 n 的值是________.
15
答案 5 解析 该流程图共运行 5 次,各次 2 的值分别是 2,4,8,16,32,所以输出的 n 的值是 5. 9.(2015·山东)执行下边的流程图,若输入的 x 的值为 1,则输出的 y 的值是________.
n
答案 13 解析 输入 x=1,x<2 成立,执行 x=2;
x=2,x<2 不成立,执行 y=3x2+1=13,输出 y=13.
?-x,1<x≤4, ? 10.关于函数 f(x)=? ?cos x,-1≤x≤1 ?
的流程图如图所示,现输入区间[a,b],则输出
的区间是________.
答案 [0,1]
16
解析 由流程图的第一个判断条件为 f(x)>0,当 f(x)=cos x,x∈[-1,1]时满足.然后进 入第二个判断框,需要解不等式 f′(x)=-sin x≤0,即 0≤x≤1.故输出区间为[0,1]. B 组 专项能力提升 (时间:20 分钟) 11.给出一个算法的流程图(如图所示),该流程图的功能是________________________.
答案 输出 a,b,c 三数中的最小数 解析 先比较 a,b 的值,把较小的值赋值给 a;再比较 a,c 的值,把较小的值赋值给 a,输 出 a. 12.给出一个如图所示的流程图,若要使输入的 x 值与输出的 y 值相等,则这样的 x 值是 ________.
答案 0,1,3 解析 根据题意,本流程图表示分段函数:
x ,x≤2, ? ?2x-3,2<x≤5, y=? 1 ? ?x,x>5,
由于输入的 x 值与输出的 y 值相等, 由 x =x 解得 x=0 或 x=1,都满足 x≤2;
17
2
2
由 x=2x-3 解得 x=3,也满足 2<x≤5; 1 由 =x 解得 x=±1,不在 x>5 内,舍去.
x
可见满足条件的 x 共三个:0,1,3. 13.运行如下所示的程序,当输入 a,b 分别为 2,3 时,最后输出的 m 的值为________. Read a,b If a>b Then
m←a
Else
m←b
End If Print m
答案 3 解析 ∵a=2,b=3,∴a<b,应把 b 值赋给 m,∴m 的值为 3. 14.对一个作直线运动的质点的运动过程观测了 8 次,第 i 次观测得到的数据为 ai,具体如 下表所示:
i ai
1 40
2 41
3 43
4 43
5 44
6 46
7 47
8 48
在对上述统计数据的分析中,一部分计算见如图所示的流程图(其中 a 是这 8 个数据的平均 数),则输出的 S 的值是________.
答案 7 解析 本题计算的是这 8 个数的方差,因为
a=
40+41+43+43+44+46+47+48 =44, 8
18
?-4? +?-3? +?-1? +?-1? +0 +2 +3 +4 所以 S= =7. 8 15.如图(1)(2)所示,它们都表示的是输出所有立方小于 1 000 的正整数的流程图,那么应 分别补充的条件为:
2
2
2
2
2
2
2
2
(1)____________; (2)______________. 答案 (1)n <1 000 (2)n ≥1 000 解析 第一个图中,n 不能取 10,否则会把立方等于 1 000 的正整数也输出了,所以应该填 写 n <1 000; 第二个图中当 n≥10 时,循环应该结束,所以填写 n ≥1 000. 16.(2014·湖北)设 a 是一个各位数字都不是 0 且没有重复数字的三位数.将组成 a 的 3 个 数字按从小到大排成的三位数记为 I(a),按从大到小排成的三位数记为 D(a)(例如 a=815, 则 I(a)=158,D(a)=851).阅读如图所示的流程图,运行相应的程序,任意输入一个 a,输 出的结果 b=________.
3 3 3 3
答案 495 解析 取 a1=815? b1=851-158=693≠815? a2=693; 由 a2=693? b2=963-369=594≠693? a3=594; 由 a3=594? b3=954-459=495≠594? a4=495; 由 a4=495? b4=954-459=495=a4? b=495.
19