Báo Gêpa facebook comnguyenvanduc bao good luck Chương 7 Câu 1 Cho biết kết quả của phép toán sau 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 toán tử 2 ngôi b Mỗi kí tự đặc biệt +, , chỉ miêu tả một toá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,.
Trang 1Chương 7
Câu 1 : Cho biết kết quả của phép toán sau :
23 \ 3.6
a 4
b 5
c 6
d 6.39
a Các toán tử +, - , *, / đều chỉ là các toán tử 2 ngôi
b Mỗi kí tự đặc biệt +, -, * chỉ miêu tả một toá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ì
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 toán hạng chỉ có thể có
1 toá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 toán hạng chỉ có thể có
1 toá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:
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
Trang 2Đ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
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 luôn 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
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
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
Trang 3Cho đ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)
4 End Sub
5 Public Sub Call_Sub()
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
là
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
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
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
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)
Trang 4Câ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
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 :
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
While x <= 5
Wend
a 1 4 9 16 25
b 2 4 6 8 10
c 1 4 6 9 25
Trang 5d 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
While x <= 5
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)
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)
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
d Các câu a, b, c đều sai
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 ? :
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
Trang 6Private 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
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
End Sub
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:
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
Trang 7End 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ữ nguyên
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 quá 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 luôn 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
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
Trang 8d 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
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 toà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
đú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 vuông
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 hoàn toàn khác
Trang 9c 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 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ư cũ
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
Trang 10End 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
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
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