《《算法與程序設(shè)計》試卷二》由會員分享,可在線閱讀,更多相關(guān)《《算法與程序設(shè)計》試卷二(12頁珍藏版)》請在裝配圖網(wǎng)上搜索。
1、
《算法與程序設(shè)計》測試題(二)
考試時間: 90 分鐘 滿分: 100 分
第一卷
一、 單項選擇題:(共 20 個空,每空 2 分,共 40 分)
1.下面關(guān)于算法的認識,錯誤的是 [ ]。
A. 算法是解決問題的方法和步驟
B. 算法有一個或多個的輸出
C. 算法就是計算機程序
D. 算法的步驟必須是有限的
2.關(guān)于數(shù)組的說法,下面錯誤的是 [ ]。
A. 同一數(shù)組中的數(shù)據(jù)類型一定相同
B. 數(shù)組元素個數(shù)是有限的
C. 可以定義字符串類型的數(shù)組
D. 同一個程序的數(shù)組
2、數(shù)據(jù)類型一定相同
3.設(shè)置窗體標(biāo)題時,應(yīng)改變窗體的 [ ]屬性。
A. Name
B. Font
C. BackColor
D. Caption
4.不能使用 “ do作”為變量名的原因是 [ ]。
A.由英文字母開頭
B.后面沒有使用數(shù)字
C.使用了英文單詞
D.使用了關(guān)鍵字
5.代數(shù)式 對應(yīng)的 VB 表達式是 [ ]。
A. (a + b)/(c - d)
B. (a + b)/c –d
1 / 11
C. a + b/(c - d)
D. a +
3、 b/c - d
6.若變量 a 的值為 34000,則變量 a 的數(shù)據(jù)類型不可能為 [ ] 。
A. integer
B. long
C. single
D. double
如圖所示的流程圖為求 x 的絕對
值的算法。請回答 7-8 題:
7.根據(jù)算法,流程圖中①處的
內(nèi)容是 [ ] 。
A. 輸入 -x
B. 輸入 x
C. 輸入 y
D. 輸入 -y
8.該算法包含了 [ ] 控制結(jié)構(gòu)。
A. 順序結(jié)構(gòu)
B. 選擇結(jié)構(gòu)
C. 順序和循環(huán)結(jié)構(gòu)
4、D. 順序和選擇結(jié)構(gòu)
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
2 / 11
Print “VB”
Next i
則語句 print “VB的”執(zhí)行次數(shù)是 [ ] 。
A. 4
B. 3
C. 2
D. 1
11.下面一組語句能令數(shù)組的兩個元素 a(i)與 a(j)交換數(shù)據(jù)
5、的是 [ ]
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
6、,則運行 Print a; "+"; b; "="; a + b 的結(jié)果是 [ ]
A. 4+5=9
B. a+b=9
C. a+b=a+b
D. 9
14.下列循環(huán)語句中循環(huán)次數(shù)無限的是 [ ]。
A. x=0
Do
x=x+1
Loop untilx>0
B. x=1
Do
3 / 11
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
7、
Loop until x=8
15.關(guān)于函數(shù)與過程的說法,正確的是 []。
A. 過程結(jié)束時一定要返回一個值
B. 過程內(nèi)一定要定義變量
C. 可以在表達式中調(diào)用過程
D. 函數(shù)一定要有返回值
16.二分法查找的前提是 [
]。
A. 被查找數(shù)據(jù)元素個數(shù)是奇數(shù)
B. 被查找數(shù)據(jù)元素個數(shù)是偶數(shù)
C. 被查找數(shù)據(jù)元素是有序的
D. 被查找數(shù)據(jù)元素是無序的
17.當(dāng)一個順序文件通過 [
]方式打開以后,才能向此文件寫入數(shù)據(jù)。
A. for input
或 for
8、output
B. for input
或 for append
C. for output 或 for append
D. 以上都可以
18.用選擇排序法對數(shù)據(jù) 7,8,3,9,2 從小到大排序,第
3 趟結(jié)果是 [] 。
A. 2,3,7,9,8
B. 3,8,2,7,9
4 / 11
C. 3,2,8,7,9
D. 3,7,8,9,2
19.要從 n 個數(shù)據(jù)元素中 序 找一個元素,最多 找次數(shù)是 [ ]。
A. 1
B. n
C. n/2
9、
D. lgn
20.《 子算 》上有一道 “物不知數(shù) ” : “今有物不知其數(shù),三三數(shù)之剩
二,五五數(shù)之剩三,七七數(shù)之剩二。 物幾何? ” 采用 [ ] 。
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
10、 50
If ( 2) then
s=s*i
else
s= (3)
next i
print “s=”;s
end sub
程序中 (1) 填入 ____________________。
5 / 11
程序中 (2)處應(yīng)填入 ____________________。
程序中 (3)處應(yīng)填入 ____________________。
22.某顧客欲將 300 元全部換成 10 元、20 元、50 元的紙幣(每種面額至少 1
張),請問有幾種換法?
Privat
11、e Sub Form_Click()
Dim a as integer,b as integer,c as integer ,n As integer ’a,b,c分別代表 10,20,50 元面額的張數(shù); 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)處應(yīng)填入 ____________________。
12、
程序中 (2)處應(yīng)填入 ____________________。
程序中 (3)處應(yīng)填入 ____________________。
程序中 (4)處應(yīng)填入 ____________________。
23.編寫遞歸函數(shù)求 5!的值。
Public Function s(n As Integer) As Long
If n = 1 Then
s =( 1)
Else
s = (2)
End If
6 / 11
End Function
Private Sub form_Clic
13、k() 調(diào)用遞歸函數(shù),顯示結(jié)果
Print "s(5)="; (3)
End Sub
程序中 (1)處應(yīng)填入 ____________________。
程序中 (2)處應(yīng)填入 ____________________。
程序中 (3)處應(yīng)填入 ____________________。
三、閱讀程序,寫出運行后輸出的結(jié)果:(前兩題每題 5 分,后兩題每題 10 分,共 30 分 )
24.
Private Sub Command1_Click() dim x as integer,y as single x
14、= Round(5.4)
Select Case x
Case 1 To 5
y = 4 + Abs(x)
Case 6 To 10
y = 50 * x
Case Else
y = x ^ 2
End Select
Print y
End sub
7 / 11
25.
Private Sub Command1_Click()
Dim m as integer,n as integer
Dim t
15、 As Integer
m = 10
n = m * 2
t = m * n
print t
End Sub
運行結(jié)果 :
26.
Private Sub Command1_Click()
Dim a as integer, b as integer, t as integer
Dim ma as integer, mb as integer, n As Integer
a = 12: b = 8: n =
16、 20
t = 0
Do
t = t + 1
ma = t * a Mod n
mb = t * b Mod n
Loop Until ma = mb
8 / 11
Print t
End Sub
運行結(jié)果:
27.
Private Sub Command1_Click()
Dim m1 as integer,m2 as inte
17、ger
Dim j as integer, a(5) as integer
For j = 1 To 5
a(j) = InputBox("")
Next j
m2 = 1
m1 = a(1)
For j = 2 To 5
If a(j) > m1 Then
m1 = a(j)
m2 = j
End If
Next j
Print m1
9 / 11
Print m2
End sub
若輸入的數(shù)分別是 237, 126, 87, 48, 498,則輸出結(jié)果
18、是什么?
運行結(jié)果:
10 / 11
答案: 1.C
2.D
3.D
4.D
5.C
6.A
7.B
8.D
9.C
10.C
11.A
12.C
19、
13.A
14.D
15.D
16.C
17.C
18.A
19.B
20.C
21. (1)1
(2)i mod 2=1
(3) s*(-i)
22. (1)1(2)30(或 24,或其他通過數(shù)學(xué)方式推理出來的結(jié)果 )
(3)a*10+b*20+C*50=300(4)n+1
23. (1)1 (2) s(n-1)*n ( 3) s(5)
24. 9
25. 200
26. 5
27. 4985
11 / 11