一、选择题(本大题共12小题,每小题5分,共60分.在每小题给出的四个选项中,只有一项是符合题目要求的)
1.算法共有三种逻辑结构,即顺序结构、条件结构、循环结构,下列说法正确的是( )
A.一个算法只能含有一种逻辑结构
B.一个算法最多可以包含两种逻辑结构
C.一个算法必须含有上述三种逻辑结构
D.一个算法可以含有上述三种逻辑结构的任意组合
解析:选D 任何一种算法都是由上述三种逻辑结构组成的,它可以含有三种结构中的一种、两种或三种.
2.(北京高考)执行如图所示的程序框图,输出的s值为( )
A.2 B.
C. D.
解析:选C 运行该程序,k=0,s=1,k<3;
k=0+1=1,s==2,k<3;
k=1+1=2,s==,k<3;
k=2+1=3,s==,此时不满足循环条件,输出s,故输出的s值为.
3.下列赋值语句正确的是( )
A.s=a+1 B.a+1=s
C.s-1=a D.s-a=1
解析:选A 赋值语句的格式为“变量=表达式”,“=”的左侧只能是单个变量,
故B,C,D均不正确.
4.用辗转相除法,计算56和264的最大公约数时,需要做的除法次数是( )
A.3 B.4
C.6 D.7
解析:选B 由辗转相除法,
264=56×4+40;56=40×1+16;
40=16×2+8;16=8×2.
即得最大公约数为8,做了4次除法.
5.(全国卷Ⅱ)执行如图所示的程序框图,如果输入的a=-1,则输出的S=( )
A.2 B.3
C.4 D.5
解析:选B 运行程序框图,
a=-1,S=0,K=1,K≤6成立;
S=0+(-1)×1=-1,a=1,K=2,K≤6成立;
S=-1+1×2=1,a=-1,K=3,K≤6成立;
S=1+(-1)×3=-2,a=1,K=4,K≤6成立;
S=-2+1×4=2,a=-1,K=5,K≤6成立;
S=2+(-1)×5=-3,a=1,K=6,K≤6成立;
S=-3+1×6=3,a=-1,K=7,K≤6不成立,输出S=3.
6.下面的伪代码运行后,输出的值是( )
A.8 B.9
C.10 D.11
解析:选C 由题意知,此程序为循环语句,当i=10时,210=1 024;当i=11时,211=2 048>2 000,输出结果为i=11-1=10.
7.执行如图所示的程序框图,输出的结果为( )
A.55 B.89
C.144 D.233
解析:选B 初始值:x=1,y=1,
第1次循环:z=2,x=1,y=2;
第2次循环:z=3,x=2,y=3;
第3次循环:z=5,x=3,y=5;
第4次循环:z=8,x=5,y=8;
第5次循环:z=13,x=8,y=13;
第6次循环:z=21,x=13,y=21;
第7次循环:z=34,x=21,y=34;
第8次循环:z=55,x=34,y=55;
第9次循环:z=89,x=55,y=89;
第10次循环时z=144,循环结束,输出y,故输出的结果为89.
8.用秦九韶算法求多项式f(x)=7x3+3x2-5x+11在x=23时的值,在运算过程中下列数值不会出现的是( )
A.164 B.3 767
C.86 652 D.85 169
解析:选D 用秦九韶算法把f(x)改成如下形式:f(x)=((7x+3)x-5)x+11,按由内到外的顺序依次计算一次多项式当x=23时的值:v0=7;v1=7×23+3=164;v2=164×23-5=3 767;v3=3 767×23+11=86 652.故不会出现D项.
9.下图给出的是计算1+2+4+…+219的值的一个程序框图,则其中判断框内应填入的是( )
A.i=19 B.i≥20
C.i≤19 D.i≤20
解析:选B 计算S=1+2+4+…+219的值,所使用的循环结构是直到型循环结构,循环应在i≥20时退出,并输出S.故填“i≥20”.
10.若如图所示的程序框图输出的S的值为126,则条件①为( )
A.n≤5 B.n≤6
C.n≤7 D.n≤8
解析:选B 由题知,第一次循环后,S=2,n=2;第二次循环后,S=6,n=3;第三次循环后,S=14,n=4;第四次循环后,S=30,n=5;第五次循环后,S=62,n=6;第六次循环后,S=126,n=7,满足了S=126,循环结束,所以条件①为n≤6.
11.阅读如图所示的程序框图,运行相应的程序,输出的结果是( )
A.3 B.11
C.38 D.123
解析:选B 根据框图可知第一步的运算为:a=1<10,满足条件,可以得到a=12+2=3,又因为a=3<10,满足条件,所以有a=32+2=11,因为a=11>10,不满足条件,输出结果a=11.
12.(全国卷Ⅲ)执行如图所示的程序框图,为使输出S的值小于91,则输入的正整数N的最小值为( )
A.5 B.4
C.3 D.2
解析:选D 法一:执行程序框图,S=0+100=100,M=-10,t=2;
S=100-10=90,M=1,t=3,S<91,输出S,
此时,t=3不满足t≤N,
所以输入的正整数N的最小值为2.
法二:要求的是最小值,观察选项,发现选项中最小的为2,不妨将2代入检验.
当输入的N为2时,
第一次循环,S=100,M=-10,t=2;
第二次循环,S=90,M=1,t=3,此时退出循环,输出S=90,符合题意,故选D.
二、填空题(本大题共4小题,每小题5分,共20分.把答案填在题中横线上)
13.111与1 850的最大公约数为________.
解析:1 850=16×111+74,
111=1×74+37,
74=2×37.
∴1 850和111的最大公约数为37.
答案:37
14.下列伪代码运行后输出的结果为________.
解析:x=5,y=-20,由于x<0不成立,
故执行y=y+3=-17,故x-y=22,y-x=-22.
输出的值为22,-22.
答案:22,-22
15.执行如图所示的程序框图,若p=0.8,则输出的n=________.
解析:第一次循环后,S=<0.8,此时n=2;
第二次循环后S=+=0.75<0.8,此时n=3;
第三次循环后S=0.75+=0.875,此时n=4,输出.故输出的是4.
答案:4
16.阅读如图所示的程序框图,如果输出的函数值在区间[1,3]上,则输入的实数x的取值范围是________.
解析:依题意及框图可得
或
解得0≤x≤log23或x=2.
答案:0≤x≤log23或x=2
三、解答题(本大题共6小题,共70分.解答时写出必要的文字说明、证明过程或演算步骤)
17.(本小题满分10分)用秦九韶算法求多项式f(x)=8x7+5x6+3x4+2x+1,当x=2时的值.
解:根据秦九韶算法,把多项式改写成如下形式:
f(x)=8x7+5x6+0·x5+3·x4+0·x3+0·x2+2x+1=((((((8x+5)x+0)x+3)x+0)x+0)x+2)x+1.
而x=2,所以有
v0=8,v1=8×2+5=21,
v2=21×2+0=42,v3=42×2+3=87,
v4=87×2+0=174,v5=174×2+0=348,
v6=348×2+2=698,v7=698×2+1=1 397.
所以当x=2时,多项式的值为1 397.
18.(本小题满分12分)用循环结构书写求1++++…+的算法,并画出相应的程序框图.
解:相应的算法如下:
S1:S=0,i=1;
S2:S=S+;
S3:i=i+1;
S4:i>1 000是否成立,
若成立执行S5,
否则重复执行S2;
S5:输出S.
相应的程序框图如图所示.
19.(本小题满分12分)已知函数
y=编写一个伪代码,对于输入的每一个x的值,都能得到相应的函数值,并写出算法步骤,画出程序框图.
解:算法步骤如下:
S1:输入x值;
S2:判断x的范围,
若x≥0,则y=x2-3;否则y=2x2-6;
S3:输出y值.
程序框图如图所示:
伪代码如下:
INPUT “x=”;x
IF x>=0 THEN
y=x∧2-3
ELSE
y=2]2-6
END IF
PRINT “y=”;y
END
20.(本小题满分12分)设计一个伪代码,计算12+42+72+…+1002的值,并画出程序框图.
解:程序框图如图所示:
根据程序框图,编写如下伪代码:
WHILE语句
或用UNTIL语句
21.(本小题满分12分)某高中男子体育小组的100 m赛跑的成绩(单位:s)如下:
12.1,13.2,12.7,12.8,12.5,
12.4,12.7,11.5,11.6,11.7.
从这些成绩中搜索出小于12.1 s的成绩,画出程序框图,编写相应的伪代码.
解:程序框图如图所示:
伪代码如下:
22.(本小题满分12分)以下是某次考试中某班15名同学的数学成绩:
72 , 91 , 58 , 63 , 84 , 88 , 90 , 55 , 61 , 73 , 64 , 77 , 82 , 94 , 60.要求将80分以上的同学的平均分求出来,画出程序框图.
解:用条件结构来判断成绩是否高于80分,用循环结构控制输入的次数,同时引进两个累加变量S,m,分别计算高于80分的成绩的总和S和人数m.程序框图如图所示.