【数学】2019届一轮复习北师大版算法与算法框图学案
13.4 算法与算法框图
最新考纲
考情考向分析
1.了解算法的含义,了解算法的思想
2.理解程序框图的三种基本逻辑结构:顺序结构、选择结构、循环结构.
3.了解几种基本算法语句——输入语句、输出语句、赋值语句、条件语句、循环语句的含义.
主要程序程序框图、循环结构和算法思想,并结合函数与数列考查逻辑思维能力,题型主要以选择、填空题为主,考查求程序框图中的执行结果和确定控制条件,难度为低中档.
1.算法的含义
算法是解决某类问题的一系列步骤或程序,只要按照这些步骤执行,都能使问题得到解决.
2.算法框图
在算法设计中,算法框图(也叫程序框图)可以准确、清晰、直观地表达解决问题的思想和步骤,算法框图的三种基本结构:顺序结构、选择结构、循环结构.
3.三种基本逻辑结构
(1)顺序结构:按照步骤依次执行的一个算法,称为具有“顺序结构”的算法,或者称为算法的顺序结构.
其结构形式为
(2)选择结构:需要进行判断
,判断的结果决定后面的步骤,像这样的结构通常称作选择结构.
其结构形式为
(3)循环结构:指从某处开始,按照一定条件反复执行某些步骤的情况.反复执行的处理步骤称为循环体.
其基本模式为
4.基本算法语句
任何一种程序设计语言中都包含五种基本的算法语句,它们分别是:输入语句、输出语句、赋值语句、条件语句和循环语句.
5.赋值语句
(1)一般形式:变量=表达式.
(2)作用:将表达式所代表的值赋给变量.
6.条件语句
(1)If—Then—Else语句的一般格式为:
If 条件 Then
语句1
Else
语句2
End If
(2)If—Then语句的一般格式是:
If 条件 Then
语句
End If
7.循环语句
(1)For语句的一般格式:
For循环变量=初始值To终值
循环体
Next
(2)Do Loop语句的一般格式:
Do
循环体
Loop While条件为真
题组一 思考辨析
1.判断下列结论是否正确(请在括号中打“√”或“×”)
(1)算法只能解决一个问题,不能重复使用.( × )
(2)算法框图中的图形符号可以由个人来确定.( × )
(3)输入框只能紧接开始框,输出框只能紧接结束框.( × )
(4)选择结构的出口有两个,但在执行时,只有一个出口是有效的.( √ )
(5)5=x是赋值语句.( × )
(6)输入语句可以同时给多个变量赋值.( √ )
题组二 教材改编
2.执行如图所示的算法框图,则输出S的值为( )
A.- B. C.- D.
答案 D
解析 按照算法框图依次循环运算,当 =5时,停止循环,当 =5时,S=sin =.
3.如图为计算y=|x|函数值的算法框图,则此算法框图中的判断框内应填__________.
答案 x<0
解析 输入x应判断x是否大于等于零,由图知判断框应填x<0.
题组三 易错自纠
4.(2016·全国Ⅱ)中国古代有计算多项式值的秦九韶算法,如图是实现该算法的算法框图,执行该算法框图,若输入的x=2,n=2,依次输入的a为2,2,5,则输出的s等于( )
A.7 B.12
C.17 D.34
答案 C
解析 由框图可知,输入x=2,n=2,a=2,s=2, =1,不满足条件;a=2,s=4+2=6, =2,不满足条件;a=5,s=12+5=17, =3,满足条件,输出s=17,故选C.
5.执行如图所示的算法框图,若输出 的值为8,则判断框内可填入的条件是( )
A.s≤ B.s≤
C.s≤ D.s≤
答案 C
解析 由s=0, =0满足条件,则 =2,s=,满足条件; =4,
s=+=,满足条件; =6,s=+=,满足条件; =8,s=+=,不满足条件,输出 =8,所以应填“s≤”.
6.执行下边的算法框图,输出的T的值为________.
答案
解析 当n=1时,T=1+ʃx1dx=1+x2|=1+=;
当n=2时,T=+ʃx2dx=+x3|=+=;
当n=3时,结束循环,输出T=.
题型一 算法的基本结构
1.(2018·新余模拟)执行如图所示的算法框图,如果输入的t=0.01,则输出的n等于( )
A.5 B.6
C.7 D.8
答案 C
解析 执行算法:S=,m=,n=1,S>t;S=,m=,n=2,S>t;S=,m=,n=3,S>t;S=,m=,n=4,S>t;S=,m=,n=5,S>t;S=,m=,n=6,S>t;S=,m=,n=7,此时S>t不成立,退出循环,n=7.故选C.
2.(2017·全国Ⅲ)执行下面的算法框图,为使输出S的值小于91,则输入的正整数N的最小值为( )
A.5 B.4 C.3 D.2
答案 D
解析 假设N=2,算法执行过程如下:
t=1,M=100,S=0,
1≤2,S=0+100=100,M=-=-10,t=2,
2≤2,S=100-10=90,M=-=1,t=3,
3>2,输出S=90<91.符合题意.
∴N=2成立.显然2是N的最小值.故选D.
3.(2016·全国Ⅰ)执行右面的算法框图,如果输入的x=0,y=1,n=1,则输出x,y的值满足( )
A.y=2x
B.y=3x
C.y=4x
D.y=5x
答案 C
解析 执行题中的算法框图,知
第一次进入循环体:x=0+=0,y=1×1=1,x2+y2<36;
第二次执行循环体:n=1+1=2,x=0+=,
y=2×1=2,x2+y2<36;
第三次执行循环体:n=2+1=3,x=+=,
y=3×2=6,满足x2+y2≥36,故退出循环,输出x=,
y=6,满足y=4x,故选C.
思维升华 (1)高考对算法初步的考查主要是对算法框图含义的理解与运用,重点应放在读懂框图上,尤其是选择结构、循环结构.特别要注意选择结构的条件,对于循环结构要搞清进入或退出循环的条件、循环的次数,是解题的关键.
(2)解决算法框图问题要注意几个常用变量:
①计数变量:用来记录某个事件发生的次数,如i=i+1.
②累加变量:用来计算数据之和,如S=S+i.
③累乘变量:用来计算数据之积,如p=p×i.
题型二 算法框图的识别与完善
命题点1 由算法框图求输出结果
典例 (1)(2017·全国Ⅱ)执行如图所示的算法框图,如果输入的a=-1,则输出的S等于( )
A.2 B.3
C.4 D.5
答案 B
解析 当 =1时,S=0+(-1)×1=-1,a=1,执行 = +1后, =2;
当 =2时,S=-1+1×2=1,a=-1,执行 = +1后, =3;
当 =3时,S=1+(-1)×3=-2,a=1,执行 = +1后, =4;
当 =4时,S=-2+1×4=2,a=-1,执行 = +1后, =5;
当 =5时,S=2+(-1)×5=-3,a=1,执行 = +1后, =6;
当 =6时,S=-3+1×6=3,执行 = +1后, =7>6,输出S=3.结束循环.
故选B.
(2)(2017·山东)执行两次如图所示的算法框图,若第一次输入的x的值为7,第二次输入的x的值为9,则第一次、第二次输出的a的值分别为( )
A.0,0 B.1,1 C.0,1 D.1,0
答案 D
解析 当x=7时,∵b=2,∴b2=4<7=x.
又7不能被2整除,∴b=2+1=3.
此时b2=9>7=x,∴退出循环,a=1,∴输出a=1.
当x=9时,∵b=2,∴b2=4<9=x.
又9不能被2整除,∴b=2+1=3.
此时b2=9=x,又9能被3整除,∴退出循环,a=0.
∴输出a=0.
故选D.
命题点2 完善算法框图
典例(2017·全国Ⅰ)如图所示的算法框图是为了求出满足3n-2n>1 000的最小偶数n,那么在◇和▭两个空白框中,可以分别填入( )
A.A>1 000和n=n+1 B.A>1 000和n=n+2
C.A≤1 000和n=n+1 D.A≤1 000和n=n+2
答案 D
解析 因为题目要求的是“满足3n-2n>1 000的最小偶数n”,所以n的叠加值为2,所以▭
内填入“n=n+2”.由算法框图知,当◇内的条件不满足时,输出n,所以◇内填入“A≤1 000”.故选D.
命题点3 辨析算法框图的功能
典例(2018·大连月考)如果执行如图的算法框图,输入正整数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,a1
48 B.i>24 C.i<48 D.i<24
答案 A
解析 算法运行过程中,各变量值如下:
第1次循环:S=0+=,n=4,i=2,
第2次循环:S=+,n=6,i=3,
第3次循环:S=++,n=8,i=4,
依次类推,第48次循环:S=++++…+,n=98,i=49,退出循环体.
所以判断框内应填入的条件是i>48.故选A.
题型三 基本算法语句
典例 (2018届河北邢台期末)执行如图所示的算法,若输出的结果是2,则输入的x=________.
输入 x
If x<1 Then
y=2x+1
Else
y=x2-x
End If
输出 y
答案 0或2
解析 根据条件语句可知算法的功能是求分段函数y=的值.当x<1时,令2x+1=2,解得x=0;当x≥1时,令x2-x=2,解得x=2或-1(舍去).
思维升华解决算法语句有三个步骤:首先通读全部语句,把它翻译成数学问题;其次领悟该语句的功能;最后根据语句的功能运行算法,解决问题.
跟踪训练 (2018·保定模拟)根据如图所示的语句,可知输出的结果S=________.
S=1
i=1
For i=1To 8 Step 3
S=S+2
Next
输出 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.
算法框图中变量的取值
典例执行如图所示的算法框图所表示的算法,则输出的A等于( )
A.2 047 B.2 049C.1 023 D.1 025
错解展示:
将每次运算的A值用数列{an}表示,
将开始的A=1看作a0,则a1=2a0+1=1,a2=2a1+1=3,…
∴a10=2a9+1=210-1=1 023.
错误答案 C
现场纠错
解析 本题计算的是递推数列a0=1,
an+1=2an+1(n=0,1,2,…)的第11项,
{an+1}是首项为2,公比为2的等比数列,
故a10+1=211,故a10=2 047.
答案 A
纠错心得 算法框图对计数变量及求和变量取值时,要注意两个变量的先后顺序.
1.(2016·全国Ⅲ)执行如图的算法框图,如果输入的a=4,b=6,那么输出的n等于( )
A.3 B.4 C.5 D.6
答案 B
解析 第一次循环a=6-4=2,b=6-2=4,a=4+2=6,s=6,n=1;
第二次循环a=4-6=-2,b=4-(-2)=6,a=6-2=4,s=10,n=2;
第三次循环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=20,n=4,满足题意,结束循环.
2.(2016·四川)秦九韶是我国南宋时期的数学家,普州(现四川省安岳县)人,他在所著的《数书九章》中提出的多项式求值的秦九韶算法,至今仍是比较先进的算法.如图所示的算法框图给出了利用秦九韶算法求某多项式值的一个实例,若输入n,x的值分别为3,2,则输出v的值为( )
A.9 B.18 C.20 D.35
答案 B
解析 初始值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.
3.(2017·天津)阅读下面的算法框图,运行相应的算法,若输入N的值为24,则输出N的值为( )
A.0 B.1
C.2 D.3
答案 C
解析 第一次循环执行条件语句,此时N=24,24能被3整除,则N=24÷3=8.
∵8≤3不成立,
∴进入第二次循环执行条件语句,此时N=8,8不能被3整除,则N=8-1=7.
∵7≤3不成立,
∴进入第三次循环执行条件语句,此时N=7,7不能被3整除,则N=7-1=6.
∵6≤3不成立,
∴进入第四次循环执行条件语句,此时N=6,6能被3整除,则N=6÷3=2.
∵2≤3成立,∴此时输出N=2.
故选C.
4.(2017·北京)执行如图所示的算法框图,输出的s值为( )
A.2 B.
C. D.
答案 C
解析 开始: =0,s=1;
第一次循环: =1,s=2;
第二次循环: =2,s=;
第三次循环: =3,s=,此时不满足循环条件,输出s,
故输出的s值为.
故选C.
5.(2018·长春模拟)一个算法的算法框图如图所示,若该算法输出的结果是,则判断框内应填入的条件是( )
A.i<4 B.i>4 C.i<5 D.i>5
答案 B
解析 i=1进入循环,i=2,T=1,P==5;再循环,i=3,T=2,P==1;再循环,i=4,T=3,P==;再循环,i=5,T=4,P==,此时应满足判断条件,所以判断框内应填入的条件是i>4.
6.(2018·广州质检)执行如图所示的算法框图,如果输入n=3,则输出的S等于( )
A. B. C. D.
答案 B
解析 第一步运算:S==,i=2;
第二步运算:S=+=,i=3;
第三步运算:S=+=,i=4>3.
故S=,故选B.
7.公元263年左右,我国数学家刘徽发现当圆内接正多边形的边数无限增加时,多边形面积可无限逼近圆的面积,并创立了“割圆术”,利用“割圆术”刘徽得到了圆周率精确到小数点后两位的近似值3.14,这就是著名的“徽率”.如图是利用刘徽的“割圆术”思想设计的一个算法框图,则输出n的值为________.(参考数据:sin 15°≈0.258 8,sin 7.5°≈0.130 5)
答案 24
解析 n=6,S=×6×sin 60°=≈2.598<3.1,不满足条件,进入循环;
n=12,S=×12×sin 30°=3<3.1,不满足条件,继续循环;
n=24,S=×24×sin 15°≈12×0.258 8=3.105 6>3.1,满足条件,退出循环,输出n的值为24.
8.(2018·银川质检)某框图所给的算法运行结果为S=20,那么判断框中应填入的关于 的条件是________.
答案 >8?
解析 由题意可知输出结果为S=20,第1次循环,S=11, =9,第2次循环,S=20, =8,此时S满足输出结果,退出循环,所以判断框中的条件为“ >8?”.
9.(2017·江苏)如图是一个算法框图,若输入x的值为,则输出y的值是________.
答案 -2
解析 输入x=,≥1不成立,
执行y=2+log2=2-4=-2.
故输出y的值为-2.
10.(2017·江西八校联考)执行如图所示的算法框图,输出的s是________.
答案 -6
解析 第一次循环:i=1,s=1;第二次循环:i=2,s=-1;第三次循环:i=3,s=2;第四次循环:i=4,s=-2,此时i=5,执行s=3×(-2)=-6.
11.(2018·温州质检)如图所示的算法框图,若输入的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,那么判断框内应填入的条件是__________.
答案 ≤7
解析 首次进入循环体,S=1×log23, =3;
第二次进入循环体,S=×=2, =4;依次循环,
第六次进入循环体,S=3, =8,
此时结束循环,则判断框内填 ≤7.
13.(2018·泉州模拟)下面算法框图的算法思路源于我国古代数学名著《九章算术》中的“更相减损术”,执行该算法框图,若输入的a,b分别为14,18,则输出的a等于( )
A.0 B.2
C.4 D.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.(2018·马鞍山质检)根据下列算法语句,当输入x为60时,输出y的值为( )
输入 x
If x≤50 Then
y=0.5*x
Else
y=25+0.6*(x-50)
End If
输出y
A.25 B.30 C.31 D.61
答案 C
解析 由题意,得y=
当x=60时,y=25+0.6×(60-50)=31.
所以输出y的值为31.
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)=cos x,x∈[-1,1]时满足.然后进入第二个判断框,需要解不等式f′(x)=-sin x≤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·沈阳质检)以下给出了一个算法,根据该算法回答:
输入 x
If x<3 Then
y=2*x
Else
If x>3 Then
y=x*x-1
Else
y=2
End If
End If
输出y
(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≤2 017 ②n≤2 018③n>2 017 ④n>2 018
答案 ②
解析 由题意得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>2 017.
故可填入②.