《算法与程序设计》测试题(二)
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
《算法与程序设计》测试题(二)
考试时间:90分钟满分:100分
第一卷
一、单项选择题:(共20个空,每空2分,共40分)
1.下面关于算法的认识,错误的是()。
A.算法是解决问题的方法和步骤B.算法有一个或多个的输出
C.算法就是计算机程序D.算法的步骤必须是有限的
2.关于数组的说法,下面错误的是()。
A.同一数组中的数据类型一定相同B.数组元素个数是有限的
C.可以定义字符串类型的数组D.同一个程序的数组数据类型一定相同3.设置窗体标题时,应改变窗体的()属性。
A.Name B.Font C.BackColor D.Caption
4.不能使用“do”作为变量名的原因是()。
A.由英文字母开头B.后面没有使用数字
C.使用了英文单词D.使用了关键字
5.代数式对应的VB表达式是()。
A.(a + b)/(c - d) B.(a + b)/c –d C.a + b/(c - d) D.a + b/c - d
6.若变量a的值为34000,则变量a的数据类型不可能为()。
A.integer B.long C. single D. double
如图所示的流程图为求x的绝对值的算法。请回答7-8题:
7.根据算法,流程图中①处的内容是()。
A.输入-x B.输入x C.输入y D.输入-y
8.该算法包含了()控制结构。
A.顺序结构B.选择结构C.顺序和循环结构D.顺序和选择结构
9.在VB语言中,下列正确的赋值语句是()。
A.a + a = 2 B.3 * a = c –5 C.a = 2 * a D.a + 3 = b
10.在VB中,假定有以下程序段:
For i=1 to 3 step 2
Print “VB”
Next i
则语句print “VB”的执行次数是()。
A.4 B.3 C.2 D.1
11.下面一组语句能令数组的两个元素a(i)与a(j)交换数据的是()。
A.temp=a(i): a(i)=a(j): a(j)=temp B.temp=i: i=j: j=temp
C. temp=a(i): a(j)=a(i): a(i)=temp D.temp=a(j): a(i)=a(j): a(j)=temp
12.在VB语言中,表示“a大于5或b小于0”的正确表达式是()。
A.0 < b or a < 5 B.a > 5 And b < 0
C.a > 5 Or b < 0 D.a > 0 And b < 5
13.若a = 4,b = 5,则运行Print a; "+"; b; "="; a + b的结果是()。
A.4+5=9 B.a+b=9 C.a+b=a+b D.9
14.下列循环语句中循环次数无限的是()。
A.
x=0
Do
x=x+1
Loop untilx>0
B.
x=1
Do
x=2*x+1
Loop untilx=3
C.
x=5
Do
x=x-2
Loop until x>=3
D.
x=1
Do
x=x+2
Loop until x=8
15.关于函数与过程的说法,正确的是()。
A.过程结束时一定要返回一个值B.过程内一定要定义变量
C.可以在表达式中调用过程D.函数一定要有返回值
16.二分法查找的前提是()。
A.被查找数据元素个数是奇数B.被查找数据元素个数是偶数
C.被查找数据元素是有序的D.被查找数据元素是无序的
17.当一个顺序文件通过()方式打开以后,才能向此文件写入数据。
A.for input 或for output B.for input 或for append
C.for output 或for append D.以上都可以
18.用选择排序法对数据7,8,3,9,2从小到大排序,第3趟结果是()。
A.2,3,7,9,8 B.3,8,2,7,9 C.3,2,8,7,9 D.3,7,8,9,2
19.要从n个数据元素中顺序查找一个元素,最多查找次数是()。
A.1B.n C.n/2 D.lgn
20.《孙子算经》上有一道“物不知数”问题:“今有物不知其数,三三数之剩二,五五数之剩三,七七数之剩二。问物几何?”该问题应采用()。
A.解析法B.查找法C.穷举法D.递归算法
第二卷
二、填空题(共10个空,每空3分,共30分)
21.编程计算s=1*(-2)*3*(-4)*……*49*(-50)
Private Sub Form_Click()
Dim s as integer,i as single
s= (1)
For i=1 to 50
If (2)then
s=s*i
else
s= (3)
next i
print“s=”;s
end sub
程序中(1)处应填入_______________。
程序中(2)处应填入_______________。
程序中(3)处应填入_______________。
22.某顾客欲将300元全部换成10元、20元、50元的纸币(每种面额至少1张),请问有几种换法?
Private Sub Form_Click()
Dim a as integer,b as integer,c as integer ,n As integer
’a,b,c分别代表10,20,50元面额的张数;n代表换法
n= (1)
For a=1 to 30
For b=1 to (2)
For c=1 to30
If (3)then n=(4)
Next c
Nextb
Next a
print“n=”;n
end sub
程序中(1)处应填入____________________ 。
程序中(2)处应填入____________________。
程序中(3)处应填入_____________________ 。
程序中(4)处应填入_____________________ 。
23.编写递归函数求5!的值。
Public Function s(n As Integer) As Long
If n = 1 Then
s =(1)
Else
s = (2)
End If
End Function
Private Sub form_Click()' 调用递归函数,显示结果
Print "s(5)="; (3)
End Sub
程序中(1)处应填入_________________ 。
程序中(2)处应填入__________________ 。
程序中(3)处应填入__________________ 。
三、阅读程序,写出运行后输出的结果:(前两题每题5分,后两题每题10分,共30分)24.
Private Sub Command1_Click() dim x as integer,y as single
x = Round(5.4)