Tải bản đầy đủ (.pdf) (14 trang)

Chương 7 12 Kỹ thuật lập trình

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (1.42 MB, 14 trang )

Chương 7
Cho biết kết quả của phép toán sau :

Câu 1 :
23 \ 3.6
a. 4
b. 5
c. 6
d. 6.39
Câu 2 :
Chọn phát biểu đúng
a. Các toán tử +, - , *, / đều chỉ là các tốn tử 2 ngơi.
b. Mỗi kí tự đặc biệt +, -, * chỉ miêu tả một tốn tử.
c. Một kí tự có thể miêu tả nhiều toán tử khác nhau,
ngữ cảnh sẽ được dùng để giải quyết nhầm lẫn.
d. Cả 3 câu trên đều đúng.
Câu 3 :
Giữa các toán tử luận lý, độ ưu tiên giảm
dần theo thứ tự:
a. Not, And, Or, Xor, Eqv, Imp.
b. Not, Or, And, Xor, Eqv, Imp.
c. And, Or, Xor, Not, Eqv, Imp.
d. Xor, Not, And, Or, Eqv, Imp.
Câu 4 :
Cho biết giá trị của biến MyCheck :
Dim MyCheck As Boolean, T As Boolean, F As
Boolean
T = True
F = False
MyCheck = Not T Or F Xor F And T
a. False


b. True
c. Null
d. Cả 3 câu trên đều sai
Câu 5 :
Giả sử ta có khai báo mảng sau
Dim a(1 to 10) as String
Lệnh nào trong các lệnh sau đây là lệnh gán hợp lệ nếu
được đặt ngay sau lệnh khai báo trên :
a. a(1) = a(1) + 10
b. a(1) = a(1) & 10
c. a(1) & “a” = a(1)
d. a(1) + a(2) =a(1)
Câu 6 :
Cho đoạn mã sau trong VB, chọn câu đúng
Sub Form_Click()
Dim a As Byte
a = 16.9 Mod 3.4
MsgBox a
End Sub
a. Hộp thoại có nội dung là 5 sẽ xuất hiện khi người
dùng click chuột vào form
b. Hộp thoại có nội dung là 1 sẽ xuất hiện khi người
dùng click chuột vào form
c. Hộp thoại có nội dung là 0 sẽ xuất hiện khi người
dùng click chuột vào form
d. Hộp thoại có nội dung là 2 sẽ xuất hiện khi người
dùng click chuột vào form
Câu 7 :
Câu nào đúng trong các câu sau :
a. 123 XOR 456 cho kết quả là 435

b. 123 AND 456 cho kết quả là 72
c. Cả câu a và b đều đúng
d. Cả câu a và b đều sai
Câu 8 :
Câu nào sau đây là đúng :
a. Nếu khơng có phát biểu Option Compare Text thì
Báo Gêpa

biểu thức “abCDef” = “ABcdEF” là đúng
b. Nếu có phát biểu Option Compare Text thì biểu thức
“abCDef” = “ABcdEF” là đúng
c. Nếu khơng có phát biểu Option Compare Text thì
biểu thức “abCDef” < “ABcdEF” là đúng
d. Tất cả các câu trên điều sai.
Câu 9 :
Xem đoạn chương trình sau và chọn câu
đúng nhất:
Private i As Integer
...
i = 3+--+--1
a. lệnh gán trên bị lỗi vì viết biểu thức khơng đúng cú
pháp.
b. lệnh gán trên bị lỗi vì giữa 2 tốn hạng chỉ có thể có
1 tốn tử (chứ khơng phải tới 6 như lệnh gán viết).
c. khi chạy, lệnh gán trên sẽ gán trị 4 vào biến i.
d. khi chạy, lệnh gán trên sẽ gán trị 2 vào biến i.
Câu 10 : Xem đoạn chương trình sau và chọn câu
đúng nhất:
Private i As Integer
...

i = 3*--*--1
a. lệnh gán trên bị lỗi vì viết biểu thức khơng đúng cú
pháp.
b. lệnh gán trên bị lỗi vì giữa 2 tốn hạng chỉ có thể có
1 tốn tử (chứ khơng phải tới 6 như lệnh gán viết).
c. khi chạy, lệnh gán trên sẽ gán trị 3 vào biến i.
d. khi chạy, lệnh gán trên sẽ gán trị -3 vào biến i.
Câu 11 : Xem đoạn chương trình sau và chọn câu
đúng nhất:
Dim i
‘variant
i = 10 / 3 - 10 \ 3
MsgBox i
a. lệnh gán trên bị lỗi vì viết biểu thức khơng đúng cú
pháp.
b. khi chạy, máy sẽ hiển thị trị của i là 0.
c. khi chạy, máy sẽ hiển thị trị của i là
0.333333333333333
d. tất cả các câu trên đều sai.
Chương 8
Câu 1 :
Cho đoạn chương trình sau
Dim a(1 to 5) as Integer, i as Integer, k as Integer
k=0
For i =1 to 5
If a( i ) = 2 Then
k=i
Exit For
End If
Exit For

Next i
Giả sử các giá trị của dãy a lần lượt là a(1)=1, a(2)= 2,
a(3)= 4, a(4)= -1, a(5)=2. Giá trị của biến k sau khi
chạy chương trình trên là
a. k = 5
b. k = 2
c. k = 0
d. k nhận giá trị không xác định

facebook.com/nguyenvanduc.bao

good luck


Đoạn chương trình sau dùng cho 2 câu kế tiếp
1 Dim aN as Integer, aN1 as Integer, aN2 as Integer
2 i =0
3 aN1=0
4 aN2=1
5 Do
6
aN= aN1 + aN2
7
Print aN
8
aN1 = aN2
9
aN2 = aN
10
i = i +1

11 Loop While i < 5
Câu 2 :
Kết quả in ra là
a. 1, 2, 3, 4, 5
b. 1, 2, 3, 5, 8
c. 0, 1, 1, 2, 3, 5
d. 1, 1, 2, 3, 5, 8
Câu 3 :
Nếu thay dòng 5 bằng Do Until i >= 5 và
dòng 11 bằng Loop, kết quả in ra là
a. 1, 2, 3, 4, 5
b. 1, 2, 3, 5, 8
c. 0, 1, 1, 2, 3, 5
d. 1, 1, 2, 3, 5, 8
Câu 4 :
Cho đoạn chương trình VB sau :
Dim a as Byte, b as Byte, c as Byte, bytMys as Byte
a=3
b=5
c=4
bytMys = a
If a < b Then
If b < c Then
bytMys = c
End If
Else
bytMys = b
End If
Khi chạy đoạn chương trình trên thì bytMys sẽ có giá
trị :

a. 3
b. 4
c. 5
d. Đoạn chương trình trên sẽ báo lỗi
Câu 5 :
Trong vòng lặp For … Next, giả sử ta biết
cận dưới là a, cận trên là b (b>=a) và step là 1. Số lần
lặp của vịng lặp này ln là:
a. b – a + 1
b. b – a
c. Có thể khơng xác định được
d. Cả 3 câu trên đều sai.
Câu 6 :
Cho đoạn code VB sau :
i=1
n= 5
tong = 0
Do While i<=n
tong = tong + i
i = i+1
Loop
Báo Gêpa

Sau khi đoạn lệnh trên được thực thi thì giá trị của các
biến sẽ là :
a. tong = 10 ; i = 5
b. tong = 15 ; i = 6
c. tong = 15 ; i = 5
d. tong = 10 ; i = 6
Câu 7 :

