【数学】2019届一轮复习人教A版(文)12-3推理与证明、算法、复数学案
12.3 算法与程序框图
最新考纲
考情考向分析
1.了解算法的含义,了解算法的思想
2.理解程序框图的三种基本逻辑结构:顺序结构、条件结构、循环结构.
3.了解几种基本算法语句——输入语句、输出语句、赋值语句、条件语句、循环语句的含义.
主要考查程序框图、循环结构和算法思想,并结合函数与数列考查逻辑思维能力,题型主要以选择、填空题为主,考查求程序框图中的执行结果和确定控制条件,难度为低中档.
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语句
DO
循环体
LOOP UNTIL条件
b.WHILE语句
WHILE条件
循环体
WEND
题组一 思考辨析
1.判断下列结论是否正确(请在括号中打“√”或“×”)
(1)算法只能解决一个问题,不能重复使用.( × )
(2)程序框图中的图形符号可以由个人来确定.( × )
(3)输入框只能紧接开始框,输出框只能紧接结束框.( × )
(4)条件结构的出口有两个,但在执行时,只有一个出口是有效的.( √ )
(5)5=x是赋值语句.( × )
(6)输入语句可以同时给多个变量赋值.( √ )
题组二 教材改编
2.[P30例8]执行如图所示的程序框图,则输出S的值为( )
A.-B.C.-D.
答案 D
解析 按照程序框图依次循环运算,当k=5时,停止循环,当k=5时,S=sin=.
3.[P25例5]如图为计算y=|x|函数值的程序框图,则此程序框图中的判断框内应填.
答案 x<0?
解析 输入x应判断x是否大于等于零,由图知判断框应填x<0?.
题组三 易错自纠
4.(2016·全国Ⅱ)中国古代有计算多项式值的秦九韶算法,如图是实现该算法的程序框图,执行该程序框图,若输入的x=2,n=2,依次输入的a为2,2,5,则输出的s等于( )
A.7B.12C.17D.34
答案 C
解析 由框图可知,输入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.
5.执行如图所示的程序框图,若输出k的值为8,则判断框内可填入的条件是( )
A.s≤? B.s≤?
C.s≤? D.s≤?
答案 C
解析 由s=0,k=0满足条件,则k=2,s=,满足条件;k=4,
s=+=,满足条件;k=6,s=+=,满足条件;k=8,s=+=,不满足条件,输出k=8,所以应填“s≤?”.
6.运行如图所示的程序框图,若输出的y值的范围是[0,10],则输入的x值的范围是.
答案 [-7,9]
解析 该程序的功能是计算分段函数的值,
y=
当x<-1时,由0≤3-x≤10可得-7≤x<-1;
当-1≤x≤1时,0≤x2≤10恒成立;
当x>1时,由0≤x+1≤10可得1
1000的最小偶数n,那么在◇和▭两个空白框中,可以分别填入( )
A.A>1000?和n=n+1
B.A>1000?和n=n+2
C.A≤1000?和n=n+1
D.A≤1000?和n=n+2
答案 D
解析 因为题目要求的是“满足3n-2n>1000的最小偶数n”,所以n的叠加值为2,所以▭内填入“n=n+2”.由程序框图知,当◇内的条件不满足时,输出n,
所以◇内填入“A≤1000?”.故选D.
命题点3 辨析程序框图的功能
典例如果执行如图的程序框图,输入正整数N(N≥2)和实数a1,a2,…,aN,输出A,B,则( )
A.A+B为a1,a2,…,aN的和
B.为a1,a2,…,aN的算术平均数
C.A和B分别是a1,a2,…,aN中最大的数和最小的数
D.A和B分别是a1,a2,…,aN中最小的数和最大的数
答案 C
解析 不妨令N=3,a1y2
C.y1cos成立,所以输出的y1=sin=;
当输入的x为时,sin>cos不成立,
所以输出的y2=cos=,所以y1-1;第二次循环:i=3,S=lg+lg=lg=-lg5>-1;第三次循环:i=5,S=lg+lg=lg=-lg7>-1;第四次循环:i=7,S=lg+lg=lg=-lg9>-1;第五次循环:i=9,S=lg+lg=lg=-lg11<-1.故输出i=9.
8.公元263年左右,我国数学家刘徽发现当圆内接正多边形的边数无限增加时,多边形面积可无限逼近圆的面积,并创立了“割圆术”,利用“割圆术”刘徽得到了圆周率精确到小数点后两位的近似值3.14,这就是著名的“徽率”.如图是利用刘徽的“割圆术”思想设计的一个程序框图,则输出n的值为.(参考数据:sin15°≈0.2588,sin7.5°≈0.1305)
答案 24
解析 n=6,S=×6×sin60°=≈2.598<3.1,不满足条件,进入循环;
n=12,S=×12×sin30°=3<3.1,不满足条件,继续循环;
n=24,S=×24×sin15°≈12×0.2588=3.1056>3.1,满足条件,退出循环,输出n的值为24.
9.(2017·江苏)如图是一个程序框图,若输入x的值为,则输出y的值是.
答案 -2
解析 输入x=,≥1不成立,
执行y=2+log2=2-4=-2.
故输出y的值为-2.
10.(2017·安徽江南名校联考)某程序框图如图所示,判断框内为“k≥n?”,n为正整数,若输出的S=26,则判断框内的n=.
答案 4
解析 依题意,执行题中的程序框图,进行第一次循环时,k=1+1=2,S=2×1+2=4;进行第二次循环时,k=2+1=3,S=2×4+3=11;进行第三次循环时,k=3+1=4,S=2×11+4=26.
因此当输出的S=26时,判断框内的条件n=4.
11.如图所示的程序框图,若输入的x的值为1,则输出的n的值为.
答案 3
解析 由x2-4x+3≤0,解得1≤x≤3.
当x=1时,满足1≤x≤3,所以x=1+1=2,n=0+1=1;
当x=2时,满足1≤x≤3,所以x=2+1=3,n=1+1=2;
当x=3时,满足1≤x≤3,所以x=3+1=4,n=2+1=3;
当x=4时,不满足1≤x≤3,所以输出n=3.
12.(2017·西安模拟)执行如图所示的程序框图,如果输出S=3,那么判断框内应填入的条件是.
答案 k≤7?
解析 首次进入循环体,S=1×log23,k=3;
第二次进入循环体,S=×=2,k=4;依次循环,
第六次进入循环体,S=3,k=8,
此时结束循环,则判断框内填k≤7?.
13.(2018·泉州模拟)下面程序框图的算法思路源于我国古代数学名著《九章算术》中的“更相减损术”,执行该程序框图,若输入的a,b分别为14,18,则输出的a等于( )
A.0B.2C.4D.14
答案 B
解析 由题知,若输入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,结束.
故选B.
14.阅读下面的程序,当分别输入实数x=和x=0时,其输出的结果是.
INPUT x
IF x>1 THEN
y=x-2
ELSE
y=2*x
END IF
PRINT y
END
答案 -2和0
解析 由程序可知,它解决的是求分段函数y=的函数值问题,显然,当x=时,y=-2;当x=0时,y=0.故输出的结果是-2和0.
15.(2016·山东)执行如图所示的程序框图,若输入的a,b的值分别为0和9,则输出的i的值为.
答案 3
解析 第1次循环:i=1,a=1,b=8,ab,输出i的值为3.
16.设a是一个各位数字都不是0且没有重复数字的三位数.将组成a的3个数字按从小到大排成的三位数记为I(a),按从大到小排成的三位数记为D(a)(例如a=815,则I(a)=158,D(a)=851).阅读如图所示的程序框图,运行相应的程序,任意输入一个a,输出的结果b=.
答案 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.
17.(2018·太原模拟)关于函数f(x)=的程序框图如图所示,现输入区间[a,b],则输出的区间是.
答案 [0,1]
解析 由程序框图的第一个判断条件为f(x)>0,
当f(x)=cosx,x∈[-1,1]时满足.然后进入第二个判断框,需要解不等式f′(x)=-sinx≤0,即0≤x≤1.
故输出区间为[0,1].
18.执行如图所示的程序框图,如果输入的x,y∈R,那么输出的S的最大值为.
答案 2
解析 当条件x≥0,y≥0,x+y≤1不成立时输出S的值为1;当条件x≥0,y≥0,x+y≤1成立时S=2x+y,下面用线性规划的方法求此时S的最大值.
作出不等式组表示的平面区域如图中阴影部分(含边界),由图可知当直线S=2x+y经过点M(1,0)时S最大,其最大值为2×1+0=2,故输出S的最大值为2.
19.(2018·沈阳质检)以下给出了一个程序,根据该程序回答:
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)若输入4,则输出的结果是;
(2)该程序的功能所表达的函数解析式为.
答案 (1)15 (2)y=
解析 (1)x=4不满足x<3,∴y=x2-1=42-1=15.输出15.
(2)当x<3时,y=2x,当x>3时,y=x2-1;否则,
即x=3,y=2.
∴y=
20.(2018·长沙模拟)已知函数f(x)=ax3+x2在x=-1处取得极大值,记g(x)=.程序框图如图所示,若输出的结果S>,则判断框中可以填入的关于n的判断条件是.(填序号)
①n≤2017? ②n≤2018?
③n>2017? ④n>2018?
答案 ②
解析 由题意得f′(x)=3ax2+x,由f′(-1)=0,
得a=,∴f′(x)=x2+x,
即g(x)===-.
由程序框图可知S=0+g(1)+g(2)+…+g(n)
=0+1-+-+…+-
=1-,
由1->,得n>2017.
故可填入②.