- 1.10 MB
- 2021-06-15 发布
- 1、本文档由用户上传,淘文库整理发布,可阅读全部内容。
- 2、本文档内容版权归属内容提供方,所产生的收益全部归内容提供方所有。如果您对本文有版权争议,请立即联系网站客服。
- 3、本文档由用户上传,本站不保证质量和数量令人满意,可能有诸多瑕疵,付费之前,请仔细阅读内容确认后进行付费下载。
- 网站客服QQ:403074932
11.1 算法与程序框图
[知识梳理]
1.算法的含义与程序框图
(1)算法:算法是指按照一定规则解决某一类问题的明确和有限的步骤.
(2)程序框图:程序框图又称流程图,是一种用程序框、流程线及文字说明来表示算法的图形.
在程序框图中,一个或n个程序框的组合表示算法中的一个步骤;带有方向箭头的流程线将程序框连接起来,表示算法步骤的执行顺序.
(3)算法框图的图形符号及其功能
2.三种基本逻辑结构及相应语句
[诊断自测]
1.概念思辨
(1)一个程序框图一定包含顺序结构,也包含条件结构(选择结构)和循环结构.( )
(2)当型循环是给定条件不成立时,执行循环体,反复进行,直到条件成立为止.( )
(3)在算法语句中,X=X+1是错误的.( )
(4)输入语句可以同时给多个变量赋值.( )
答案 (1)× (2)× (3)× (4)√
2.教材衍化
(1)(必修A3P13例6)执行如图所示的程序框图,若输出k的值为6,则判断框内可填入的条件是( )
A.s>? B.s>? C.s>? D.s>?
答案 C
解析 第一次循环,s=1×=,k=8;第二次循环,s=1××=,k=7;第三次循环,s=1×××=,k=6,此时应退出循环输出k=6.故判断框内可填“s>?”.故选C.
(2)(必修A3P15例7)执行如图所示的程序框图,输出的z的值为________.
答案 6
解析 第一次循环,S=1,a=1;第二次循环,S=2,a=2;第三次循环,S=8,a=3;第四次循环,S=64,a=4,此时退出循环,输出z=log226=6.
3.小题热身
(1)(2017·全国卷Ⅱ)执行下面的程序框图,如果输入的a=-1,则输出的S=( )
A.2 B.3 C.4 D.5
答案 B
解析 当K=1时,S=0+(-1)×1=-1,a=1,执行K=K+1后,K=2;
当K=2时,S=-1+1×2=1,a=-1,执行K=K+1后,K=3;
当K=3时,S=1+(-1)×3=-2,a=1,执行K=K+1后,K=4;
当K=4时,S=-2+1×4=2,a=-1,执行K=K+1后,K=5;
当K=5时,S=2+(-1)×5=-3,a=1,执行K=K+1后,K=6;
当K=6时,S=-3+1×6=3,执行K=K+1后,K=7>6,输出S=3.结束循环.
故选B.
(2)(2016·全国卷Ⅰ)执行下面的程序框图,如果输入的x=0,y=1,n=1,则输出x,y的值满足( )
A.y=2x B.y=3x C.y=4x D.y=5x
答案 C
解析 x=0,y=1,n=1;x=0,y=1,n=2;
x=,y=2,n=3;x=,y=6,此时x2+y2>36,输出x=,y=6,满足y=4x.故选C.
题型1 算法的基本结构
角度1 顺序结构与条件结构
(2013·全国卷Ⅰ)执行下面的程序框图,如果输入的t∈[-1,3],则输出的s属于( )
A.[-3,4] B.[-5,2] C.[-4,3] D.[-2,5]
分析程序框图的结构,解决问题.本题是求分段函数的值域.
答案 A
解析 由框图知s是关于t的分段函数:
s=
故当t∈[-1,1)时,s∈[-3,3);当t∈[1,3]时,s=4t-t2=4-(t-2)2∈[3,4],则当t∈[-1,3]时,s∈[-3,4],故选A.
角度2 循环结构
(2017·全国卷Ⅲ)执行如图所示的程序框图,为使输出S的值小于91,则输入的正整数N的最小值为( )
A.5 B.4 C.3 D.2
本题是当型循环结构,代入选项中最小的N=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是最小值.故选D.
方法技巧
1.应用顺序结构与条件结构的注意点
(1)顺序结构:顺序结构是最简单的算法结构,语句与语句之间、框与框之间是按从上到下的顺序进行的.
(2)条件结构:利用条件结构解决算法问题时,重点是判断框,是否满足判断框内的条件,对应的下一图框中的内容是不一样的,故要重点分析判断框内的条件是否满足.
2.循环结构的思维过程
(1)分析进入或退出循环体的条件,确定循环次数.
(2)结合初始条件和输出结果,分析控制循环的变量应满足的条件或累加、累乘的变量的表达式.
(3)辨析循环结构的功能.
冲关针对训练
(2014·四川高考)执行如图的程序框图,如果输入的x,y∈R,那么输出的S的最大值为( )
A.0 B.1 C.2 D.3
答案 C
解析 由程序框图可知,若输入的x,y满足约束条件
则输出目标函数S=2x+y的值,否则,输出S=1.如图,作出满足条件的可行域.当x=1,y=0时,目标函数S=2x+y取得最大值2,2>1,故输出的S的最大值为2.故选C.
题型2 程序框图的识别与完善
角度1 由程序框图求输出结果
(2015·全国卷Ⅰ)执行如图所示的程序框图,如果输入的t=0.01,则输出的n=( )
A.5 B.6 C.7 D.8
循环结构的框图,循环计算即可.
答案 C
解析 第一次循环:S=1-=,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 完善程序框图
(2015·重庆高考)执行如图所示的程序框图,若输出k的值为8,则判断框内可填入的条件是( )
A.s≤? B.s≤? C.s≤? D.s≤?
答案 C
解析 k=2,s=;k=4,s=+=;k=6,s=++=;k=8,s=+++=.
此时循环结束,所以判断框中可填入的条件是“s≤?”,故选C.
方法技巧
1.求程序框图运行结果的思路
(1)要明确程序框图中的顺序结构、条件结构和循环结构.
(2)要识别运行程序框图,理解框图所解决的实际问题.
(3)按照题目的要求完成解答并验证.
2.确定控制循环变量的思路
结合初始条件和输出结果,分析控制循环的变量应满足的条件或累加、累乘的变量的表达式.
3.易错提醒:解决程序框图问题时应注意的问题
(1)注意区分当型循环和直到型循环.
(2)循环结构中要正确控制循环次数.
(3)要注意各个框的顺序.
冲关针对训练
(2016·四川高考)秦九韶是我国南宋时期的数学家,普州(现四川省安岳县)人,他在所著的《数书九章》中提出的多项式求值的秦九韶算法,至今仍是比较先进的算法.如图所示的程序框图给出了利用秦九韶算法求某多项式值的一个实例,若输入n,x的值分别为3,2,则输出v的值为( )
A.9
B.18
C.20
D.35
答案 B
解析 执行程序框图,n=3,x=2,v=1,i=2≥0;v=1×2+2=4,i=1≥0;v=4×2+1=9,i=0≥0;v=9×2+0=18,i=-1<0,结束循环,输出v=18.故选B.
题型3 算法的基本语句
如图为一个求20
个数的平均数的程序,在横线上应填充的语句为( )
A.i<=20 B.i<20 C.i>=20 D.i>20
答案 D
解析 由于是求20个数的平均数,所以应是“直到i>20”时,退出循环,故选D.
方法技巧
算法语句应用的三个关注点
1.赋值语句:赋值号仅仅表示把右边的表达式的值赋给了左边的变量,且变量的值始终等于最近一次赋给它的值,先前的值将被替换.
2.条件语句:计算机在执行“IF—THEN—ELSE”语句时,首先对IF后的条件进行判断,如果符合条件,则执行THEN后面的“语句”;若不符合条件,则执行ELSE后面的“语句”.
3.循环语句:分清WHILE—WEND和DO—LOOP UNTIL的格式,不能混用.
冲关针对训练
(2018·宜春模拟)如下是根据所输入的x值计算y值的一个算法程序,若x依次取数列(n∈N*)的项,则所得y值的最小值为( )
A.4 B.9 C.16 D.20
答案 C
解析 由条件语句知,y=
又=n+≥4(当且仅当n=2时等号成立),所以当x=4时,y有最小值42=16.故选C.
1.(2017·全国卷Ⅰ)如图所示的程序框图是为了求出满足3n-2n>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.
2.(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.
3.(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.
4.(2017·河南百校联盟模拟)《九章算术》是中国古代数学名著,体现了古代劳动人民的数学智慧,其中有一竹节容量问题,某教师根据这一问题的思想设计了如图所示的程序框图,若输出的m的值为35,则输入的a的值为( )
A.4
B.5
C.7
D.11
答案 A
解析 起始阶段有m=2a-3,i=1,
第一次循环,m=2(2a-3)-3=4a-9,i=2;
第二次循环,m=2(4a-9)-3=8a-21,i=3;
第三次循环,m=2(8a-21)-3=16a-45,i=4;
接着计算m=2(16a-45)-3=32a-93,跳出循环,
输出m=32a-93,令32a-93=35,得a=4.故选A.
[基础送分 提速狂刷练]
一、选择题
1.(2015·湖南高考)执行如图所示的程序框图,如果输入n=3
,则输出的S=( )
A. B. C. D.
答案 B
解析 当输入n=3时,输出S=++==.故选B.
2.(2015·全国卷Ⅱ)如图所示的程序框图的算法思路源于我国古代数学名著《九章算术》中的“更相减损术”.执行该程序框图,若输入的a,b分别为14,18,则输出的a=( )
A.0 B.2 C.4 D.14
答案 B
解析 开始:a=14,b=18,第一次循环:a=14,b=4;第二次循环:a=10,b=4;第三次循环:a=6,b=4;第四次循环:a=2,b=4;第五次循环:a=2,b=2.此时,a=b,退出循环,输出a=2.故选B.
3.(2018·江西赣州十四县联考)如图所示的程序框图,若输入x,k,b,p的值分别为1,-2,9,3,则输出的x值为( )
A.-29
B.-5
C.7
D.19
答案 D
解析 程序执行过程如下:n=1,x=-2×1+9=7;
n=2,x=-2×7+9=-5;
n=3,x=-2×(-5)+9=19;
n=4>3,终止循环,输出x=19.
故选D.
4.执行下面的程序框图,如果输入的N=10,那么输出的S=( )
A.1+++…+
B.1+++…+
C.1+++…+
D.1+++…+
答案 B
解析 T=1,S=1,k=2;
T=,S=1+,k=3;
T=,S=1++,k=4;
T=,S=1+++,k=5;……;
T=,S=1+++…+,k=11>10,输出S,故选B.
5.(2017·广东潮州二模)执行如图所示的程序框图,则输出的结果为( )
A.7 B.9 C.10 D.11
答案 B
解析 i=1,s=1×≤0.1,否;
i=3,s=×=≤0.1,否;
i=5,s=×=≤0.1,否;
i=7,s=×=≤0.1,否;
i=9,s=×=≤0.1,是,
输出i=9,故选B.
6.(2016·全国卷Ⅲ)执行下面的程序框图,如果输入的a=4,b=6,那么输出的n=( )
A.3 B.4 C.5 D.6
答案 B
解析 第一次循环:a=2,b=4,a=6,s=6,n=1;
第二次循环:a=-2,b=6,a=4,s=10,n=2;
第三次循环:a=2,b=4,a=6,s=16,n=3;
第四次循环:a=-2,b=6,a=4,s=20,n=4.
结束循环,输出n的值为4,故选B.
7.执行如图所示的程序框图,则输出的S=( )
A. B. C.- D.0
答案 A
解析 由程序框图得S=sin+sin+sin+sin+sin+sin+sin+…+sin.由正弦函数的周期性,得S=sin=,故选A.
8.我们可以用随机数法估计π的值,如图所示的程序框图表示其基本步骤(函数RAND是产生随机数的函数,它能随机产生(0,1)内的任何一个实数),若输出的结果为521,则由此可估计π的近似值为( )
A.3.119 B.3.126 C.3.132 D.3.151
答案 B
解析 在空间直角坐标系Oxyz中,不等式组
表示的区域是棱长为1的正方体区域,相应区域的体积为13=1;不等式组表示的区域是棱长为1的正方体区域内的球形区域,相应区域的体积为××13=,因此≈,即π≈3.126,故选B.
9.已知函数f(x)=ax3+x2在x=-1处取得极大值,记g(x)=.执行如图所示的程序框图,若输出的结果S>,则判断框中可以填入的关于n的判断条件是( )
A.n≤2016? B.n≤2017?
C.n>2016? D.n>2017?
答案 B
解析 f′(x)=3ax2+x,则f′(-1)=3a-1=0,解得a=,g(x)====-,g(n)=-,则S=1-+-+…+-
=1-=,因为输出的结果S>,分析可知判断框中可以填入的判断条件是“n≤2017?”,故选B.
10.执行如图所示的程序框图,输出的S的值为( )
A.log210-1 B.2log23-1
C. D.6
答案 B
解析 S=3,i=1,i≤7成立;
S=3+log2,i=2,i≤7成立;
S=3+log2+log2=3+log2=3+log2,
i=3,i≤7成立;
S=3+log2+log2=3+log2=3+log2,i=4,i≤7成立;……;S=3+log2,i=8,i≤7不成立,退出循环,S=log2(3+log2)=log2=log2=2log23-1,故选B.
11.(2018·河南模拟)下边程序框图的功能是求出的值,则框图中①、②两处应分别填写的是( )
A.i≥1,a B.i≥1,a-6
C.i>1,a D.i>1,a-6
答案 D
解析 程序框图是计算的值,则利用累积加,则第一个处理框应为i>1,然后计算i是自减1个,i=i-1,第二空输出结果a-6.故选D.
12.(2017·湖南三模)给出30个数:1,2,4,7,11,…,要计算这30
个数的和,现已给出了该问题的程序框图如图所示,那么框图中判断框①处和执行框②处应分别填入( )
A.i≤30?;p=p+i-1 B.i≤31?;p=p+i+1
C.i≤31?;p=p+i D.i≤30?;p=p+i
答案 D
解析 由于要计算30个数的和,
故循环要执行30次,由于循环变量的初值为1,步长为1,故终值应为30,
即①中应填写“i≤30?”;
又由第1个数是1;
第2个数比第1个数大1即1+1=2;
第3个数比第2个数大2即2+2=4;
第4个数比第3个数大3即4+3=7;
故②中应填写p=p+i.故选D.
二、填空题
13.定义n!=1×2×3×…×n,如图是求10!的程序框图,其中k为整数,则k=________.
答案 11
解析 因为10!=1×2×…×10,所以判断框内的条件为“i<11?”,故k=11.
14.秦九韶算法是中国南宋时期的数学家秦九韶提出的一种多项式简化算法,如图所示的程序框图表示用秦九韶算法求5次多项式f(x)=a5x5+a4x4+a3x3+a2x2+a1x+a0当x=x0(x0是任意实数)时的值的过程,若输入a0=2,a1=-5,a2=6,a3=-4,a4=7,a5=2,x0=3,则输出的v的值为________.
答案 986
解析 执行程序框图,输入a0=2,a1=-5,a2=6,a3=-4,a4=7,a5=2,x0=3,经过第1次循环得v=13,n=2;经过第2次循环得v=35,n=3;经过第3次循环得v=111,n=4;经过第4次循环得v=328,n=5;经过第5次循环得v=986,n=6,退出循环.故输出的v的值为986.
15.(2018·黄冈模拟)随机抽取某中学甲、乙两个班各10名同学,测量他们的身高获得身高数据的茎叶图如图,在样本的20人中,记身高在[150,160),[160,170),[170,180),[180,190]的人数依次为A1,A2,A3,A4.如图是统计样本中身高在一定范围内的人数的算法框图.若图中输出的S=18,则判断框应填________.
答案 i<5?(或i≤4?)
解析 由于i从2开始,也就是统计大于或等于160的所有人数,于是就要计算A2+A3+A4,因此,判断框应填i<5?或i≤4?.
16.(2018·北京昌平质量抽测)执行如图所示的程序框图,当①是i<6时,输出的S值为________;当①是i<2018时,输出的S值为________.
答案 5 2017
解析 当①是i<6时,当i=1时,a1=cos+1=1,S=1;
当i=2时,a2=cos+1=0,S=1;
当i=3时,a3=cos+1=1,S=1+1=2;
当i=4时,a4=cos+1=2,S=2+2=4;
当i=5时,a5=cos+1=1,S=4+1=5;
当i=6时,a6=cos+1=0,S=5+0=5.
此时不满足条件,输出S=5.
当①是i<2018时,因为ai=cos+1的周期为4,所以a1+a2+a3+a4=4,所以S=a1+a2+…+a2018=504(a1+a2+a3+a4)+a2017+a2018=504×4+a1+a2=2017.