Cho đoạn chương trình VB sau :
N = 10
Dem = 0
Do While N <= 10
Dem = Dem + 1
N = N +2
If N Mod 5 = 2 Then
Exit Do
End If
Loop
MsgBox Dem
a. Đoạn chương trình trên sẽ bị lặp vơ tận ở vịng lặp
Do While.
b. Kết quả in ra trong hộp thoại là 0 vì thân vịng lặp
Do While không được thực thi
c. Kết quả in ra trong hộp thoại là 1.
d. Kết quả in ra trong hộp thoại là 10.
Câu 8 :
Xét đoạn chương trình VB sau :
Dim s, a As Byte
a=1
s=0
Do
s=s+a
a=a+1
Loop While a < 255
Chọn phát biểu đúng :
a. Giá trị của biến S sau vòng lặp là tổng các số nguyên
từ 1 đến 255.
b. Giá trị của biến S sau vòng lặp là tổng các số nguyên

từ 1 đến 254.
c. Đoạn lệnh trên không thực thi được vì sai cú pháp
d. Đoạn lệnh trên sẽ bị báo lỗi khi chạy chương trình vì
tràn bộ nhớ (overflow) .
Đáp án : câu b.
Câu 9 :
Cho đoạn chương trình sau
Private Static Sub Increase()
Dim x1 As Integer
Dim x2 As Integer
x1 = x1 + 1
x2 = x2 + x1
End Sub

Call Increase
Call Increase

Kết quả của x1, x2 sau hai lần gọi thủ tục increase :
a. x1=1, x2=1
b. x1=1, x2=2
c. x1=2, x2=3
d. Cả ba câu a, b, c đều không đúng.

facebook.com/nguyenvanduc.bao

good luck


Cho đoạn chương trình sau (sử dụng cho ba câu kế tiếp)
1. Public Sub Increase(ByRef m As Integer, n As

Integer)
2.
m=1
3.
n=m+n
4. End Sub
5. Public Sub Call_Sub()
6.
Dim m As Integer
7.
Dim n As Integer
8.
m=2
9.
n=2
10. Call Increase(m, n)
11. MsgBox "m=" & CStr(m) & ", n=" & CStr(n)
12. End Sub
Câu 10 : Các thông số m, n ở dòng 1
a. Cả m, n đều được truyền theo giá trị.
b. Cả m, n đều được truyền bằng tham khảo.
c. m được truyền theo giá trị, n được truyền bằng tham
khảo.
d. m được truyền bằng tham khảo, n được truyền theo
giá trị.
Câu 11 : Giá trị của m, n sau dòng lệnh 11 sẽ xuất ra

a. m=2, n=2
b. m=1, n=3
c. m=2, n=3

d. m=1, n=2
Câu 12 : Nếu sửa lại dòng lệnh 1 thành
1. Public Sub Increase(ByVal m As Integer, n As
Integer)
Giá trị của m, n sau dòng lệnh 11 sẽ xuất ra là
a. m=2, n=2
b. m=1, n=3
c. m=2, n=3
d. m=1,n=2
Câu 13 : Xem 2 đoạn lệnh VB sau :
i=1
sum = 0
Do While i <= 10
sum = sum + i
If i = 5 then Exit Do
Loop
i=1
sum = 0
While i <= 10
sum = sum + i
If i = 5 then Exit While
Wend
a. 2 đoạn lệnh trên cùng tính tổng 10 số nguyên từ 1 tới
10.
b. 2 đoạn lệnh trên cùng tính tổng 5 số nguyên từ 1 tới
5.
c. 2 đoạn lệnh trên không tương đương nhau.
d. 2 đoạn lệnh trên đều bị sai cú pháp.
Câu 14 : Lệnh nào sau đây thuộc loại lệnh thực thi :
a. Lệnh khai báo các hằng ví dụ Const PI = 3.14

b. Lệnh gán dữ liệu cho biến ví dụ a = 10
Báo Gêpa

c. Lệnh khai báo Declare
d. Cả ba loại lệnh trên
Câu 15 : Cho đoạn chương trình sau :
If a <= 5 Then
a=a+2
ElseIf a >7 Then
a=a+4
Else
a=0
End If
Print a
Khi chạy đoạn chương trình trên với a = 7 thì kết quả in
ra sẽ là :
a. 0
b. 7
c. 9
d. 11
Câu 16 : Hãy cho biết cú pháp không hợp lệ của lệnh
Exit trong VB :
a. Exit For
b. Exit If
c. Exit Property
d. Exit Sub
Câu 17 :
Những lệnh nào sau đây là lệnh thực thi:
a. Lệnh gán.
b. Lệnh khai báo hằng.

c. Lệnh kiểm tra điều kiện luận lý If.
d. Cả a và c đều đúng.
Câu 18 :
Cho đoạn chương trình sau :
n = 1 „n là một biến Integer
If n = 1 Then
n=2
ElseIf n = 2 Then
n=3
Else
n=4
End If
Sau đoạn chương trình trên, giá trị của n sẽ là:
a. 1
b. 2
c. 3
d. 4
Câu 19 :
Cho đoạn chương trình sau :
i = 10
s=0
Do While i >= 2
s=s+i
i=i\2
Loop
Sau đoạn chương trình trên, giá trị của s là bao nhiêu
a. s = 10
b. s = 15
c. s = 18
d. Cả 3 câu trên đều sai. (17)


facebook.com/nguyenvanduc.bao

good luck


Câu 20 : Cho vòng lặp sau :
Dim x As Integer, i As Integer, j As Integer
x = 12
For i=1 to 2
For j=2 to 3
x=x+i+j
Next j
Next i
Hãy xác định giá trị của biến x sau khi chạy
a. 20
b. 28
c. 22
d. 18
Câu 21 : Cho định nghĩa sau :
Dim a As Integer, b As Boolean, c As long, d As String
Phát biểu nào sau đây không đúng ?
a. a = CInt(c * 2)
b. b = (CInt(c) <= (a + 3))
c. c = CStr(CInt(d))
d. d = “Gia tri cua a la “ & CStr(CInt(c) + a)
Câu 22 : Cho vòng lặp :
Do
Call TinhToan
Loop Until Tri > 13

Vòng lặp nào sau đây tương đương vòng lặp trên ?
a. Do
Call TinhToan
Loop While Tri <=13
b. Do
Call TinhToan
Loop While Tri > 13
c. Do
Call TinhToan
Loop While Not (Tri <= 13)
d. Do
Call TinhToan
Loop While Not Not (Tri > 13)
Câu 23 : Các cấu trúc điều khiển VB gồm :
a. Tuần tự + Lặp.
b. Lựa chọn + Lặp.
c. Tuần tự + Lựa chọn + Lặp.
d. Các câu a, b, c đều sai.
Câu 24 : Lệnh if nào không bị lỗi (khi thực thi) :
a. If grade >= 60 then
lblStatus.Caption = “Passed”
Else
lblStatus.Caption = “Failed”
End If
b. If grade >= 60 then lblStatus.Caption = “Passed”
Else
lblStatus.Caption = “Failed”
End If
c. If grade >= 60 then grade = grade +1
lblStatus.Caption = “Failed”

Else
lblStatus.Caption = “Failed”
End If
d. Các câu a, b, c đều không bị lỗi.
Báo Gêpa

