- 1.15 MB
- 2021-06-16 发布
- 1、本文档由用户上传,淘文库整理发布,可阅读全部内容。
- 2、本文档内容版权归属内容提供方,所产生的收益全部归内容提供方所有。如果您对本文有版权争议,请立即联系网站客服。
- 3、本文档由用户上传,本站不保证质量和数量令人满意,可能有诸多瑕疵,付费之前,请仔细阅读内容确认后进行付费下载。
- 网站客服QQ:403074932
第 2 讲 算法与程序框图
[学生用书 P229])
1.算法与程序框图
(1)算法
①算法通常是指按照一定规则解决某一类问题的明确和有限的步骤.
②应用:算法通常可以编成计算机程序,让计算机执行并解决问题.
(2)程序框图
定义:程序框图又称流程图,是一种用程序框、流程线及文字说明来表示算法的图
形.
2.三种基本逻辑结构及相应语句
名称 示意图 相应语句
顺序结构
①输入语句:
INPUT “提示内容”;变量
②输出语句:
PRINT “提示内容”;表达
式
③赋值语句:
变量=表达式
条件结构
IF__条件__THEN
语句体
END__IF
IF__条件__THEN
语句体 1
ELSE
语句体 2
END IF
当型循
环结构
WHILE 条件
循环体
WEND
循环结构
直到型
循环结
构
DO
循环体
LOOP__UNTIL 条件
1.辨明两个易误点
(1)易混淆处理框与输入、输出框,处理框主要是赋值、计算,而输入、输出框只是表
示一个算法输入或输出的信息.
(2)易忽视循环结构中必有条件结构,其作用是控制循环进程,避免进入“死循环”,是
循环结构必不可少的一部分.
2.识别三种结构的关系
顺序结构是每个算法结构都含有的,而对于循环结构有重复性,条件结构具有选择性没
有重复性,并且循环结构中必定包含一个条件结构,用于确定何时终止循环体,循环结构和
条件结构都含有顺序结构.
1.在程序框图中,算法的一个步骤到另一个步骤的连接用( )
A.连接点 B.判断框
C.流程线 D.处理框
C [解析] 带有方向箭头的流程线将程序框连接起来.
2.(2017·辽宁省五校联考)如图,若 f(x)=log3x,g(x)=log2x,输入 x=0.25,则输出的 h(x)
=( )
A.0.25 B.2log32
C.-
1
2log23 D.-2
D [解析] 当 x=0.25 时,f(x)=log 3
1
4∈(-2,-1),g(x)=log 2
1
4=-2,所以
f(x)>g(x).所以 h(x)=g(x)=-2.
3.(2016·高考北京卷)执行如图所示的程序框图,若输入的 a 值为 1,则输出的 k 值为
( )
A.1 B.2
C.3 D.4
B [解析] 输入 a=1,则 b=1,第一次循环,a=
-1
1+1=
-1
2,k=1;第二次循环,a=
-1
1-1
2
=-2,k=2;第三次循环,a=
-1
1-2=1,此时 a=
b,结束循环,输出 k=2.故选 B.
4.执行如图所示的程序框图,若输入的 x 的值为 1,则输出的 y 的值为________.
[解析] 执行程序框图为 x=1→x=2,y=3×22+1=13.
[答案] 13
5.如图所示的框图,已知集合 A={x|框图中输出的 x 值},集合 B={y|框图中输出的 y
值},全集 U=Z,Z 为整数集,则当 x=-1 时,(∁UA)∩B=________.
[解析] 依题意得,当 x=-1 时,A={0,1,2,3,4,5,6},B={-3,-1,1,3,
5,7,9},(∁UA)∩B={-3,-1,7,9}.
[答案] {-3,-1,7,9}
顺序结构与条件结构[学生用书 P230]
[典例引领]
执行如图所示的程序框图,如果输入的 t∈[-1,3],则输出的 s 属于( )
A.[-3,4] B.[-5,2]
C.[-4,3] D.[-2,5]
【解析】 由程序框图得分段函数 s={3t,t < 1,
4t-t2,t ≥ 1.所以当-1≤t<1 时,s=3t∈[-
3,3);当 1≤t≤3 时,s=4t-t2=-(t-2)2+4,所以此时 3≤s≤4.综上函数的值域为[-3,
4],即输出的 s 属于[-3,4].
【答案】 A
若本例的判断框中的条件改为“t≥1?”,则输出的 s 的范围是________.
[解析] 由程序框图得分段函数 s={3t,t ≥ 1,
4t-t2,t < 1.所以当 1≤t≤3 时,s=3t∈[3,9],
当-1≤t<1 时,s=4t-t2=-(t-2)2+4,所以此时-5≤s<3.综上函数的值域为[-5,9],即
输出的 s 属于[-5,9].
[答案] [-5,9]
应用顺序结构和条件结构的注意点
(1)顺序结构
顺序结构是最简单的算法结构,语句与语句之间、框与框之间是按从上到下的顺序进行
的.
(2)条件结构
利用条件结构解决算法问题时,重点是判断框,判断框内的条件不同,对应的下一图框
中的内容和操作要相应地进行变化,故要重点分析判断框内的条件是否满足.
[通关练习]
1.阅读如图所示程序框图.若输入 x 为 3,则输出的 y 的值为( )
A.24 B.25
C.30 D.40
D [解析] a=32-1=8,b=8-3=5,y=8×5=40.
2.给出一个如图所示的程序框图,若要使输入的 x 值与输出的 y 值相等,则这样的 x
值的个数是( )
A.1 B.2
C.3 D.4
C [解析] 由程序框图知 y={x2,x ≤ 2,
2x-3,2<x ≤ 5,
1
x,x>5,
由已知得{x ≤ 2,
x2=x 或{2<x ≤ 5,
2x-3=x 或{x>5,
1
x=x.
解得 x=0 或 x=1 或 x=3,
这样的 x 值的个数是 3.
循环结构(高频考点)[学生用书 P231]
循环结构是高考命题的一个热点,多以选择题、填空题的形式呈现,试题多为容易题或
中档题.
高考对循环结构的考查主要有以下三个命题角度:
(1)由程序框图求输出的结果或输入的值;
(2)完善程序框图;
(3)辨析程序框图的功能.
[典例引领]
(1)(2016·高考全国卷乙)执行如图所示的程序框图,如果输入的 x=0,y=1,n=
1,则输出 x,y 的值满足( )
A.y=2x B.y=3x
C.y=4x D.y=5x
(2)(2017·河南省六市第一次联考)如图所示的程序框图,若输出的 S=88,则判断框内应
填入的条件是( )
A.k>3? B.k>4?
C.k>5? D.k>6?
第(2)题图 第(3)题图
(3)(2016·高考山东卷)执行如图所示的程序框图,若输入 n 的值为 3,则输出的 S 的值为
__________.
【解析】 (1)运行程序,第 1 次循环得 x=0,y=1,n=2,第 2 次循环得 x=
1
2,y=2,
n=3,第 3 次循环得 x=
3
2,y=6,此时 x2+y2≥36,输出 x,y,满足 C 选项.
(2)依次运行程序框图中的语句:k=2,S=2;k=3,S=7;k=4,S=18;k=5,S=
41;k=6,S=88,此时跳出循环,故判断框中应填入“k>5?”,故选 C.
(3)第一次运行,i=1,S= 2-1;第二次运行,i=2,S= 3-1;第三次运行,i=3,
S=1,符合判断条件,故输出的 S 的值为 1.
【答案】 (1)C (2)C (3)1
与循环结构有关问题的常见类型及解题策略
(1)已知程序框图,求输出的结果,可按程序框图的流程依次执行,最后得出结果.
(2)完善程序框图问题,结合初始条件和输出结果,分析控制循环的变量应满足的条件
或累加、累乘的变量的表达式.
(3)对于辨析程序框图功能问题,可将程序执行几次,即可根据结果作出判断.
[题点通关]
角度一 由程序框图求输出的结果或输入的值
1.(2017·广州市高考模拟)执行如图所示的程序框图,输出的结果为( )
A.(-2,2) B.(-4,0)
C.(-4,-4) D.(0,-8)
B [解析] 第一步:s=1-1=0,t=1+1=2,x=0,y=2,k=1<3;
第二步:s=-2,t=2,x=-2,y=2,k=2<3;
第三步:s=-4,t=0,x=-4,y=0,k=3,结束循环.故输出的结果为(-4,0),
选 B.
2.(2017·合肥市第一次教学质量检测)执行如图所示的程序框图,如果输出的 k 的值为
3,则输入的 a 的值可以是( )
A.20 B.21
C.22 D.23
A [解析] 根据程序框图可知,若输出的 k=3,则此时程序框图中的循环结构执行了
3 次,执行第 1 次时,S=2×0+3=3,执行第 2 次时,S=2×3+3=9,执行第 3 次时,S=
2×9+3=21,因此符合题意的实数 a 的取值范围是 9≤a<21,故选 A.
角度二 完善程序框图
3.(2017·昆明市两区七校调研)阅读如图的程序框图,运行相应的程序,若输出 S 的值
为 1,则判断框内为( )
A.i>6? B.i>5?
C.i≥3? D.i≥4?
D [解析] 依题意,执行程序框图,进行第一次循环时,S=1×(3-1)+1=3,i=1+
1=2;进行第二次循环时,S=3×(3-2)+1=4,i=2+1=3;进行第三次循环时,S=4×(3
-3)+1=1,i=4,因此当输出的 S 的值为 1 时,判断框内为“i≥4?”,选 D.
角度三 辨析程序框图的功能
4.如图所示的程序框图,该算法的功能是( )
A.计算(1+20)+(2+21)+(3+22)+…+(n+1+2n)的值
B.计算(1+21)+(2+22)+(3+23)+…+(n+2n)的值
C.计算(1+2+3+…+n)+(20+21+22+…+2n-1)的值
D.计算[1+2+3+…+(n-1)]+(20+21+22+…+2n)的值
C [解析] 初始值 k=1,S=0,第 1 次进入循环体时,S=1+20,k=2;当第 2 次进
入循环体时,S=1+20+2+21,k=3,…;给定正整数 n,当 k=n 时,最后一次进入循环
体,则有 S=1+20+2+21+…+n+2n-1,k=n+1,终止循环体,输出 S=(1+2+3+…+
n)+(20+21+22+…+2n-1),故选 C.
基本算法语句[学生用书 P232]
[典例引领]
(1)设计一个计算 1×3×5×7×9×11×13 的算法,下面给出了程序的一部分,
则在①处不能填入的数是( )
S=1
i=3
WHILE i<①
S=S*i
i=i+2
WEND
PRINT S
END
A.13 B.13.5
C.14 D.14.5
(2)表示函数 y=f(x)的程序如图所示 INPUT x
IF x>0 THEN
y=1
ELSE
IF x=0 THEN
y=0
ELSE
y=-1
END IF
END IF
PRINT y
END
则关于函数 y=f(x)有下列结论:
①y=f(x)的图象关于原点对称.
②y=f(x)的值域为[-1,1].
③y=f(x)是周期 T=1 的周期函数.
④y=f(x)在 R 上是增函数.
⑤函数 y=f(x)-kx(k>0)有三个零点.
则正确结论的序号为________.(填上所有正确结论的序号)
【解析】 (1)若填 13,当 i=11+2=13 时,不满足条件,终止循环,因此得到的是
1×3×5×7×9×11 的计算结果,故不能填 13,但填的数字只要超过 13 且不超过 15 时均可
保证终止循环,得到的是 1×3×5×7×9×11×13 的计算结果.
(2)由程序知 y=f(x)={1,x>0
0,x=0
-1,x<0
,
其图象如图
图象关于原点对称,①正确;值域为{1,0,-1},②错误;不是周期函数,在 R 上也
不是增函数,③④错误;当 k>0 时,y=f(x)与 y=kx 有三个交点,故⑤正确.
【答案】 (1)A (2)①⑤
[通关练习]
1.教材习题改编 算法语句
i=1
S=0
WHILE i<=100
S=S+i^2
i=i+1
WEND
PRINT S
END
则该语句程序的功能是求( )
A.2+4+6+…+200
B.12+22+32+…+1002
C.2+4+6+…+202
D.12+22+32+…+1012
B [解析] 根据语句程序可知它的功能是求大于等于 1 且小于等于 100 的连续自然
数的平方和.故选 B.
2.下列程序执行后输出的结果是________.
i=11
S=1
DO
S=S*i
i=i-1
LOOP UNTIL i<9
PRINT S
END
[解析] 程序反映出的算法过程为
i=11⇒S=11×1,i=10;i=10⇒S=11×10,i=9;
i=9⇒S=11×10×9,i=8;
i=8<9 退出循环,执行“PRINT S”.故 S=990.
[答案] 990
[学生用书 P233])
——算法与其他知识的交汇
执行如图所示的程序框图,如果输入的 x,y∈R,那么输出的 S 的最大值为( )
A.0 B.1
C.2 D.3
【解析】 当条件 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.
【答案】 C
本题是算法与不等式的交汇,以算法为载体,考查了线性规划问题.算
法还经常与函数、统计、概率、数列等知识交汇,这类问题,常常背景新颖,交汇自然,能
很好地考查学生的信息处理能力及综合运用知识解决问题的能力.
1.阅读下面的程序框图,运行相应的程序,如果输入 a=(1,-3),b=
(4,-2),则输出的 λ 的值是( )
A.-4 B.-3
C.-2 D.-1
C [解析] 当 λ=-4 时,-4a+b=(0,10),b=(4,-2),λa+b 与 b 既不平行也
不垂直;当 λ=-3 时,-3a+b=(1,7),b=(4,-2), λa+b 与 b 既不平行也不垂直;
当 λ=-2 时,-2a+b=(2,4),b=(4,-2),λa+b 与 b 垂直;循环结束,输出 λ=-2.
故选 C.
2.(2017·长春质量检测)下面左图是某学习小组学生数学考试成绩的茎叶图,1 号到 16
号同学的成绩依次为 A1,A2,…,A16,右图是统计茎叶图中成绩在一定范围内的学生人数
的算法流程图,那么该算法流程图输出的结果是( )
A.6 B.10
C.91 D.92
B [解析] 由算法流程图可知,其统计的是数学成绩大于等于 90 的人数,所以由茎
叶图可知:数学成绩大于等于 90 的人数为 10,因此输出的结果为 10.
[学生用书 P316(独立成册)]
1.(2017·东北三省三校一联)若 m=6,n=4,按如图所示的程序框图运行后,输出的结
果是( )
A.
1
100 B.100
C.10 D.1
D [解析] 因为 m=6,n=4.所以 m>n.所以 y=lg(6+4)=1.故选 D.
2.(2017·兰州双基过关考试)执行如图所示的程序框图,若输出 i 的值为 2,则输入 x 的
最大值是( )
A.5 B.6
C.11 D.22
D [解析] 执行该程序可知{x
2-1 > 3,
1
2(x
2-1 )-2 ≤ 3,
解得{x > 8,
x ≤ 22,即 8