- 674.50 KB
- 2021-06-16 发布
- 1、本文档由用户上传,淘文库整理发布,可阅读全部内容。
- 2、本文档内容版权归属内容提供方,所产生的收益全部归内容提供方所有。如果您对本文有版权争议,请立即联系网站客服。
- 3、本文档由用户上传,本站不保证质量和数量令人满意,可能有诸多瑕疵,付费之前,请仔细阅读内容确认后进行付费下载。
- 网站客服QQ:403074932
第章 算法初步、统计与统计案例
第一节 算法与程序框图
[考纲传真] 1.了解算法的含义,了解算法的思想.2.理解程序框图的三种基本逻辑结构:顺序、条件、循环.3.了解几种基本算法语句——输入语句、输出语句、赋值语句、条件语句、循环语句的含义.
1.常用程序框及其功能
2.三种基本逻辑结构
(1)顺序结构:按照步骤依次执行的一个算法,称为具有“顺序结构”的算法,或者称为算法的顺序结构.其结构形式为
(2)选择结构:需要进行判断,判断的结果决定后面的步骤,像这样的结构通常称作选择结构.
其结构形式为
(3)循环结构:指从某处开始,按照一定条件反复执行某些步骤的情况.反复执行的处理步骤称为循环体.其基本模式为
3.基本算法语句
任何一种程序设计语言中都包含五种基本的算法语句,它分别是:输入语句、输出语句、赋值语句、条件语句和循环语句.
4.赋值语句
(1)一般形式:变量=表达式.
(2)作用:将表达式所代表的值赋给变量.
5.条件语句
(1)If-Then-Else语句的一般格式为:
If 条件 Then
语句1
Else
语句2
End If
(2)If-Then语句的一般格式是:
If 条件 Then
语句
End If
6.循环语句
(1)For语句的一般格式:
For循环变量=初始值To终值
循环体
Next
(2)Do Loop语句的一般格式:
Do
循环体
Loop While 条件为真
[基础自测]
1.(思考辨析)判断下列结论的正误.(正确的打“√”,错误的打“×”)
(1)一个程序框一定包含顺序结构,但不一定包含条件结构和循环结构.( )
(2)条件结构的出口有两个,但在执行时,只有一个出口是有效的.( )
(3)输入框只能紧接开始框,输出框只能紧接结束框.( )
(4)在赋值语句中,x=x+1是错误的.( )
[答案] (1)√ (2)√ (3)× (4)×
2.如图所示的程序框图的运行结果为( )
A.2 B.2.5 C.3 D.3.5
B [因为a=2,b=4,所以输出S=+=2.5.故选B.]
3.根据下列算法语句,判断当输入x的值为60时,输出y的值应为( )
A.25 B.30 C.31 D.61
C [该语句表示分段函数
y=则当x=60时,y=25+0.6×(60-50)=31,所以输出y的值为31.故选C.]
4.执行如图所示的程序框图,如果输入的a=-1,b=-2,那么输出的a的值为( )
A.16 B.8 C.4 D.2
B [初始值:a=-1,b=-2.第一次循环:a=(-1)×(-2)=2,b=-2;第二次循环:a=2×(-2)=-4,b=-2;第三次循环:a=(-4)×(-2)=8>6,此时循环结束,输出a=8.故选B.]
5.如图为计算y=|x|函数值的程序框图,则此程序框图中的判断框内应填________.
x<0 [由条件结构可知,当x<0时,y=-x,当x≥0时,y=x,故判断框内应填x<0.]
程序框图的执行问题
1.阅读如图所示的程序框图,若输入的a,b,c的值分别是21,32,75,则输出的a,b,c分别是( )
A.75,21,32 B.21,32,75
C.32,21,75 D.75,32,21
A [当a=21,b=32,c=75时,依次执行程序框图中的各个步骤:x=21,a=75,c=32,b=21,所以a,b,c的值依次为75,21,32.]
2.(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.]
3.执行如图所示的程序框图,若输出的y=,则输入的x的最大值为________.
1 [由程序框图知,当x≤2时,y=sin=,x∈Z,得x=+2kπ(k∈Z)或x=+2kπ(k∈Z),即x=1+12k(k∈Z)或x=5+12k(k∈Z),所以xmax=1;当x>2时,y=2x>4≠.故输入的x的最大值为1.]
[规律方法] 1.解决“结果输出型”问题的思路
(1)要明确程序框图的顺序结构、条件结构和循环结构.注意区分当型循环和直到型循环,循环结构中要正确控制循环次数,要注意各个框的顺序.
(2)要识别运行程序框图,理解框图所解决的实际问题.
(3)按照题目的要求完成解答并验证.
2.确定控制循环变量的思路
结合初始条件和输出结果,分析控制循环的变量应满足的条件或累加、累乘的变量的表达式.
程序框图的功能识别
【例1】 如果执行如图的程序框图,输入正整数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 [易知A,B分别为a1,a2,…,aN中最大的数和最小的数.故选C.]
[律方规法] 对于辨析程序框图功能问题,可将程序多执行几次,即可根据结果作出判断.
已知某算法的程序框图如图所示,则该算法的功能是( )
A.求首项为1,公差为2的等差数列的前2 017项和
B.求首项为1,公差为2的等差数列的前2 018项和
C.求首项为1,公差为4的等差数列的前1 009项和
D.求首项为1,公差为4的等差数列的前1 010项和
C [由程序框图可得S=1+5+9+…+4 033,故该算法的功能是求首项为1,公差为4的等差数列的前1 009项和.故选C.]
程序框图的补充与完善
【例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.]
[规律方法] 完善程序框图问题,结合初始条件和输出结果,分析控制循环的变量应满足的条件或累加、累乘的变量的表达式.
(2018·长沙一模)1927年德国汉堡大学的学生考拉兹提出一个猜想:对于任意一个正整数,如果它是奇数,对它乘3再加1,如果它是偶数,对它除以2,这样循环,最终结果都能得到1.该猜想看上去很简单,但有的数学家认为“该猜想任何程度的解决都是现代数学的一大进步,将开辟全新的领域”.至于如此简单明了的一个命题为什么能够开辟一个全新的领域,这大概与其蕴含的“奇偶归一”思想有关.如图是根据考拉兹猜想设计的一个程序框图,则①处应填写的条件及输出的结果i分别为( )
A.a是偶数 6 B.a是偶数 8
C.a是奇数 5 D.a是奇数 7
D [由已知可得,①处应填写“a是奇数”.a=10,i=1;a=5,i=2;a=16,i=3;a=8,i=4;a=4,i=5;a=2,i=6;a=1,i=7,退出循环,
输出的i=7.故选D.]
1.(2018·全国卷Ⅱ)为计算S=1-+-+…+-,设计了如图的程序框图,则在空白框中应填入( )
A.i=i+1 B.i=i+2
C.i=i+3 D.i=i+4
B [由程序框图的算法功能知执行框N=N+计算的是连续奇数的倒数和,而执行框T=T+计算的是连续偶数的倒数和,所以在空白执行框中应填入的命令是i=i+2,故选B.]
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是最小值.
故选D.]
3.(2016·全国卷Ⅱ)中国古代有计算多项式值的秦九韶算法,如图是实现该算法的程序框图.执行该程序框图,若输入的x=2,n=2,依次输入的a为2,2,5,则输出的s=( )
A.7 B.12
C.17 D.34
C [因为输入的x=2,n=2,所以k=3时循环终止,输出s.根据程序框图可得循环体中a,s,k的值依次为2,2,1(第一次循环);2,6,2(第二次循环);5,17,3(第三次循环).所以输出的s=17.]
4.(2015·全国卷Ⅱ)下边程序框图的算法思路源于我国古代数学名著《九章算术》中的“更相减损术”.执行该程序框图,若输入的a,b分别为14,18,则输出的a=( )
A.0 B.2
C.4 D.14
B [a=14,b=18.
第一次循环:14≠18且14<18,b=18-14=4;
第二次循环:14≠4且14>4,a=14-4=10;
第三次循环:10≠4且10>4,a=10-4=6;
第四次循环:6≠4且6>4,a=6-4=2;
第五次循环:2≠4且2<4,b=4-2=2;
第六次循环:a=b=2,跳出循环,输出a=2,故选B.]