- 4.15 MB
- 2021-06-30 发布
- 1、本文档由用户上传,淘文库整理发布,可阅读全部内容。
- 2、本文档内容版权归属内容提供方,所产生的收益全部归内容提供方所有。如果您对本文有版权争议,请立即联系网站客服。
- 3、本文档由用户上传,本站不保证质量和数量令人满意,可能有诸多瑕疵,付费之前,请仔细阅读内容确认后进行付费下载。
- 网站客服QQ:403074932
§13.4
算法与程序框图
基础知识
自主学习
课时作业
题型分
类
深度剖析
内容索引
基础知识 自主学习
1.
算法与程序框图
知识梳理
(1)
算法
①
算法通常是指
按照
解决
某一类问题
的
和
的
步骤
.
②
应用:算法通常可以编成
计算机
,
让计算机执行并解决问题
.
(2)
程序框图
定义:程序框图又
称
,
是一种
用
、
及
来
表示算法的图形
.
一定规则
明确
有限
程序
流程图
程序框
流程线
文字说明
2.
三种基本逻辑结构
名
称
内容
顺序结构
条件结构
循环结构
定义
由若干
个
的
步骤
组成,这是
任何
一
个算法都离不开
的
__________
算法的流程根据
给定
的
有
不同
的流向,条件
结
构
就是处理这种
过程
的
结构
从某处开始,
按照
一定
的
条件
______
____
某些
步骤的
结
构
,反复执行的
步
骤称为
_______
依次执行
基本结构
条件是否成立
反复
执行
循环体
程序框图
3.
算法语句
(1)
输入语句、输出语句、赋值语句的格式与功能
语句
一般格式
功能
输入语句
________________________
_________
输出语句
___________________________
______________________________
赋值语句
___________________
_____________________________
INPUT
“
提示内容
”
;变量
PRINT
“
提示内容
”
;表达式
变量=表达式
输入信息
输出常量、变量的值和
系统
信息
将表达式所代表的值赋
给
变量
(2)
条件语句
①
程序框图中
的
与
条件语句相对应
.
②
条件语句的格式
a.IF—THEN
格式
IF
条件
THEN
语句体
END
IF
条件结构
b.IF—THEN—ELSE
格式
IF
条件
THEN
语句体
1
ELSE
语句体
2
END
IF
(3)
循环语句
①
程序框图中
的
与
循环语句相对应
.
②
循环语句的格式
循环结构
a.UNTIL
语句
b.WHILE
语句
DO
循环体
LOOP UNTIL
条件
WHILE
条件
循环体
WEND
判断下列结论是否正确
(
请在括号中打
“√”
或
“×”
)
(1)
算法只能解决一个问题,不能重复使用
.(
)
(2)
程序框图中的图形符号可以由个人来确定
.(
)
(3)
输入框只能紧接开始框,输出框只能紧接结束框
.(
)
(4)
条件结构的出口有两个,但在执行时,只有一个出口是有效的
.(
)
(5)5
=
x
是赋值语句
.(
)
(6)
输入语句可以同时给多个变量赋值
.(
)
思考辨析
×
×
×
√
√
×
考点自测
1.
已知一个算法:
(1)
m
=
a
.
(2)
如果
b
<
m
,则
m
=
b
,输出
m
;否则执行第
(3)
步
.
(3)
如果
c
<
m
,则
m
=
c
,输出
m
.
否则执行第
(4)
步
.
(4)
输出
m
.
如果
a
=
3
,
b
=
6
,
c
=
2
,那么执行这个算法的结果
是
A.3
B.6
C.2
D.
m
答案
解析
当
a
=
3
,
b
=
6
,
c
=
2
时,依据算法设计,
本算法是求
a
、
b
、
c
三个数的最小值,
故输出
m
的值为
2
,故选
C.
2.(2016·
全国甲卷
)
中国古代有计算多项式值的秦九韶算法,如图是实现该算法的程序框图,执行该程序框图,若输入的
x
=
2
,
n
=
2
,依次输入的
a
为
2,2,5
,则输出的
s
等于
答案
解析
A.7
B.12 C.17 D.34
由框图可知,输入
x
=
2
,
n
=
2
,
a
=
2
,
s
=
2
,
k
=
1
,
不
满足条件;
a
=
2
,
s
=
4
+
2
=
6
,
k
=
2
,不满足
条件;
a
=
5
,
s
=
12
+
5
=
17
,
k
=
3
,满足条件,输出
s
=
17
,
故
选
C.
3.(2017·
广州
调研
)
下列赋值能使
y
的值为
4
的
是
A.
y
-
2
=
6
B.2*3-2=
y
C.4=
y
D.
y
=
2*3-2
赋值时把
“
=
”
右边的值赋给左边的变量
.
答案
解析
4.(2017·
太原
月考
)
如图是一算法的程序框图,若输出结果为
S
=
720
,则在判断框中应填入的条件是
答案
解析
A.
k
≤
6? B.
k
≤
7?
C.
k
≤
8? D.
k
≤
9?
第一次执行循环,得到
S
=
10
,
k
=
9
;
第二次执行循环,得到
S
=
90
,
k
=
8
;
第三次执行循环,得到
S
=
720
,
k
=
7
,此时满足条件
.
5.
若执行如图所示的程序框图,输入
N
=
13
,则输出
S
的值为
________.
答案
解析
题型分类 深度剖析
题型一 顺序结构与条件结构
命题点
1
顺序结构
例
1
如图所示的程序框图,根据该图和下列各小题的条件回答下面的几个小题
.
解答
(1)
该程序框图解决的是一个什么问题?
该程序框图解决的是求二次函数
f
(
x
)
=-
x
2
+
mx
的函数值的问题
.
(2)
当输入的
x
的值为
0
和
4
时,输出的值相等,问当输入的
x
的值为
3
时,输出的值为多大?
解答
当输入的
x
的值为
0
和
4
时,输出的值相等,
即
f
(0)
=
f
(4).
因为
f
(0)
=
0
,
f
(4)
=-
16
+
4
m
,
所以-
16
+
4
m
=
0
,
所以
m
=
4
,
f
(
x
)
=-
x
2
+
4
x
.
则
f
(3)
=-
3
2
+
4
×
3
=
3
,
所以当输入的
x
的值为
3
时,输出的
f
(
x
)
的值为
3.
(3)
在
(2)
的条件下要想使输出的值最大,输入的
x
的值应为多大?
解答
因为
f
(
x
)
=-
x
2
+
4
x
=-
(
x
-
2)
2
+
4
,
当
x
=
2
时,
f
(
x
)
最大值
=
4
,
所以要想使输出的值最大,输入的
x
的值应为
2.
命题点
2
条件结构
例
2
执行如图所示的程序框图,如果输入
的
t
∈
[
-
1,3
]
,则输出的
s
属于
A.
[
-
3,4
]
B
.
[
-
5,2
]
C.
[
-
4,3
]
D
.
[
-
2,5
]
答案
解析
进而在函数的定义域
[
-
1,3
]
内分段求出函数的值域
.
即
输出的
s
属于
[
-
3,4
].
所以当-
1
≤
t
<1
时,
s
=
3
t
∈
[
-
3,3
)
;
当
1
≤
t
≤
3
时,
s
=
4
t
-
t
2
=-
(
t
-
2)
2
+
4
,
所以此时
3
≤
s
≤
4.
综上可知,函数的值域为
[
-
3,4
]
,
引申探究
若将本例中判断框的条件改为
“
t
≥
1
”
,则输出的
s
的范围是什么?
解答
根据程序框图可以得到,当-
1
≤
t
<1
时,
s
=
4
t
-
t
2
=-
(
t
-
2)
2
+
4
,
此时
-
5
≤
s
<3
;
当
1
≤
t
≤
3
时,
s
=
3
t
∈
[
3,9
].
综上可知,函数的值域为
[
-
5,9
]
,
即输出的
s
属于
[
-
5,9
].
应用顺序结构与条件结构的注意点
(1)
顺序结构
顺序结构是最简单的算法结构,语句与语句之间、框与框之间是按从上到下的顺序进行的
.
(2)
条件结构
利用条件结构解决算法问题时,重点是判断框,判断框内的条件不同,对应的下一框中的内容和操作要相应地进行变化,故要重点分析判断框内的条件是否满足
.
思维
升华
跟踪训练
1
执行
如图所示的程序框图,如果输入的
x
,
y
∈
R
,那么输出的
S
的最大值为
________.
答案
解析
2
当条件
x
≥
0
,
y
≥
0
,
x
+
y
≤
1
不成立时输出
S
的值为
1
;
当条件
x
≥
0
,
y
≥
0
,
x
+
y
≤
1
成立时
S
=
2
x
+
y
,
下面用线性规划的方法求此时
S
的最大值
.
由图可知当直线
S
=
2
x
+
y
经过点
M
(1,0)
时
S
最大,其最大值为
2
×
1
+
0
=
2
,故输出
S
的最大值为
2.
题型二 循环结构
命题点
1
由程序框图求输出结果
例
3
(2016·
全国乙卷
)
执行右面的程序框图,如果输入的
x
=
0
,
y
=
1
,
n
=
1
,则输出
x
,
y
的值满足
A.
y
=
2
x
B.
y
=
3
x
C.
y
=
4
x
D.
y
=
5
x
答案
解析
y
=
2
×
1
=
2
,
x
2
+
y
2
<36
;
命题点
2
完善程序框图
例
4
(2017·
保定
质检
)
如图给出的是
计算
的
值的一个框图,其中菱形判断框内应填入的条件是
A.
i
>10?
B.
i
<10
?
C.
i
>11?
D.
i
<11
?
答案
解析
…
;
故判断框中的条件是
“
i
>10
?
”.
命题点
3
辨析程序框图的功能
例
5
如果执行如图的程序框图,输入正整数
N
(
N
≥
2)
和实数
a
1
,
a
2
,
…
,
a
N
,输出
A
,
B
,则
A.
A
+
B
为
a
1
,
a
2
,
…
,
a
N
的和
B
.
为
a
1
,
a
2
,
…
,
a
N
的算术平均数
C.
A
和
B
分别是
a
1
,
a
2
,
…
,
a
N
中最大的数和最小的数
D.
A
和
B
分别是
a
1
,
a
2
,
…
,
a
N
中最小的数和最大的数
答案
解析
故输出
A
=
a
3
,
B
=
a
1
,故选
C.
不妨令
N
=
3
,
a
1
<
a
2
<
a
3
,
则有
k
=
1
,
x
=
a
1
,
A
=
a
1
,
B
=
a
1
;
k
=
2
,
x
=
a
2
,
A
=
a
2
;
k
=
3
,
x
=
a
3
,
A
=
a
3
,
与循环结构有关问题的常见类型及解题策略
(1)
已知程序框图,求输出的结果,可按程序框图的流程依次执行,最后得出结果
.
(2)
完善程序框图问题,结合初始条件和输出结果,分析控制循环的变量应满足的条件或累加、累乘的变量的表达式
.
(3)
对于辨析程序框图功能问题,可将程序执行几次,即可根据结果作出判断
.
思维
升华
跟踪训练
2
(2016·
四川
)
秦九韶是我国南宋时期的数学家,普州
(
现四川省安岳县
)
人,他在所著的《数书九章》中提出的多项式求值的秦九韶算法,至今仍是比较先进的算法
.
如图所示的程序框图给出了利用秦九韶算法求某多项式值的一个实例,若输入
n
,
x
的值分别为
3,2
,则输出
v
的值为
A.9
B.18 C.20 D.35
答案
解析
初始值
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
,故选
B.
题型三 基本算法语句
例
6
阅读下面两个算法语句:
i
=
1
WHILE
i*
(
i
+
1
)
<20,
i
=
i
+
1
WEND
PRINT
“
i
=
”
;
i
END
图
1
执行图
1
中语句的结果是输出
________
;
i
=
4
答案
解析
执行图
1
中语句,得到
(
i
,
i
·(
i
+
1))
的结果依次为
(1,2)
,
(2,6)
,
(3,12)
,
(4,20)
,故输出
i
=
4.
执行图
2
中语句的结果是输出
________.
i
=
2
答案
解析
执行图
2
中语句的情况如下:
i
=
1
,
i
=
i
+
1
=
2
,
i
·(
i
+
1)
=
6<20(
是
)
,
结束循环,输出
i
=
2.
i
=
1
DO
i
=
i
+
1
LOOP
UNTIL
i*
(
i
+
1
)
<20
PRINT
“
i
=
”
;
i
END
图
2
解决算法语句有三个步骤:首先通读全部语句,把它翻译成数学问题;其次领悟该语句的功能;最后根据语句的功能运行程序,解决问题
.
思维
升华
跟踪训练
3
(2015·
江苏改编
)
根据如图所示的语句,可知输出的结果
S
=
________.
S
=
1
I
=
1
WHILE
I
<
8
S
=
S
+
2
I
=
I
+
3
WEND
PRINT S
END
答案
解析
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.
典例
执行如图所示的程序框图所表示的程序,则输出的
A
等于
A.2047
B.2049
C.1023
D.1025
程序框图
中变量的取值
现场纠错系列
19
错解展示
现场纠错
纠错心得
程序框图对计数变量及求和变量取值时,要注意两个变量的先后顺序
.
解析
将每次运算的
A
值用数列
{
a
n
}
表示,
将开始的
A
=
1
看作
a
0
,则
a
1
=
2
a
0
+
1
=
1
,
a
2
=
2
a
1
+
1
=
3
,
…
∴
a
10
=
2
a
9
+
1
=
2
10
-
1
=
1 023.
答案
C
返回
解析
本题计算的是递推数列
a
0
=
1
,
a
n
+
1
=
2
a
n
+
1(
n
=
0,1,2
,
…
)
的第
11
项,
{
a
n
+
1}
是首项为
2
,公比为
2
的等比数列,
故
a
10
+
1
=
2
11
,故
a
10
=
2 047.
答案
A
返回
课时作业
1.(2016·
全国丙卷
)
执行如图所示的程序框图,如果输入的
a
=
4
,
b
=
6
,那么输出的
n
等于
答案
解析
A.3
B.4 C.5 D.6
√
1
2
3
4
5
6
7
8
9
10
11
12
13
14
第一次循环
a
=
6
-
4
=
2
,
b
=
6
-
2
=
4
,
a
=
4
+
2
=
6
,
s
=
6
,
n
=
1
;
第三次循环
a
=
6
-
4
=
2
,
b
=
6
-
2
=
4
,
a
=
4
+
2
=
6
,
s
=
16
,
n
=
3
;
第二次循环
a
=
4
-
6
=-
2
,
b
=
4
-
(
-
2)
=
6
,
a
=
6
-
2
=
4
,
s
=
10
,
n
=
2
;
第四次循环
a
=
4
-
6
=-
2
,
b
=
4
-
(
-
2)
=
6
,
a
=
6
-
2
=
4
,
s
=
20
,
n
=
4
,
满足题意,结束循环
.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
2.(2016·
北京
)
执行如图所示的程序框图,输出的
S
值为
答案
解析
A.8
B.9 C.27 D.36
①
S
=
0
+
0
3
=
0
,
k
=
0
+
1
=
1
,满足
k
≤
2
;
②
S
=
0
+
1
3
=
1
,
k
=
1
+
1
=
2
,满足
k
≤
2
;
③
S
=
1
+
2
3
=
9
,
k
=
2
+
1
=
3
,不满足
k
≤
2
,输出
S
=
9.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
√
答案
A.
y
1
=
y
2
B.
y
1
>
y
2
C.
y
1
<
y
2
D.
无法确定
√
1
2
3
4
5
6
7
8
9
10
11
12
13
14
解析
1
2
3
4
5
6
7
8
9
10
11
12
13
14
4.
阅读程序框图,运行相应的程序,则程序运行后输出的结果为
答案
解析
√
A.7
B.9 C.10 D.11
1
2
3
4
5
6
7
8
9
10
11
12
13
14
1
2
3
4
5
6
7
8
9
10
11
12
13
14
5.(2017·
成都
调研
)
定义某种运算
,
a
b
的运算原理如图所示
.
设
S
=
1
x
,
x
∈
[
-
2,2
]
,则输出的
S
的最大值与最小值的差为
答案
解析
A.2
B
.
-
1
C.4 D.3
∴
S
(
x
)
max
=
2
,
S
(
x
)
min
=
0
,
∴
S
(
x
)
max
-
S
(
x
)
min
=
2.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
√
6.(2015·
课标全国
Ⅱ
)
下边程序框图的算法思路源于我国古代数学名著《九章算术》中的
“
更相减损术
”
,执行该程序框图,若输入的
a
,
b
分别为
14,18
,则输出的
a
等于
答案
解析
A.0
B.2
C.4
D.14
√
1
2
3
4
5
6
7
8
9
10
11
12
13
14
由题知,若输入
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
;
1
2
3
4
5
6
7
8
9
10
11
12
13
14
第四次执行循环结构时,由
a
>
b
知,
a
=
a
-
b
=
6
-
4
=
2
,
b
=
4
;
第五次执行循环结构时,由
a
<
b
知,
a
=
2
,
b
=
b
-
a
=
4
-
2
=
2
;
第六次执行循环结构时,由
a
=
b
知,输出
a
=
2
,结束
.
故选
B.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
7.
公元
263
年左右,我国数学家刘徽发现当圆内接正多边形的边数无限增加时,多边形面积可无限逼近圆的面积,并创立了
“
割圆术
”
,利用
“
割圆术
”
刘徽得到了圆周率精确到小数点后两位的近似值
3.14
,这就是著名的
“
徽率
”.
如图是利用刘徽的
“
割圆术
”
思想设计的一个程序框图,则输出
n
的值为
________.(
参考数据:
sin 15°
≈
0.258 8
,
sin 7.5°
≈
0.130 5)
答案
解析
24
1
2
3
4
5
6
7
8
9
10
11
12
13
14
1
2
3
4
5
6
7
8
9
10
11
12
13
14
8.
以下给出了一个程序,根据该程序回答:
INPUT
x
IF
x<3
THEN
y
=
2* x
ELSE
IF
x>3
THEN
y
=
x*x-1
ELSE
y
=
2
END
IF
END
IF
PRINT
y
END
1
2
3
4
5
6
7
8
9
10
11
12
13
14
(1)
若输入
4
,则输出的结果是
________
;
15
x
=
4
不满足
x
<3
,
∴
y
=
x
2
-
1
=
4
2
-
1
=
15.
输出
15.
答案
解析
1
2
3
4
5
6
7
8
9
10
11
12
13
14
(2)
该程序的功能所表达的函数解析式为
________
_
______.
当
x
<3
时,
y
=
2
x
,当
x
>3
时,
y
=
x
2
-
1
;否则,
即
x
=
3
,
y
=
2.
答案
解析
1
2
3
4
5
6
7
8
9
10
11
12
13
14
9.
对一个作直线运动的质点的运动过程观测了
8
次,第
i
次观测得到的数据为
a
i
,具体如下表所示:
i
1
2
3
4
5
6
7
8
a
i
40
41
43
43
44
46
47
48
在对上述统计数据的分析中,一部分计算见如图所示的程序框图
(
其中
是
这
8
个数据的平均数
)
,则输出的
S
的值是
________.
7
答案
解析
1
2
3
4
5
6
7
8
9
10
11
12
13
14
1
2
3
4
5
6
7
8
9
10
11
12
13
14
10.
如图
(1)(2)
所示,它们都表示的是输出所有立方小于
1000
的正整数的程序框图,那么应分别补充的条件为:
(1)____________
;
(2)______________.
答案
解析
n
3
<1 000
n
3
≥
1 000
第一个图中,
n
不能取
10
,
否则
会把立方等于
1 000
的正整数也输出了
,
所以
应该填写
n
3
<1 000
;
第二个图中,当
n
≥
10
时,循环应该结束
,
所以
填写
n
3
≥
1 000.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
11.(2017·
武汉质检
)
设
a
是一个各位数字都不是
0
且没有重复数字的三位数
.
将组成
a
的
3
个数字按从小到大排成的三位数记为
I
(
a
)
,按从大到小排成的三位数记为
D
(
a
)(
例如
a
=
815
,则
I
(
a
)
=
158
,
D
(
a
)
=
851).
阅读如图所示的程序框图,运行相应的程序,任意输入一个
a
,输出的结果
b
=
________.
495
答案
解析
1
2
3
4
5
6
7
8
9
10
11
12
13
14
取
a
1
=
815
⇒
b
1
=
851
-
158
=
693
≠
815
⇒
a
2
=
693
;
由
a
4
=
495
⇒
b
4
=
954
-
459
=
495
=
a
4
⇒
b
=
495.
由
a
2
=
693
⇒
b
2
=
963
-
369
=
594
≠
693
⇒
a
3
=
594
;
由
a
3
=
594
⇒
b
3
=
954
-
459
=
495
≠
594
⇒
a
4
=
495
;
1
2
3
4
5
6
7
8
9
10
11
12
13
14
12.(2016·
抚州质检
)
某框图所给的程序运行结果为
S
=
20
,那么判断框中应填入的关于
k
的条件是
________.
答案
解析
k
>8?
由题意可知输出结果为
S
=
20
,第
1
次循环,
S
=
11
,
k
=
9
,
第
2
次循环,
S
=
20
,
k
=
8
,此时
S
满足输出结果,退出循环
,
所以
判断框中的条件为
“
k
>8
?
”
.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
13.(2016·
长沙模拟
)
运行如图所示的程序框图,若输出的
y
值的范围是
[
0,10
]
,则输入的
x
值的范围是
________.
[
-
7,9
]
答案
解析
1
2
3
4
5
6
7
8
9
10
11
12
13
14
该程序的功能是计算分段函数的值,
当
x
<
-
1
时,由
0
≤
3
-
x
≤
10
可得-
7
≤
x
<
-
1
;
当-
1
≤
x
≤
1
时,
0
≤
x
2
≤
10
恒成立;
当
x
>1
时,由
0
≤
x
+
1
≤
10
可得
1<
x
≤
9.
综上,输入的
x
值的范围是
[
-
7,9
].
1
2
3
4
5
6
7
8
9
10
11
12
13
14
答案
解析
①
n
≤
2 015
?
②
n
≤
2 016?
③
n
>2 015
?
④
n
>2 016?
②
1
2
3
4
5
6
7
8
9
10
11
12
13
14
由题意得
f
′
(
x
)
=
3
ax
2
+
x
,由
f
′
(
-
1)
=
0
,
由程序框图可知
S
=
0
+
g
(1)
+
g
(2)
+
…
+
g
(
n
)
故可填入
②
.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
相关文档
- 高科数学专题复习课件:7_3 二元一2021-06-3087页
- 高科数学专题复习课件:8_1 空间几2021-06-3061页
- 高科数学专题复习课件:第四章 4_5 2021-06-3054页
- 高科数学专题复习课件:第二章 2_5指2021-06-3061页
- 高科数学专题复习课件:第四章 4_2同2021-06-3052页
- 高科数学专题复习课件:9_2 两条直2021-06-2579页
- 高科数学专题复习课件:第四章 4_4函2021-06-2564页
- 高科数学专题复习课件:第九章 9_9 2021-06-2571页
- 高科数学专题复习课件:第三章 3_2 2021-06-2559页
- 高科数学专题复习课件:第十三章 13_2021-06-2468页