Câu 25 : Đoạn chương trình sau cho ra kết qủa gì, khi
chạy với n = 20 :
If n > 100 Then
Print “good1”
ElseIf n > 50 Then
Print “good2”
Else
Print “good3”
End If
a. good1.
b. good2.
c. good3.
d. Đoạn chương trình có lỗi.
Đoạn chương trình sau được dùng cho 2 câu kế tiếp :
x = ""
„ chuỗi rỗng
For Each varX In Array("one", "two", "three")
x = x + varX
Next
Print x
Câu 26 :
Kết quả của đoạn chương trình trên là x sẽ
bằng :
a. one

b. two
c. three
d. Các câu a, b, c đều sai. (onetwothree)
Câu 27 :
Vòng lặp For thực thi bao nhiêu lần ? :
a. 1 lần
b. 2 lần
c. 3 lần
d. không cố định, tùy thuộc lúc chương trình chạy.
Câu 28 :Cho biết chương trình sau sẽ in ra kết quả gì?
Public Sub ASub(x As Long, y As Long, z As Long)
If y < x Then
x=y
ElseIf z < x Then
x=z
End If
MsgBox (x)
End Sub
Private Sub Command1_Click()
Call ASub(15, 47, 36)
End Sub
a. 15
b. 47
c. 36
d. Các câu a, b, c đều sai.
Câu 29 :
Cho biết chương trình sau sẽ in ra kết quả gì
(dấu ":" để ngăn cách nhiều lệnh trên cùng 1 hàng)
Dim x, y, m as integer
x=1:

m=0
While x <= 5
y=x^2: Print y + “ “;
m=m+y: x=x+1
Wend
a. 1 4 9 16 25
b. 2 4 6 8 10
c. 1 4 6 9 25

facebook.com/nguyenvanduc.bao

good luck


d. Các câu a, b, c đều sai.
Câu 30 : Cho biết chương trình sau sẽ in ra kết quả gì?
Dim x, y, m as integer
x=1: m=0
While x <= 5
x=x+1:
y=x^2
Print y + “ “; : m=m+y
Wend
a. 1 4 9 16 25
b. 4 9 16 25 36
c. 1 4 6 9 25 36
d. Các câu a, b, c đều sai.
Câu 31 : Cho biết phát biểu nào sai :
a. Trong VB, Procedure được phân làm 2 loại là Sub và
Function

b. Các thuộc tính Get, Set, Let của đối tượng khơng
phải là procedure
c. Các từ khóa Public, private dùng để xác định tầm vực
của procedure
d. Có 1 câu sai trong các câu a, b, c.
Câu 32 : Đọc đoạn chương trình sau :
Public Sub mmm(x As Long)
For i = x To 2 Step -1
x = x * (i - 1)
Next
End Sub
Private Sub Command1_Click()
Dim x As Long
x = 4 : mmm x : Print x
End Sub
Khi thủ tục Command1_Click chạy, kết quả in ra là :
a. 4
b. 12
c. 24
d. VB báo chương trình có lỗi.
Câu 33 : Đọc đoạn chương trình sau :
Public Function nnn(ByVal x As Long) As Long
Dim y As Long
y=x
For i = 2 To y -1
x=x*i
Next
nnn = x
End Function
Private Sub Command1_Click()

Print nnn(5)
End Sub
Khi thủ tục Command1_Click chạy, kết quả in ra là :
a. 5
b. 120
c. 240
d. VB báo chương trình có lỗi.
Câu 34 :
Đọc đoạn chương trình sau :
Function ppp(Optional x As Integer = 4, y As Integer =6)
ppp = x + y
End Function
Private Sub Command1_Click()
Print ppp(3)
Báo Gêpa

End Sub
Khi thủ tục Command1_Click chạy, kết quả in ra là :
a. 3
b. 9
c. 10
d. VB báo chương trình có lỗi. (y phải có Optional)
Câu 35 :
Đọc đoạn chương trình sau :
Function www(Optional x As Byte = 2, _
Optional y As Byte = 4, Optional z As Byte = 6)
www = (x * y) + z
End Function
Private Sub Command1_Click()
Print www(, , 3);

Print www(3, , 2)
End Sub
Khi thủ tục Command1_Click chạy, kết quả in ra là :
a. 11 14
b. 12 14
c. 14
11
d. Các câu a, b, c đều sai.
Câu 36 :
Đọc đoạn chương trình sau :
Sub qqq(x As Integer, ParamArray y())
Dim Sum As Integer
For i = 0 To x - 1
Sum = Sum + y(i)
Next i
Print Sum
End Sub
Private Sub Command1_Click()
qqq 3, 4, 2, 6
End Sub
Khi thủ tục Command1_Click chạy, kết quả in ra là :
a. 15
b. 9
c. 12
d. Các câu a, b, c đều sai.
Câu 37 :
Cho biết chương trình sau phạm lỗi cú pháp
ở dòng nào ? :
Sub qqq(x As Byte, y As Byte) As Byte
„ dòng 1

Dim Sum As Integer
„ dòng 2
For i = 1 To x
„ dòng 3
y=y+i
„ dòng 4
Next i
„ dòng 5
Sum = y
„ dòng 6
End Sub
a. dòng 1
b. dòng 3
c. dịng 5
d. Chương trình khơng sai dịng nào.
Câu 38 : Ta có thể gán trị cho 1 biến bằng cách :
a. dùng lệnh gán.
b. truyền tham số (theo cơ chế ByRef) cho 1 thủ tục
gán dùm.
c. kết hợp biến với 1 đối tượng giao diện để nhờ người
dùng gán dùm thông qua việc nhập liệu.
d. tất cả các câu trên đều đúng.
Xem đoạn chương trình sau và làm 2 câu sau :
Dim a As Integer, b As Integer, c As Integer

facebook.com/nguyenvanduc.bao

good luck



Private Sub Command1_Click()
If a < 0 Then
a=a-1
b=b-1
If b < 0 Then
c=c-1
Else
c=c+1
End If
Else
a=a+1
b=b+1
c=c+1
End If
End Sub
Câu 39 : Nếu a = -3, b = 4, c = -5 thì sau khi chạy
xong đoạn chương trình trên chúng ta sẽ có :
a. a = -3, b = 4, c = -5
b. a = -4, b = 3, c = -4
c. a = -3, b = 3, c = -4
d. Tất cả đều sai
Câu 40 : Nếu a = -3, b = -4, c = -5 thì sau khi chạy
xong đoạn chương trình trên chúng ta sẽ có :
a. a = -4, b = -4, c = -5
b. a = -3, b = -5, c = -6
c. a = -4, b = -5, c = -6
d. Tất cả đều sai
Cho đoạn chương trình sau :
Private Sub Command1_Click()
Dim i As Byte, s As Byte

i=0:s=0
Do
s=s+i*i
i=i+1
Loop While i < 9
End Sub
Câu 41 : Sau khi chạy đoạn chương trình trên biến s
có giá
trị bằng :
a. 12 + 22 + .... + 82
b. 12 + 22 + .... + 92
c. Chương trình báo lỗi
d. Tất cả đều sai
Xem đoạn chương trình sau và làm 2 câu sau :
Dim i As Byte, s As Byte
Private Sub Command1_Click()
i=0:s=0
For Each a In Array(1, 3, 4, 6, 7, 9)
If a Mod 2 = 1 Then
i=i+1
s=s+a
End If
Next
End Sub
Câu 42 :Sau khi chạy đoạn chương trình trên biến i
có giá trị bằng
a. 6
b. 4
c. 2
d. Tất cả đều sai

Báo Gêpa

