历年算法与程序设计学业水平考试真题带答案.docx
《历年算法与程序设计学业水平考试真题带答案.docx》由会员分享,可在线阅读,更多相关《历年算法与程序设计学业水平考试真题带答案.docx(17页珍藏版)》请在冰豆网上搜索。
历年算法与程序设计学业水平考试真题带答案
一、选择题
1、流程图是描述()的常用方式。
A、程序B、算法C、数据结构D、计算规则
2、下面不属于算法描述方式的是()。
A、自然语言B、伪代码C、流程图D、机器语言
3、以下运算符中运算优先级最高的是()。
A、+B、^C、>=D、*
4、某程序中三个连续语句如下:
a=1b=2c=b+a它属于()
A、顺序结构B、选择结构C、循环结构D、以上三种都不是
5、穷举法的适用范围是()
A、一切问题B、解的个数极多的问题
C、解的个数有限且可一一列举D、不适合设计算法
6、在现实生活中,人工解题的过程一般分为()
A、理解分析问题→寻找解题方法→用工具计算→验证结果
B、寻找解题方法→理解分析问题→用工具计算→验证结果
C、用工具计算→验证结果→寻找解题方法→理解分析问题
D、用工具计算→验证结果→理解分析问题→寻找解题方法
7、下列关于算法的特征描述不正确的是()
A、有穷性:
算法必须在有限步之内结束B、确定性:
算法的每一步必须确切的定义
C、输入:
算法必须至少有一个输入D、输出:
算法必须至少有一个输出
8、下列哪一个不是用于程序设计的软件()
A、BASICB、C语言C、WordD、Pascal
9、下列可以作为合作变量名的是()
A、a7B、7aC、a-3D、8
10、编程求1+2+3+........+1000的和,该题设计最适合使用的控制结构为()。
A、顺序结构B、分支结构C、循环结构D、选择结构
11、下列步骤不属于软件开发过程的是()
A、任务分析与系统设计B、软件的销售C、代码编写与测试D、软件测试与维护
12.以下程序段运行时,语句k=k+1执行的次数为()次。
k=-10
do
k=k+1
loopwhile(until)k=0
A.9B.10C.11D.12
13.已知x=6,y=5,则以下运算结果为True的是()
A.Not(x>y)B.(x<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;B=C
17.执行下列程序段后,变量y的值为()
x=3:
y=7
DoWhilexx=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
DoWhilexx=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
Ifam=a
Else
m=b
EndIf
Ifm>cThen
m=c
EndIf
Print"M=";m
EndSub
运行结果:
____M=15______
2、
PrivateSubForm_Load()
DimXAsInteger,YAsInteger
Text1.Text=""
X=99:
Y=98:
M=X
IfXM=Y
EndIf
Text1.Text=M
EndSub
运行结果:
_____99________
3、用程序实现函数:
y=|x|
PrivateSubForm_Load()
DimXASInteger,YASInterger
Text1.Text=””
X=InputBox(“X=?
”)
ifx>=0then
Y=X
Else
Y=-X
EndIf
Text1.Text=Y
EndSub
4、计算1+2+3+……+100的值。
PrivateSubForm_Activate()
Dimi,sASInteger
s=0
Fori=1TO100
s=s+i
Nexti
Print“S=”;s
EndSub
5、计算1+3+5+……+99的值。
PrivateSubForm_Activate()
Dimi,sASInteger
s=0
fori=1to99Step2
s=s+i
Nexti
Print“S=”;s
EndSub
6、分析程序,写出计算结果
PrivateSubForm_Activate()
Dimi,Sasinteger
S=1
Fori=1to4
S=S*i
Nexti
Print“S=”;S
EndSub
运行结果:
_____S=24_________
7、计算1+1/2+……+1/50的值。
PrivateSubForm_activate()
Dimi,sasinteger
s=0
Fori=1to___50step1______
s=___s+1/i________
Nexti
Print“S=”;s
EndSub
8、分析程序,写出计算结果
PrivateSubForm_Activate()
DimIAsInteger,SAsInteger
S=0
ForI=2To6
S=S+I
NextI
Print"S=";S
EndSub
运行结果:
_______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
Nexti
print“Sum=”;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
Loop
Printa,b
屏幕上显示的内容是:
__6__,__55__
13.完善程序,打印如下图形
*
**
***
****
*****
******
ForI=1To6
Forj=1To__i__
Print"*";
Nextj
Print
__Nexti______________
14.执行下列程序段后,变量x的值为:
(9)
x=3;y=77
DOWHILExx=x+2
LOOP
15.
p=0:
n=5
ForI=1Ton
p=p+I*2
Ifp>=10ThenExitFor
NextI
Printp答案:
__12__
16.
Ch=”DEF”
Fori=1to3
ch=ch&mid(ch,i,1)
Nexti
Printch答案:
__DEFDEF_____
17、分析程序,写出执行结果
(VB代码)
PrivateSubForm_Activate()
Dima,b,casinteger
a=15
b=60
c=38
ifaIfm>cthenm=c
Print“M=”;m
EndSub执行结果:
______M=15________
18、分析程序,写出执行结果
(VB代码)
PrivateSubForm_Activate()
Dimi,sasinteger
s=0
fori=2to6
s=s+I
Nexti
Print“S=”;s
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和的程序,在空缺部分填上相应的语句。
PrivateSubForm_Activate()
DimiAsInteger,sumAsInteger
sum=0
Fori=1To100
sum=sum+_______________
Nexti
Print“sum=”;sum
EndSub1/i
3、写出程序结果:
PrivateSubForm_Activate()
DimchAsString,iAsInteger
ch=“DEF”
Fori=1To3
ch=ch&Mid(ch,i,1)
Nexti
Printch
EndSub答案:
________________________
DEFDEF
4.表一是某种绘图软件的部分指令,如要根据表中的指令画出图一的图形,请根据分析填空:
FORWARD4FORWARD5LEFT120
5.写出程序结果:
PrivateSubCommand1_Click()
DimpAsInteger,iAsInteger,nAsInteger
p=0:
n=5
Fori=1Ton
p=p+i*2
Ifp>=10ThenExitFor
Nexti
Printp
EndSub
答案:
________________________12
6.填补程序:
假设你从今年开始为“希望工程”存钱,今年存入100元钱,第二年存入200元钱,第三年存入300元钱……依此类推,问:
20年时间你将为“希望工程”存入多少钱?
PrivateSubCommand1_Click()
Dimnasinteger,intsumasinteger
intsum=0
Forn=1to______________20
intsum=intsum+n*100
_______________________nextn
Lb1sum.caption=”两年共存入:
”&intsum&“元”
EndSub
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
EndSub
输出结果:
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元钱……依此类推,问:
20年时间你将为“希望工程”存入多少钱?
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;
8.VB语言中,表示整型数的是(),逻辑型的是(),字符串型的是(),实数型的是().
1、一玻璃球从高空做自由落体运动,在达到地面时速度为98m/s,问:
该玻璃球从高空开始落到地面用了多少时间?
jiexi
2、一张单据上有一个5位数的号码67口口8,其中百位和十位上的数字看不清楚了,但知道该数能够被78整除,也能被67整除。
设计一个算法求出该号码。
qiongju
4、qiongju直角三角形一条直角边长是24cm,其余的边长都是正整数,而且斜边的长度不超过50cm,求出所有满足条件的三角形。
___________________