历年算法与程序设计学业水平考试真题带答案文档格式.docx
《历年算法与程序设计学业水平考试真题带答案文档格式.docx》由会员分享,可在线阅读,更多相关《历年算法与程序设计学业水平考试真题带答案文档格式.docx(16页珍藏版)》请在冰豆网上搜索。
5)or(y>
6)C.(x>
=6)And(y>
=5)D.Not(x>
4)
14.模块化程序设计方法反映了结构化程序设计的()基本思想。
A、自顶向下,逐步求精B、面向对象C、自定义函数、过程D、可视化编程
15、一位同学想编程解决“韩信点兵”的问题,他制定的如下工作过程中,最恰当的是()
A、设计算法,编写程序,提出问题,运行程序,得到答案
B、分析问题,编写程序,设计算法,运行程序,得到答案
C、分析问题,设计算法,编写程序,运行程序,得到答案
D设计算法,提出问题,编写程序,运行程序,得到答案
16、交换变量A和B,语句为()
A.A=B;
B=C;
C=AB.C=A;
A=B;
B=C
C.A=B;
B=AD.C=A;
B=A;
17.执行下列程序段后,变量y的值为()
x=3:
y=7
DoWhilex<
Sqr(y)
x=x+2
Loop
A、7B、8C、10D、9
18.在VB程序设计中交换变量x和y的值,应使用的赋值语句是()
A、t=x:
y=x:
y=tB、x=y:
y=t:
t=xC、x=y:
y=xD、t=x:
x=y:
y=t
19.下列程序执行后A、B的值是()
A=5
B=6
A=B:
B=A:
A=B
A、5、6B、6、6C、6、5D、5、5
20.流程图中表示判断框的是()
A、钜形框B、菱形框C、圆形框D、椭圆形框
21.以下描述中最适合用计算机编程来处理的是()。
A、确定放学回家的路线
B、计算某个同学期中考试各科成绩部分
C、计算100以内的奇数平方和
D、在因特网上查找自己喜欢的歌曲
22.下列程序执行后A、B的值是()。
A=30
B=40
A=A+B:
B=A-B:
A=A-B
A、30、40B、40、40C、40、30D、30、30
23.VB语言中,下列各种基本数据类型说明符中表示整型数的是()。
A、BooleanB、IntegerC、SingleD、String
24.执行下列程序段后,变量x的值为()。
x=3:
y=77
DoWhilex<
Sqr(y)
x=x+2
Loop
A、7B、8C、10D、9
25.下面是用VB编写的求1+1/2+1/3+……+1/100和的程序,该程序循环终止时i的值是多少?
()
PrivateSubForm_Activate()
DimiAsInteger,sumAsInteger
sum=0
Fori=1To100
sum=sum+1/i
Nexti
Print“sum=“;
sum
EndSub
A、i=102B、i=100C、i=101D、无法判断
26、由语句:
DimK(11)AsLong,判断下列结论中错误的是()。
A、语句定义了数组K,它的下标是从0到11
B、数组K共有12个分量
C、数组K的各个分量都是长整型数
D、数组K的各个分量的值将按从小到大的顺序自动排列
27、下列是合法变量名的是:
A、a-3B、7C、a$D、text7
28、以下不属于算法基本特征的是()。
A、可执行性B、确定性C、有穷性D、无限性
29、用计算机程序解决问题时,调试程序和检测结果的目的是()
A、前者用于检查语法是否正确,后者检查能否按要求完成任务
B、前者检查算法是否正确,后者检查是否有语法错误
C、前者用于检查语法是否正确,后者检查是否有病毒
D、两者无区别
30、下面属于逻辑运算符的是()
A、orB、FalseC、TrueD、<
>
31、下列程序段运行后,变量max的值为()。
a=5
b=10
max=a
IFb>
maxThenmax=b
A、5B、10C、5和10D、其他三项都不是
32、以下属于程序的基本控制结构的是()
A、星形结构B、选择结构C、网络结构D、平行结构
二、程序分析题
1、PrivateSubForm_Activate()
Dima,b,cAsInteger
a=15:
b=60:
c=38
Ifa<
bThen
m=a
Else
m=b
EndIf
Ifm>
cThen
m=c
Print"
M="
;
m
运行结果:
____M=15______
2、
PrivateSubForm_Load()
DimXAsInteger,YAsInteger
Text1.Text="
"
X=99:
Y=98:
M=X
IfX<
YThen
M=Y
Text1.Text=M
_____99________
3、用程序实现函数:
y=|x|
DimXASInteger,YASInterger
Text1.Text=””
X=InputBox(“X=?
”)
ifx>
=0then
Y=X
Else
Y=-X
EndIf
Text1.Text=Y
EndSub
4、计算1+2+3+……+100的值。
Dimi,sASInteger
s=0
Fori=1TO100
s=s+i
Nexti
Print“S=”;
s
5、计算1+3+5+……+99的值。
s=0
fori=1to99Step2
s=s+i
Nexti
s
6、分析程序,写出计算结果
PrivateSubForm_Activate()
Dimi,Sasinteger
S=1
Fori=1to4
S=S*i
Print“S=”;
S
_____S=24_________
7、计算1+1/2+……+1/50的值。
PrivateSubForm_activate()
Dimi,sasinteger
s=0
Fori=1to___50step1______
s=___s+1/i________
Print“S=”;
8、分析程序,写出计算结果
DimIAsInteger,SAsInteger
S=0
ForI=2To6
S=S+I
NextI
S="
S
_______S=20___________
9.p=1
Fori=1to5
p=p+i
nexti
print“I,P分别为:
”;
i,p
输出:
I,P分别为:
_6___,___16___
10.Sum=0
Fori=1To100
sum=sum+2
print“Sum=”;
__Sum=200________
11.下面是1+1/2+1/3+…+1/100的和的程序,该程序循环终止时i的值是多少?
(101)
sum=0
Fori=1To100
sum=sum+1/i
nexti
12.a=1;
b=0
Dowhilea<
=5
b=b+a*a
a=a+1
Printa,b
屏幕上显示的内容是:
__6__,__55__
13.完善程序,打印如下图形
*
**
***
****
*****
******
ForI=1To6
Forj=1To__i__
*"
Nextj
Print
__Nexti______________
14.执行下列程序段后,变量x的值为:
(9)
x=3;
y=77
DOWHILEx<
sqr(y)
x=x+2
LOOP
15.
p=0:
n=5
ForI=1Ton
p=p+I*2
Ifp>
=10ThenExitFor
Printp答案:
__12__
16.
Ch=”DEF”
Fori=1to3
ch=ch&
mid(ch,i,1)
Printch答案:
__DEFDEF_____
17、分析程序,写出执行结果
(VB代码)
PrivateSubForm_Activate()
Dima,b,casinteger
a=15
b=60
c=38
ifa<
bthenm=aelsem=b
Ifm>
cthenm=c
Print“M=”;
m
EndSub执行结果:
______M=15________
18、分析程序,写出执行结果
Dimi,sasinteger
s=0
fori=2to6
s=s+I
EndSub
执行结果:
____S=20_______
三、程序部分大题:
1.题目中是一个求二次函数曲线顶点坐标的VB程序,在运行是Text1、Text2、Text3分别输入3、6、9三个数,请问Text4、Text5输出结果分别就应为多少?
(每空4分,共8分)
-1,6
2.下面是用VB编写的求1+1/2+1/3+……+1/100和的程序,在空缺部分填上相应的语句。
DimiAsInteger,sumAsInteger
sum=0
Fori=1To100
sum=sum+_______________
Print“sum=”;
EndSub1/i
3、写出程序结果:
DimchAsString,iAsInteger
ch=“DEF”
Fori=1To3
ch=ch&
Mid(ch,i,1)
Printch
EndSub答案:
________________________
DEFDEF
4.表一是某种绘图软件的部分指令,如要根据表中的指令画出图一的图形,请根据分析填空:
FORWARD4FORWARD5LEFT120
5.写出程序结果:
PrivateSubCommand1_Click()
DimpAsInteger,iAsInteger,nAsInteger
p=0:
n=5
Fori=1Ton
p=p+i*2
Ifp>
=10ThenExitFor
Printp
答案:
________________________12
6.填补程序:
假设你从今年开始为“希望工程”存钱,今年存入100元钱,第二年存入200元钱,第三年存入300元钱……依此类推,问:
20年时间你将为“希望工程”存入多少钱?
PrivateSubCommand1_Click()
Dimnasinteger,intsumasinteger
intsum=0
Forn=1to______________20
intsum=intsum+n*100
_______________________nextn
Lb1sum.caption=”两年共存入:
”&
intsum&
“元”
7.某快递公司规定:
快件不超过1公斤的,快递费10元,超过1公斤的部分,按每公斤5元计费,编写快递费计算程序(运费为S,重量为P)
1010+5*(P-1)
8.写出程序结果:
(8分,每空4分)
PrivateSubForm_Activate()
DimpAsInteger,iAsInteger
p=1
Fori=1To5
p=p+i
Nexti
Print“IP分别为:
i,p
输出结果:
IP分别为:
____________,____________616
9.PrivateSubCommand1_Click()
DimaAsInteger,bAsInteger
a=1:
b=0
DoWhilea<
=5
b=b+a*a
a=a+1
Loop
Printa,b
EndSub运行结果:
_____________________________655
10.小华从今年开始为“希望工程”存钱,计划今年存入100元钱,第二年存入200元钱,第三年存入300元钱……依此类推,问:
sum+n*100
11.补全流程图:
编制VB程序,在界面上输入一个不为零的自然数,判断它是否是质数。
(6分)
i=i+1
12.写程序结果:
Text2=“34”
a=(Val(Text2)–32)*5/2
Printa
____________5
四、算法题分析题:
我们在用计算机解决问题时,常采用的算法有解析法、穷举法、递归法、冒泡排序法、选择排序法等,分析下列问题应采用哪种算法解决?
1、求解“百鸡问题”:
已知公鸡每只3元,母鸡每只5元,小鸡每3只1元。
用100元买100只鸡,问每种鸡应各买多少?
答案:
___________________穷举法
2、国内特快专递每200克为一个计费单位,200克以内20元,200克以上每续重200克(不足200克按200克计算)6元,现在要编写一个程序输入包裹重量自动计算出价格。
解决上述问题,哪种算法最合适?
___________________解析法
3、已知:
f
(1)=1,f
(2)=3
当n>
2时,f(n)=2f(n-1)+3f(n-2)
编程求f(100)的值。
解决上述问题,哪种算法最为合适?
___________________递归法
4、在学校举办的运动会中,要对运动员成绩进行公布,现在要求写一个程序自动完成成绩编排,请问最好采用哪种算法解决?
_______________________冒泡排序法
5.如”ab”+”cd”的结果是abcd那么”27”+”23”的运算结果是:
2723
6.要实现变量M与变量N的值进行交换,可用语句:
()
7.下列程序执行后,A,B的值是:
(40,30)
A=30;
B=40;
A=A+B;
B=A-B;
A=A-B;