Câu 43 :
Sau khi chạy đoạn chương trình trên biến s
có giá trị bằng
a. 20
b. 30
c. 6
d. Tất cả đều sai
Chuong 9
Đoạn chương trình sau dùng cho 4 câu hỏi kế tiếp.
Public Static Sub P(x As Integer, ByVal y As Integer)
Dim a As Integer
If x < 0 Then
a=a+x
Else
a=a – x
End If
x=y
y=a
MsgBox a
End Sub
Private Sub Form_Load()
Dim m As Integer, n As Integer
m=3
n = -2
Call P(m, n)
’gọi P lần 1
Call P(n, m)
‘gọi P lần 2

End Sub
Câu 1 :
Hãy cho biết phát biểu nào sau đây là đúng
về các thông số x, y của thủ tục P :
a. Được truyền bằng giá trị.
b. Được truyền bằng tham khảo.
c. x được truyền bằng tham khảo, y được truyền bằng
giá trị.
d. x được truyền bằng giá trị, y được truyền bằng tham
khảo.
Câu 2 :
Hãy cho biết các giá trị in ra (theo thứ tự)
của câu lệnh MsgBox a:
a. 0 -3
-5
b. 0 2
5
c. 2 5
d. -3 -5
Câu 3 : Hãy cho biết giá trị của m và n sau khi gọi P
lần 1 :
a. m = 3, n = 2
b. m = 2, n = 2
c. m = -2, n = -2
d. m = -3, n = -2
Câu 4 : Hãy cho biết giá trị của m và n sau khi gọi P
lần 2 :
a. m = -2, n = -2
b. m = -1, n = -2
c. m = 1, n = 2

d. m = 2, n = 2
Câu 5 :
Cho định nghĩa hàm sau :
Static Function function_name(ByVal a as Integer) as
Integer
Dim b as Integer
b=b+1
function_name = a + b

facebook.com/nguyenvanduc.bao

good luck


End Function
Chọn câu đúng :
a. Định nghĩa này không hợp lệ vì khơng có Exit
Function.
b. Định nghĩa này khơng hợp lệ vì b chưa được khởi
tạo giá trị ban đầu.
c. Biến b là Static.
d. Cả 3 câu trên đều sai.
Câu 6 :
Giả sử tham số thực là biến, chọn câu sai
sau đây :
a. Khi thay đổi nội dung tham số định nghĩa ByRef, thì
tham số thực bị thay đổi theo.
b. Khi thay đổi nội dung tham số định nghĩa ByVal, thì
tham số thực khơng bị thay đổi theo.
c. Khi thay đổi nội dung tham số không định nghĩa

ByVal hay ByRef, thì tham số thực bị thay đổi theo.
d. Khi thay đổi nội dung tham số không định nghĩa
ByVal hay ByRef, thì tham số thực khơng bị thay đổi
theo.
Đoạn chương trình sau sử dụng cho 2 câu kế tiếp. Chỉ
số dòng lệnh được ghi bên lề phải
option explicit
„1
private A as integer
„2
public sub A ()
„3
static A as integer
„4
if (A mod 5 =0) then
„5
A =1
„6
else
„7
A=A+1
„8
end if
„9
end sub
„10
Câu 7 :
Chọn phát biểu đúng :
a. Chương trình sẽ bị báo lỗi vì tên biến ở dịng 2 và
tên chương trình con ở dịng 3 trùng nhau

b. Chương trình sẽ báo lỗi vì tên biến ở dòng 2 và tên
biến ở dòng 4 trùng nhau
c. Chương trình sẽ báo lỗi vì tên chương trình con ở
dịng 3 và tên biến ở dòng 4 trùng nhau
d. Chương trình khơng bị báo lỗi
Câu 8 :
Sau khi đã sửa lỗi (nếu có) và giữ ngun
dịng lệnh 4. Nếu chương trình con được gọi 6 lần liên
tiếp thì giá trị của biến A ngay sau lệnh số 9 ở lần gọi
cuối cùng sẽ là:
a. 0
b. 1
c. 5
d. 6
Câu 9 :
Trong q trình viết code cho 1 hàm func
nào đó, :
a. ta khơng có quyền dùng lệnh gọi chính hàm func này.
b. ta ln có quyền dùng lệnh gọi chính hàm func này.
c. ta có quyền dùng lệnh gọi chính hàm func này khi
cần thiết và khi thỏa 1 điều kiện nào đó.
c. cả 3 câu trên đều sai.
Xem đoạn chương trình sau và làm 2 câu sau :
Dim a As Integer, b As Integer, c As Integer
Private Sub Vidu(m As Integer, ByVal n As Integer,
ByRef p As Integer)
m=n+p
Báo Gêpa

n=p+m

p=m+n
End Sub
Private Sub Command1_Click()
a=1
b=2
c=3
Call Vidu(a, b, c)
Call Vidu(a, a, a)
End Sub
Câu 10 :Sau khi lệnh Call Vidu(a, b, c) chạy xong,
chúng ta sẽ có :
a. a = 5, b= 2. c = 13
b. a = 1, b= 2. c = 13
c. a = 5, b= 2. c = 3
d. Tất cả đều sai
Câu 11 : Sau khi lệnh Call Vidu(a, a, a) chạy xong,
chúng ta sẽ có
a. a = 1
b. a = 5
c. a = 13
d. Tất cả đều sai (a = 30)
Xem đoạn chương trình sau và làm 2 câu sau :
Dim a As Integer, b As Integer, c As Integer
Private Sub Vidu()
a=a+4
b=b+5
c=c+6
End Sub
Private Sub Command1_Click()
Dim a As Integer, b As Integer, c As Integer

a=1
b=2
c=3
Call Vidu
End Sub
Private Sub Command2_Click()
Print a; b; c
End Sub
Câu 12 : Nếu chạy thủ tục Command2_Click() đầu
tiên thì sau khi chạy xong, kết quả in ra là :
a. 0 0 0
b. 1 2 3
c. 4 5 6
d. Tất cả đều sai
Câu 13 : Nếu chạy thủ tục Command1_Click() đầu
tiên rồi chạy tiếp thủ tục Command2_Click() thì sau khi
chạy xong, kết quả in ra là
a. 1 2 3
b. 4 5 6
c. 5 7 9
d. Tất cả đều sai
Câu 14 : Chọn phát biểu đúng :
a. Trong cùng một chương trình, khơng được phép có
hai biến bất kỳ trùng tên.
b. Trong cùng một modun, khơng được phép có hai
biến bất kỳ trùng tên.
c. Trong cùng một thủ tục, không được phép có hai
biến bất kỳ trùng tên.

facebook.com/nguyenvanduc.bao


good luck


d. Tất cả đều đúng.
Chương 10
Câu 1 :
Cho câu lệnh sau trong Visual Basic:
strChuoi = Format ( 12345.678, “0##0.00”)
Giá trị của biến strChuoi sau khi thực thi xong
lệnh này là:
a. “12345.678”
b. “012345.678”
c. “012345.68”
d. Các câu trên đều sai.
Câu 2 :
Cho thủ tục xử lý biến cố MouseDown của
Form trong Visual Basic như sau:
Private Sub Form_MouseDown(Button As Integer,
Shift As Integer, X As Single, Y As Single)
Select Case Button
Case 0
MsgBox ("Xin chao ban!")
Case 1
MsgBox ("Ban co khoe khong?")
Case 2
MsgBox ("Hen gap lai!")
End Select
End Sub
Chọn phát biểu ĐÚNG

a. Câu thông báo “Ban co khoe khong?” hiện ra khi
nhấn chuột phải lên Form.
b. Câu thông báo “Hen gap lai!” hiện ra khi nhấn chuột
trái lên Form.
c. Câu thông báo “Xin chao ban!” sẽ hiện ra mà không
cần nhấn chuột.
d. Các câu trên đều sai.
Câu 3 :
Chọn câu ĐÚNG trong các câu sau:
a. Tại một thời điểm, chỉ có một phần tử giao diện được
active/focus.
b. Từ khoá Step trong các lệnh vẽ (Line, Circle, PSet)
để miêu tả các toạ độ tương ứng sẽ được xác định
tuyệt đối so với gốc toạ độ (0, 0)
c. Method Print khơng bị ảnh hưởng bởi thuộc tính
CurrentX, CurrentY.
d. Đơn vị tính kích thước mặc định trong Visual Basic
là pixel.
Câu 4 : Cho đoạn chương trình sau
Form1.FillColor = RGB(0, 0, 255)
Form1.ForeColor = RGB(255, 0, 0)
Line (500, 1000)-(10, 20), , B
Kết quả của đoạn lệnh này là:
a. Vẽ một đường thẳng màu đỏ trên Form1
b. Vẽ và tơ một hình chữ nhật trên Form1 với màu tô là
RGB(0, 0, 255)
c. Vẽ một hình chữ nhật trên Form1 với màu vẽ là
RGB(255, 0, 0)
d. Các câu trên đều sai.
Câu 5 : Trong VB, cách dễ dàng và an tồn nhất để

in thơng tin ra máy in là :
a. xuất chuỗi và vẽ đồ họa trực tiếp ra đối tượng Printer.
b. xuất chuỗi và vẽ đồ họa lên Form nào đó rồi dùng
method PrintForm trên Form đó.
c. dùng lệnh Set Printer = Printers(n) để thiết lập máy in
Báo Gêpa

đúng yêu cầu rồi thực hiện câu b.
d. dùng chức năng "Print Screen" của Windows.
Câu 6 : Chọn câu SAI trong các câu sau :
a. Thủ tục Line có thể dùng để vẽ hình vng
b. Thủ tục Line có thể dùng để vẽ hình thoi
c. Thủ tục Line có thể dùng để vẽ một điểm (giống thủ
tục Pset)
d. Thủ tục Circle có thể dùng để vẽ cung ellipse
Câu 7 : Để bắt sự kiện "người sử dụng bấm chuột
kèm phím Shift", có thể sử dụng sự kiện :
a. Click
b. MouseUp
c. KeyPress
d. KeyDown
Câu 8 : Khi cần lập trình giao tiếp với người dùng,
người lập trình nên :
a. Sử dụng các đối tượng của Windows như Printer và
Screen
b. Sử dụng các hàm giao tiếp của device driver
c. Sử dụng các đối tượng giao diện cao cấp đã được
định sẵn của VB hay các ActiveX Control
d. Truy xuất trực tiếp phần cứng thiết bị I/O
Câu 9 : Xét đoạn lệnh sau trong VB :

Dim a as Interger
a=5
Sub Command1_Click()
MsgBox a
End Sub
Chọn câu trả lời đúng :
a. Hộp thoại có nội dung là 5 sẽ xuất hiện khi người
dùng click chuột vào Button có tên là Command1
b. Hộp thoại có nội dung là 0 sẽ xuất hiện khi người
dùng click chuột vào Button có tên là Command1
c. Chương trình sẽ bị báo lỗi ở lệnh
MsgBox a vì biến a này chưa được khai báo
d. Chương trình sẽ bị báo lỗi ở lệnh gán a = 5
Câu 10 : Một form giao diện có tên là frmMain, để
lập trình xử lý sự kiện Click chuột vào form, ta phải lập
trình trong thủ tục có tên là :
a. frmMain_MouseClick()
b. Form_Click()
c. frmMain_MouseDown(…)
d. Câu a và c đúng
Câu 11 : Đơn vị đo lường mặc định của các thiết bị
xuất luận lý trong VB là :
a. vbPixels
b. vbPoints
c. vbTwips
d. vbMillimeters.
Câu 12 : Các hàm xuất ra thiết bị xuất VB có tính chất:
a. quá phức tạp để sử dụng.
b. dùng nhiều thông số được thiết lập trước.
c. số lượng hàm quá nhiều.

d. Tất cả 3 câu trên đều sai.
Câu 13 : Khi dùng hàm PaintPicture để vẽ 1 ảnh trong
1 vùng chữ nhật 20*30cm của màn hình thì :
a. ta thấy vùng ảnh đó với kích thước đúng 20*30cm.
b. ta thấy vùng ảnh đó với kích thước hồn tồn khác

facebook.com/nguyenvanduc.bao

good luck


20*30cm.
c. ta thấy vùng ảnh đó với kích thước có thể khác
20*30cm.
d. ta khơng thấy vùng ảnh đó hiển thị khi chưa ấn phím
Enter.
Câu 14 : VB có bao nhiêu lệnh xuất chuỗi ra thiết bị
xuất :
a. 1.
b. 2.
c. 4.
d. nhiều, nhưng khơng cần nhớ làm gì.
Câu 15 : Việc in ấn dữ liệu ra máy in trong VB :
a rất khó khăn, phức tạp.
b rất khó khăn, phức tạp vì phải dùng những lệnh và
hàm đặc biệt.
c rất đơn giản, dễ dàng vì giống y như việc xuất dữ
liệu ấy ra màn hình.
d. tất cả 3 câu trên đều sai.
Câu 16 : Để hiển thị một ảnh lên form chúng ta có thể:

a. sử dụng đối tượng PictureBox
b. sử dụng đối tượng Image
c. dùng hàm PaintPicture
d. Tất cả 3 câu trên đều đúng.
Xem đoạn chương trình sau và làm 2 câu sau :
Private Sub Text1_KeyPress(KeyAscii As Integer)
If (KeyAscii < 48) Or (KeyAscii > 57) Then
KeyAscii = 0
End Sub
(Cho biết các số từ 48 đến 57 là mã ASCII của các kí số
từ 0 đến 9, vào thời điểm đầu tiên Text1 đang trống và
mã 0 có nghĩa là khơng có ký tự)
Câu 17 : Nếu người sử dụng gõ vào Text1 chuỗi kí tự
bàn phím sau 268LTK thì nội dung của Text1 là
a. 268LTK
b. 268
c. LTK
d. Tất cả đều sai.
Câu 18 : Đoạn chương trình trên chỉ cho phép :
a. gõ các kí tự số vào Text1
b. gõ các kí tự chữ vào Text1
c. gõ các kí tự chữ và kí tự số vào Text1
d. Tất cả đều sai.
Xem đoạn chương trình sau và làm 2 câu sau :
Private Sub Form_MouseDown(Button As Integer,
Shift As Integer, X As Single, Y As Single)
Select Case Button
Case 1
Print "Hello"
Case 2

Print "Hi"
Case 3
Print "Thank"
Case Else
Print "Bye"
End Select
End Sub
Câu 19 : Nếu nhấn chuột trái lên form thì chương
trình sẽ in ra chuỗi :
a. Thank
Báo Gêpa

b. Hi
c. Hello
d. Tất cả đều sai.
Câu 20 : Nếu nhấn chuột giữa lên form thì chương
trình sẽ in ra chuỗi :
a. Hi
b. Bye
c. Thank
d. Tất cả đều sai.
Câu 21 : Để biết được tọa độ chuột vào thời điểm
dùng chuột, chúng ta nên sử dụng thủ tục xử lý sự kiện
nào sau đây :
a. MouseUp
b. MouseMove
c. MouseDown
d. Một trong 3 thủ tục trên.
Cho đoạn chương trình sau :
Dim x As Long, y As Long

Private Sub Timer1_Timer()
FillStyle = Solid
FillColor = RGB(255, 0, 0)
Cls
Circle (x + 25, y + 100), 25, RGB(255, 0, 0)
x=x+5
If x > ScaleWidth - 50 Then x = 0
End Sub
Câu 22 : Chương trình trên thực hiện việc gì. Cho biết
cứ mỗi giây thủ tục Timer1_Timer() sẽ tự động được
chạy.
a. Vẽ một hình trịn màu đỏ ở vị trí ngẫu nhiên.
b. Hiển thị một hình trịn màu đỏ chạy ngang qua form
(từ trái sang phải) rồi dừng
c. Hiển thị một hình trịn màu đỏ chạy ngang qua form
(từ trái sang phải) rồi quay về bên trái và tiếp tục như

d. Tất cả đều sai.
Câu 23 : Trong interface của một class có một thuộc
tính có tên là Bankinh. Thì trong code hiện thực của
class sẽ
a. chắc chắn có một biến với tên là Bankinh.
b. có thể có một biến khác tên nhưng tương ứng với
thuộc tính này thơng qua các phương thức Let (hoặc
Set) và Get.
c. có thể khơng có biến nào tương ứng với thuộc tính
này.
d. Tất cả đều sai.
Chuong 11
Câu 1 : Khi dùng phát biểu Open để mở file, nếu

file được mở chưa tồn tại thì một lỗi sẽ xảy ra trong
trường hợp mở file ở chế độ nào :
a. Output
b. Input
c. Apend
d. Random
Đọc đoạn code sau để trả lời 3 câu hỏi kế tiếp
Private Type Record
ID As Integer
Name As String * 20

facebook.com/nguyenvanduc.bao

good luck


End Type
Private Sub Form_Click()
Dim MyRecord As Record, RecordNumber
Open "TESTFILE" For Random As #1 Len =
Len(MyRecord)
For RecordNumber = 1 To 5
MyRecord.ID = 2 * RecordNumber
MyRecord.Name = "My Name " & 2 * RecordNumber
Put #1, RecordNumber, MyRecord
Next RecordNumber
Print LOF(1)
„lệnh Print thứ nhất
Seek #1, 3
Get #1, , MyRecord

Print MyRecord.ID „lệnh Print thứ hai
Get #1, , MyRecord
Print MyRecord.ID „lệnh Print thứ ba
Print Seek(1)
„lệnh Print thứ tư
Close #1
End Sub
Câu 2 : Nếu đoạn code trên được thực thi thì lệnh
Print thứ nhất sẽ in ra kết quả gì
a. 22
b. 5
c. 110
d. 100
Câu 3 : Nếu đoạn code trên được thực thi thì lệnh
Print thứ ba sẽ in ra kết quả gì
a. 3
b. 8
c. 4
d. 6
Câu 4 : Nếu đoạn code trên được thực thi thì lệnh
Print thứ tư sẽ in ra kết quả gì
a. 1
b. 4
c. 3
d. 5
Đọc đoạn code sau để trả lời 2 câu hỏi kế tiếp
Private Sub Form_Click()
Dim Name As String, FileName As String
Dim intAttr As Integer
Name = Dir("C:\Test\*", vbHidden)

Do While Name <> ""
FileName = "C:\Test\" & Name
intAttr = GetAttr(FileName)
If (intAttr And vbHidden) = vbHidden Then
intAttr = intAttr And Not vbHidden
intAttr = intAttr Or vbReadOnly
SetAttr FileName, intAttr
End If
Name = Dir
Loop
End Sub
Câu 5 : Nếu đoạn code trên được thực thi thì sẽ thực
hiện cơng việc gì
a. Liệt kê tất cả các file có thuộc tính ẩn (hidden) trong
thư mục C:\Test
b. Gán thuộc tính ẩn cho tất cả các file trong thư mục
Báo Gêpa

C:\Test
c. Gán thuộc tính chỉ đọc (read-only) cho tất cả các file
trong thư mục C:\Test
d. Bỏ thuộc tính ẩn và gán thuộc tính chỉ đọc cho
những file có thuộc tính ẩn trong thư mục C:\Test
Câu 6 :
Ứng dụng và những file dữ liệu mà nó truy
xuất thường được đặt trong cùng 1 thư mục là để :
a. dễ quản lý.
b. ứng dụng dùng đường dẫn tuơng đối đơn giản (chỉ
chứa tên file) để nhận dạng file.
c. dễ cài đặt.

d. Tất cả các câu trên đều đúng.
Câu 7 : Để viết ứng dụng tính định thức của ma trận
bất kỳ, ta nên :
a. dùng lệnh InputBox() để yêu cầu người dùng nhập
vào tuần tự từng phần tử của ma trận.
b. xây dựng 1 ma trận các điều khiển TextBox trong
Form để người dùng nhập trực quan ma trận.
c. nhập ma trận vào 1 file text bằng 1 trình soạn thảo
văn bản theo qui ước nào đó rồi dùng các lệnh truy xuất
file tuần tự của VB để đọc ma trận vào.
d. tùy trường hợp mà dùng a. hay b. hay c.
Câu 8 : Chọn câu đúng trong các câu sau
a. Không thể tạo 2 tập tin cùng tên trên một máy
b. Đường dẫn tuyệt đối luôn dài hơn đường dẫn tương
đối
c. Trong thư mục có thể chứa các thư mục con cũng
như các tập tin
d. Cả 3 câu trên đều đúng
Câu 9 : Dữ liệu được lưu trữ trong loại file tuần tự
(Sequential file) là :
a. Một danh sách gồm n byte chứa các ký tự
UNICODE.
b. Một danh sách gồm n byte nhị phân chưa có cấu
trúc.
c. Một danh sách gồm n record có cùng độ dài, mỗi
record chứa nhiều field thông tin.
d. Cả 3 câu trên đều sai (n byte ANSI)
Đáp án : câu d.
Câu 10 : Cho đoạn lệnh sau :
Dim intAttr as Integer

intAttr = GetAttr(“test.txt”)
intAttr = intAttr or vbReadOnly
intAttr = intAttr xor vbHidden
SetAttr "test.txt",intAttr
Ý nghĩa của đoạn lệnh trên là
a. Gán thuộc tính chỉ được đọc (ReadOnly) cho file
test.txt nếu file này chưa phải là file chỉ được đọc
b. Gán thuộc tính ẩn (Hidden) cho file test.txt nếu file
này chưa phải file ẩn
c. Bỏ thuộc tính ẩn (Hidden) cho file test.txt nếu file
này là file ẩn
d. Cả 3 câu trên đều đúng
Câu 11 : Mơ hình FSO (File System Object) hỗ trợ
truy xuất :
a. Binary file
b. Text file (Sequential file)
c. Random file

facebook.com/nguyenvanduc.bao

good luck


d. Cả 3 câu trên đều đúng.
Cho đoạn chương trình sau :
Private Function Vidu(strFileName As String) As Long
Dim lngCount As Long, FileNum As Integer
Dim Char As String * 1
FileNum = FreeFile
Open strFileName For Input As FileNum

lngCount = 0
Do While Not EOF(FileNum)
Char = Input(1, #FileNum)
Char = LCase(Char)
If ("0" <= Char And Char <= "9") Then
LngCount = lngCount + 1
End if
Loop
Vidu = lngCount
Close #FileNum
End Function
Giả sử rằng tập tin TestFile có nội dung như sau:
Tran Lam, 250 Au Co, P.14, Q.TB
Câu 12 : Nếu gọi hàm Vidu ở trên và truyền thông số
là "TestFile" thì kết quả trả về của hàm là :
a. 15
b. 5
c. 20
d. Tất cả đều sai.
Đoạn chương trình sau dành cho 4 câu sau :
Private Type Record
ID As Long
Name As String * 10
End Type
Private Sub Form_Click()
Dim MyRecord As Record
Dim RecordNumber As Integer
Open "C:\TESTFILE" For Random As #1 _
Len = Len(MyRecord)
For RecordNumber = 1 To 5

MyRecord.ID = 100 + RecordNumber
MyRecord.Name = InputBox("Nhap vao ten:")
Put #1, RecordNumber, MyRecord
Next RecordNumber
Print LOF(1)
„lệnh Print 1
Get #1, 2, MyRecord
Seek #1, 3
Print MyRecord.ID
„lệnh Print 2
Get #1, , MyRecord
Print MyRecord.ID
„lệnh Print 3
Print Seek(1)
„lệnh Print 4
Close #1
End Sub
Câu 13 : Nếu đoạn code trên được thực thi thì lệnh
Print 1 sẽ in ra kết quả :
a. 14
b. 70
c. 5
d. Tất cả đều sai.
Câu 14 : Nếu đoạn code trên được thực thi thì lệnh
Print 2 sẽ in ra kết quả gì
Báo Gêpa

a. 2
b. 3
c. 102

d. Tất cả 3 câu trên đều sai.
Câu 15 : Nếu đoạn code trên được thực thi thì lệnh
Print 3 sẽ in ra kết quả gì
a. 3
b. 103
c. 104
d. Tất cả đều sai.
Câu 16 : Nếu đoạn code trên được thực thi thì lệnh
Print 4 sẽ in ra kết quả gì
a. 3
b. 4
c. 5
d. Tất cả đều sai.
Câu 17 : Giả sử mỗi file trong thư mục "c:\test" có
các thuộc tính hiện hành nào đó. Cho đoạn chương trình
sau :
Private Sub Form_Click()
Dim Name As String, FileName As String, intAttr As
Integer
Name = Dir("c:\test\*", vbHidden)
Do While Name <> ""
FileName = "c:\test\" & Name
intAttr = GetAttr(FileName)
intAttr = intAttr And Not vbHidden
SetAttr FileName, intAttr
Kill FileName
Name = Dir
Loop
End Sub
Đoạn code trên để xóa mọi file có thuộc tính ẩn trong

thư mục "c:\test" và thực tế :
a. tất cả các file này sẽ bị xóa khỏi thư mục chứa nó.
b. tất cả các file này sẽ bị xóa khỏi thư mục chứa nó và
được đưa vào "Recycle Bin".
c. tất cả các file này khơng hề bị xóa.
d. Tất cả 3 câu trên đều sai.
Câu 18 : Để viết ứng dụng tính định thức của ma trận
có số lượng phần tử bất kỳ, ta nên :
a. dùng lệnh InputBox() để yêu cầu người dùng nhập
vào tuần tự từng phần tử của ma trận.
b. xây dựng 1 ma trận các điều khiển TextBox trong
Form để người dùng nhập trực quan ma trận.
c. nhập ma trận vào 1 file text bằng 1 trình soạn thảo
văn bản theo qui ước nào đó rồi dùng các lệnh truy xuất
file tuần tự của VB để đọc ma trận vào.
d. tùy trường hợp mà dùng a. hay b. hay c.
Xem đoạn chương trình sau và làm 2 câu sau :
Private Sub Command1_Click()
Dim f1as Integer, f2 as Integer
Dim Int1 as Integer, i as Integer
Dim B1 As Boolean, S3 As String * 3, S4 As String * 4
f1 = FreeFile
f2 = FreeFile
S3 = "XYZ"
B1 = False
Int1 = 1234

facebook.com/nguyenvanduc.bao

good luck



S4 = "1234"
Open "c:\binary1" For Binary As f1
For i = 1 To 3
Put #f1, i, S3
Next i
Close #f1
Open "c:\text2" For Output As f2
Write #f2, S3, S4, Int1, B1
Close #f2
End Sub
Câu 19 : Biết rằng chỉ số file chưa dùng bắt đầu là 1,
vậy sau khi chạy đoạn chương trình trên, biến f1,f2
bằng :
a. f1=1,f2=2
b. f1=1,f2=1
c. f1=2,f2=1
d. f1=2,f2=2
Câu 20 : Nội dung file binary1 là
a. XYZXYZXYZ
b. XYZXY
c. XXXYZ
d. XYZXX
Câu 21 : Nội dung file text2 là
a. XYZ,1234,1234,FALSE
b. "XYZ",1234, "1234",#FALSE#
c. "XYZ","1234",1234,#FALSE#
d. "XYZ","1234",1234,FALSE
Câu 22 : Giả sử trên máy đã có file “C:\VD.txt” với

kích thước file là 100 byte. Cho đoạn chương trình sau:
Dim s As Long
Open "C:\VD.txt" For Output As #1
s = FileLen("C:\VD.txt")
Print s
'dòng 4
Kết quả in ra ở dòng 4 là:
a. 0
b. 1
c. 100
d. Lỗi
Câu 23 : Giả sử trên máy đã có file “C:\VD.txt” với
kích thước file là 100 byte. Cho đoạn chương trình sau:
Dim s As Long
Open "C:\VD.txt" For Input As #1
s = FileLen("C:\VD.txt")
Print s
Kết quả in ra ở dòng 4 là:
a. 0
b. 1
c. 100
d. Lỗi
Câu 24 : File truy xuất trực tiếp (Random File) là:
a. Danh sách gồm n record có cùng độ dài
b. Danh sách gồm n byte, mỗi byte là 1 ký tự ANSI
c. Danh sách gồm n byte nhị phân chứa có cấu trúc
d. Danh sách gồm n field có kiểu dữ liệu khác nhau.
Câu 25 : Giả sử file “C:\VD.txt” dang có thuộc chỉ
đọc (ReadOnly). Cho đoạn chương trình sau:
Dim Attr As Byte

Attr = vbReadOnly And vbHidden
SetAttr "c:\VD.txt", Attr
Báo Gêpa

Sau khi thực hiện đoạn lệnh trên, thì file “C:\VD.txt”
a. Thuộc tính chỉ đọc giữ ngun, cài thêm thuộc tính
ẩn
b. Xóa thuộc tính chỉ đọc, cài thuộc tính ẩn
c. Giữ nguyên trạng thái ban đầu (chỉ có thuộc tính chỉ
đọc)
d. Xóa thuộc tính chỉ đọc, trở về thuộc tính bình
thường (normal)
Xem đoạn chương trình sau và làm 3 câu sau :
Private Type BangTra
ID As String * 2
HeSo As Long
End Type
Private Sub cmdA_Click()
Dim BT As BangTra
Dim i as Integer
Open "C:\BT1.dat" For Random As #1
For i = 1 To 10
BT.ID = CStr(i)
BT.HeSo = i * 10
Put #1, , BT
Next i
Print Seek(1) 'lệnh print thứ 1
Seek #1, 5
Get #1, , BT
Print BT.HeSo 'lệnh print thứ 2

Seek #1, 3
Get #1, 1, BT
Print BT.HeSo ' lệnh print thứ 3
End Sub
Câu 26 :
Kết quả của lệnh print thứ 1:
a. 0
b. 1
c. 10
d. 11
Câu 27 :
Kết quả của lệnh print thứ 2:
a. 5
b. 10
c. 50
d. 60
Câu 28 :
Kết quả của lệnh print thứ 3:
a. 1
b. 10
c. 30
d. Lỗi
Câu 29 :
Hàm FreeFile là hàm dùng để
a. Tìm chỉ số file chưa được dùng
b. Đếm xem còn bao nhiêu chỉ số file chưa được dùng
c. Đếm xem trên đĩa có bao nhiêu file chưa được mở
d. Kiểm tra xem file vừa mở có cho phép ghi dữ liệu
vào hay không.
Chuong 12

Câu 1 :
Khi debug 1 ứng dụng VB, nếu ứng dụng
đang ở trạng thái Running và đang trong vịng lặp vơ
tận thì :
a. ta chỉ có cách tắt máy mới có thể dừng chương trình.
b. ta có thể chọn menu Run.Break của VB để dừng ứng
dụng và chuyển về trạng thái Pause

facebook.com/nguyenvanduc.bao

good luck


c. ta chỉ có thể ngồi chờ và hy vọng ứng dụng sẽ thốt
khỏi vịng lặp vơ tận.
d. cả 3 câu trên đều đúng.
Câu 2 :
Khi debug 1 ứng dụng VB, tốc độ chạy của
ứng dụng :
a. sẽ y như lúc nó chạy độc lập.
b. sẽ nhanh hơn lúc nó chạy độc lập vì được hỗ trợ bởi
trình Debugger.
c. sẽ chậm hơn lúc nó chạy độc lập vì ln bị giám sát
và điều khiển bởi trình Debugger.
d. cả 3 câu trên đều sai.
Câu 3 :
Khi ứng dụng VB đang được debug, nó
thường ở trạng thái :
a. Pause.
b. Running.

c. Ready.
d. Blocked chờ sự kiện I/O.
Câu 4 :
Điều khiển (control) khác với ActiveX
Control ở chỗ :
a. control đơn giản hơn nhiều ActiveX Control.
b. control chỉ có dạng hình chữ nhật cịn ActiveX
Control có thể có dạng bất kỳ.
c. control là đối tượng được cung cấp sẵn cho mỗi
Project cịn ActiveX Control thì không.
d. cả 3 câu trên đều đúng.
Câu 5 :
Trong VB, để dùng lại thành quả của người
khác hầu xây dựng nhanh ứng dụng riêng của mình, ta
có thể :
a. dùng lại các form module và class module có sẵn.
b. dùng lại các điều khiển có sẵn.
c. dùng lại các ActiveX Control đã có.
d. cả 3 câu trên đều đúng.
Đoạn chương trình sau dành cho 2 câu kế tiếp:
Private Sub Command1_Click() ‘dòng 1
Dim i As Byte
‘dòng 2
For i = 1 to 5
‘dòng 3
Print Giaithua(i)
‘ dòng 4
Next i
‘dòng 5
End Sub

‘ dòng 6
Private Function Giaithua(n As Byte) _
As Long
‘ dòng 7
Dim i As Byte
‘ dòng 8
Giaithua = 1
‘dòng 9
For i = 1 To n
‘ dòng 10
Giaithua = Giaithua * i ‘dòng 11
Next i
‘dòng 12
End Function
‘dòng 13
Thiết lập điểm dừng ở dòng 4.
Câu 6 :
Nếu sự thực thi đang ở điểm dừng này
(dòng 4) và rồi chọn menu Debug.Step Over thì sự thực
thi sẽ dừng lại ở lệnh nào :
a. 5
b. 6
c. 7
d. Tất cả đều sai.
Câu 7 :
Nếu sự thực thi đang ở điểm dừng này
(dòng 4) và rồi chọn menu Debug.Step Into thì sự thực
thi sẽ dừng lại ở lệnh nào :
Báo Gêpa


a. 5
b. 7
c. 13
d. Tất cả đều sai.
Đoạn lệnh sau dành cho 2 câu sau :
Private Sub Vidu()
„ dòng 1
Dim a As Integer
„ dòng 2
For i = 5 To 1 Step -1
„ dòng 3
a=a+i*i
„ dòng 4
Next i
„ dòng 5
End Sub
„ dòng 6
Chọn menu Debug.Add Watch, nhập biểu thức là a rồi
chọn điều kiện dừng “Break when value changes”.
Câu 8 : Khi đoạn lệnh trên được chạy, sự thực thi sẽ
dừng ở lệnh nào :
a. 2
b. 3
c. 4
d. 5
Câu 9 : Khi dừng lại theo điều kiện debug ở trên giá
trị của biến a sẽ là :
a. 0
b. 5
c. 25

d. Tất cả đều sai.
Câu 10 : Chọn phát biểu sai :
a. VB có thể phát hiện các lỗi sai về từ vựng và cú
pháp
b. VB có thể thơng báo các lỗi sai về cú pháp để ta xem
xét và sửa chữa
c. VB không thể phát hiện các lỗi sai về giải thuật
d. VB có thể thơng báo các lỗi sai về giải thuật để ta
xem xét và sửa chữa
Câu 11 : Chọn phát biểu sai :
a. Ta có thể chạy chương trình từng bước để kiểm tra
lỗi
b. Ta có thể đặt nhiều điểm dừng trong chương trình để
kiểm tra.
c. Khi chương trình chạy đến điểm dừng, nó sẽ tự động
thơng báo các trạng thái của chương trình ở thời điểm
đó, rồi thốt chương trình
d. Khi đang debug chương trình, nếu đã phát hiện lỗi
sai, ta có thể dừng chương trình mà khơng cần chờ
chương trình chạy hết tất cả các lệnh.
Câu 12 : Trong quá trình debug, người dùng tương tác
với ứng dụng chủ yếu ở trạng thái :
a. Pause
b. Running
c. Break
d. End
Xem đoạn chương trình sau và làm 4 câu sau :
Dim a As Integer, b As Integer, c As Integer
„1
Private Sub Vidu(m As Integer, ByVal n As Integer,

ByRef p As Integer)
„2
m=n+p
„3
n=p+m
„4
p=m+n
„5
End Sub
„6

facebook.com/nguyenvanduc.bao

good luck


Private Sub Command1_Click() „7
a=1
„8
b=2
„9
c=3
„10
Call Vidu(a, b, c)
„11
Print a
„12
Print b
„13
Print c

„14
End Sub
„15
Thiết lập điểm dừng ở dòng 11.
Câu 13 : Đang ở điểm dừng này (dòng 11) nếu chọn
menu Debug.Step Over thì sự thực thi sẽ dừng lại ở
lệnh nào
a. 12
b. 2
c. 7
d. Tất cả đều sai.
Câu 14 : Đang ở điểm dừng này (dịng 11) nếu chọn
menu Debug.Step Into thì sự thực thi sẽ dừng lại ở lệnh
nào
a. 12
b. 15
c. 2
d. Tất cả đều sai.
Chọn menu Debug.Add Watch, nhập biểu thức là a (của
thủ tục Command1_Click()) rồi chọn điều kiện dừng
“Break when value changes”.
Câu 15 : Khi đoạn chương trình trên được chạy (bắt
đầu từ thủ tục Command1_Click()), sự thực thi sẽ dừng
lại ở lệnh nào
a. 4
b. 9
c. 12
d. Tất cả đều sai.
Câu 16 : Nếu chạy tiếp từ lần dừng ở câu trên, sự thực
thi sẽ dừng lại ở lệnh nào

a. 4
b. 9
c. 12
d. Tất cả đều sai.

Báo Gêpa

facebook.com/nguyenvanduc.bao

good luck



×