76
TÀI LIỆU HỌC TẬP MÔN : TIN HỌC ĐẠI CƯƠNG Người soạn : TS. Nguyễn Văn Hiệp A. MỤC ĐÍCH YÊU CẦU CỦA MÔN HỌC Giúp sinh viên có 1 số kiến thức cơ bản về tính chất và khả năng của máy tính (số), về qui trình giải quyết vấn đề bằng máy tính, về việc dùng 1 môi trường phát triển phần mềm trực quan (như Visual Basic) để thiết kế giao diện cho ứng dụng, tạo các thủ tục xử lý sự kiện trên các phần tử giao diện và viết code để miêu tả giải thuật giải quyết chức năng của phần mềm. Ngoài ra, sinh viên còn được trang bị thêm 1 số kiến thức cơ bản về linh kiện phần mềm, về lập trình bằng cách lắp ghép các linh kiện có sẵn, về việc truy xuất database và 1 số hoạt động cơ bản để kiểm thử phần mềm đã viết được. B. NỘI DUNG CHI TIẾT Chương 1. Vấn đề giải quyết bài toán bằng máy tính. Chương 2. Thể hiện dữ liệu trong máy tính. Chương 3. Tổng quát về lập trình bằng VB. Chương 4. Qui trình thiết kế trực quan giao diện. Chương 5. Các kiểu dữ liệu của VB. Chương 6. Các lệnh định nghĩa & khai báo dữ liệu. Chương 7. Biểu thức VB. Chương 8. Các lệnh thực thi VB. Chương 9. Định nghĩa và sử dụng thủ tục. Chương 10. Giao tiếp thiết bị I/O. Chương 11. Quản lý hệ thống file. Chương 12. Linh kiện phần mềm, truy xuất database & kiểm thử phần mềm.

Cau Hoi Trac Nghiem Tin DC

  • Upload
    hien-ta

  • View
    247

  • Download
    7

Embed Size (px)

DESCRIPTION

Trac nghiem Tin hoc dai cuong

Citation preview

Page 1: Cau Hoi Trac Nghiem Tin DC

TÀI LIỆU HỌC TẬP MÔN :

TIN HỌC ĐẠI CƯƠNGNgười soạn : TS. Nguyễn Văn Hiệp

A. MỤC ĐÍCH YÊU CẦU CỦA MÔN HỌC

Giúp sinh viên có 1 số kiến thức cơ bản về tính chất và khả năng của máy tính (số), về qui trình giải quyết vấn đề bằng máy tính, về việc dùng 1 môi trường phát triển phần mềm trực quan (như Visual Basic) để thiết kế giao diện cho ứng dụng, tạo các thủ tục xử lý sự kiện trên các phần tử giao diện và viết code để miêu tả giải thuật giải quyết chức năng của phần mềm. Ngoài ra, sinh viên còn được trang bị thêm 1 số kiến thức cơ bản về linh kiện phần mềm, về lập trình bằng cách lắp ghép các linh kiện có sẵn, về việc truy xuất database và 1 số hoạt động cơ bản để kiểm thử phần mềm đã viết được.

B. NỘI DUNG CHI TIẾT

Chương 1. Vấn đề giải quyết bài toán bằng máy tính.

Chương 2. Thể hiện dữ liệu trong máy tính.

Chương 3. Tổng quát về lập trình bằng VB.

Chương 4. Qui trình thiết kế trực quan giao diện.

Chương 5. Các kiểu dữ liệu của VB.

Chương 6. Các lệnh định nghĩa & khai báo dữ liệu.

Chương 7. Biểu thức VB.

Chương 8. Các lệnh thực thi VB.

Chương 9. Định nghĩa và sử dụng thủ tục.

Chương 10. Giao tiếp thiết bị I/O.

Chương 11. Quản lý hệ thống file.

Chương 12. Linh kiện phần mềm, truy xuất database & kiểm thử phần mềm.

Page 2: Cau Hoi Trac Nghiem Tin DC

Chương 1: VẤN ĐỀ GIẢI QUYẾT BÀI TOÁN BẰNG MÁY TÍNH

Câu 1 : Lập trình là :

a. Công việc của máy tính.

b. Công việc của con người.

c. Công việc của máy tính với sự trợ giúp của con người.

d. Công việc của con người với sự trợ giúp của máy tính

Đáp án : câu d.

Câu 2 : Chọn câu đúng :

a. Chương trình dịch dùng để dịch ngôn ngữ máy ra dạng ngôn ngữ mà con người hiểu được.

b. Trình biên dịch dịch toàn bộ chương trình nguồn ra dạng mã máy rồi mới thực thi, còn trình thông dịch dịch từng lệnh của chương trình nguồn và thực thi ngay trước khi dịch sang lệnh kế tiếp.

c. Cả 2 câu a,b đều đúng.

d. Cả 2 câu a,b đều sai.

Đáp án : câu b.

Câu 3 : Qui trình tổng quát dùng để giải quyết bài toán trên máy tính :

a. Nhập dữ liệu - giải mã - xử lý dạng bit - xuất kết quả.

b. Nhập dữ liệu - mã hóa - xử lý dạng bit - xuất kết quả

c. Nhập dữ liệu - giải mã - xử lý dạng bit - mã hóa - xuất kết quả.

d. Nhập dữ liệu - mã hóa - xử lý dạng bit - giải mã - xuất kết quả.

Đáp án : câu d.

Câu 4 : Quá trình giải mã (decoding) là:

a. Chuyển dữ liệu cần xử lý (âm thanh, chữ số, hình ảnh…) thành dạng chuỗi bit

b. Chuyển chuỗi bit ra dạng dữ liệu người và thiết bị ngoài có thể hiểu được.

c. Lưu trữ dữ liệu số để dùng lại.

d. Cả 3 đều sai.

Đáp án : câu b.

Câu 5 : Ngôn ngữ lập trình cấu thành từ các yếu tố chính :

a. Cú pháp và chương trình.

b. Chương trình và ngữ nghĩa.

c. Cú pháp và ngữ nghĩa.

d. Cả 3 câu trên đều đúng.

Đáp án : câu c.

Câu 6 : Cấp ngôn ngữ thấp nhất được dùng để lập trình trên máy tính là :

a. Ngôn ngữ gần gũi với con người.

b. Ngôn ngữ máy.

c. Ngôn ngữ Visual Basic.

d. Ngôn ngữ lập trình.

Đáp án : câu b.

Câu 7 : Theo mô hình Von Neumann, khối đơn vị xử lý (CPU) dùng để

a. chứa code và data đang thực thi.

b. thực thi từng lệnh của chương trình.

c. giao tiếp với bên ngoài để nhập/xuất tin.

d. làm cả 3 chức năng trên.

Đáp án : câu b.

Câu 8 : Theo mô hình Von Neumann, khối bộ nhớ (memory) dùng để

a. chứa code và data đang thực thi.

b. thực thi từng lệnh của chương trình.

c. giao tiếp với bên ngoài để nhập/xuất tin.

Page 3: Cau Hoi Trac Nghiem Tin DC

d. làm cả 3 chức năng trên.

Đáp án : câu a.

Câu 9 : Chọn câu đúng trong 4 câu sau :

a. cây viết chì là 1 máy tính số.

b. điện thoại di động là 1 máy tính số.

c. con dao là 1 máy tính số.

d. tất cả 3 câu trên đều sai.

Đáp án : câu b.

Câu 10 : Ý tưởng của phương pháp giải quyết vấn đề top-down là phân chia vấn đề lớn cần giải quyết thành nhiều vấn đề nhỏ hơn hầu dễ dàng giải quyết hơn. Ngoài ra còn có phương pháp bottom-up, ý tưởng của phương pháp này là kết hợp nhiều công việc nhỏ đã có để tạo thành công việc lớn cần thực hiện. Như vậy trong việc giải quyết 1 vấn đề phức tạp, người ta sẽ :

a. chỉ dùng phương pháp top-down là đủ.

b. chỉ dùng phương pháp bottom-up là đủ.

c. tùy trường hợp mà nên dùng phương pháp top-down hay bottom-up.

d. kết hợp 2 phương pháp, nghĩa là cố gắng phân chia vấn đề lớn thành nhiều vấn đề nhỏ hơn đã thực hiện được hầu giảm chi phí trong việc giải quyết nhiều vấn đề mới.

Đáp án : câu d.

Câu 11 : Chọn câu đúng trong 4 câu sau :

a. nếu vấn đề nào đó được giải quyết bằng phần cứng thì cũng có thể được giải quyết bằng phần mềm.

b. nếu vấn đề nào đó được giải quyết bằng phần mềm thì cũng có thể được giải quyết bằng phần cứng.

c. cả 2 câu a. và b. đều đúng.

d. cả 2 câu a. và b. đều sai.

Đáp án : câu c.

Câu 12 : Mục đích của vấn đề mã hóa dữ liệu trong máy tính là :

a. Để giúp phần tử bên ngoài máy tính dễ dàng hiểu ý nghĩa của thông tin dạng bit nhị phân.

b. Để cho máy tính hiểu được thông tin dạng bit nhị phân.

c. Để cho máy tính hiểu được thông tin đa dạng phong phú bên ngoài máy tính.

d. Để giúp phần tử bên ngoài máy tính hiểu được thông tin đa dạng phong phú bên ngoài máy tính.

Đáp án : câu c.

Câu 13 : Mục đích của vấn đề giải mã dữ liệu trong máy tính là :

a. Để giúp phần tử bên ngoài máy tính dễ dàng hiểu ý nghĩa của thông tin dạng bit nhị phân.

b. Để cho máy tính hiểu được thông tin dạng bit nhị phân.

c. Để cho máy tính hiểu được thông tin đa dạng phong phú bên ngoài máy tính.

d. Để giúp phần tử bên ngoài máy tính hiểu được thông tin đa dạng phong phú bên ngoài máy tính.

Đáp án : câu a.

Câu 14 : Chọn phát biểu đúng về các ngôn ngữ lập trình :

a. Ngôn ngữ máy là ngôn ngữ cấp thấp nhất

b. Ngôn ngữ hướng đối tượng là ngôn ngữ cấp cao nhất.

c. Visual Basic không hỗ trợ lập trình cấu trúc

d. Cả ba câu trên đều đúng.

Đáp án : câu a.

Câu 15 : Đơn vị xử lý (CPU) trong mô hình máy tính số von Neumann có chức năng :

a. Lưu trữ và thực hiện các lệnh của chương trình.

b. Nhập dữ liệu, xử lý dữ liệu và xuất kết quả cho người sử dụng.

c. Mã hóa dữ liệu thành chuỗi bit, xử lý dữ liệu, giải mã chuỗi bit thành dữ liệu.

Page 4: Cau Hoi Trac Nghiem Tin DC

d. Cả ba câu trên đều sai.

Đáp án : câu d.

Câu 16 : Hai yếu tố cơ bản của ngôn ngữ lập trình là :

a. Cú pháp và chương trình.

b. Giải thuật và dữ liệu.

c. Cú pháp và ngữ nghĩa.

d. Cả ba câu trên đều sai.

Đáp án : câu c.

Câu 17 : Hãy sắp xếp các ngôn ngữ lập trình sau theo thứ tự từ cấp thấp đến cấp cao :

a. Máy, Assembly, Pascal, Visual Basic

b. Máy, Pascal, C, Assembly

c. Assembly, Pascal, Visual Basic, C

d. Tất cả các câu trên đều sai

Đáp án : câu a.

Câu 18 : Thiết bị nào sau đây là thiết bị nhập (Input) của máy tính:

a. Máy in (Printer), Màn hình (Monitor), Bàn phím (Keyboard)

b. Chuột (Mouse), Bàn phím (Keyboard), Máy in (Printer)

c. Bàn phím (Keyboard), Chuột (Mouse)

d. Cả 3 câu trên đều đúng

Đáp án : câu c.

Câu 19 : Có bao nhiêu loại chương trình dịch trong chương trình đã học :

a. 1 (compiler)

b. 2 (compiler, interpreter)

c. 3 (compiler, interpreter, Visual Basic)

d. 4 (compiler, interpreter, Visual Basic, Pascal)

Đáp án : câu b.

Câu 20 : Các thiết bị lưu trữ nào sau đây có thể lưu dữ liệu khi không còn nguồn cấp điện :

a. Đĩa mềm, Đĩa cứng, Bộ nhớ RAM

b. Đĩa CD-ROM, Bộ nhớ RAM

c. Bộ nhớ RAM

d. Tất cả các câu trên đều sai

Đáp án : câu d.

Câu 21 : Máy tính số theo mô hình Von-Neumann gồm 3 phần tử chức năng là CPU, bộ nhớ và thiết bị nhập/xuất. Với định nghĩa này, bạn hãy chọn câu đúng trong 4 câu sau :

a. máy chụp ảnh kỹ thuật số là 1 máy tính số.

b. điện thoại di động là 1 máy tính số.

c. máy in laser là 1 máy tính số.

d. tất cả 3 câu trên đều đúng.

Đáp án : câu d.

Câu 22 : Việc chia môn Tin học làm 12 chương dựa trên ý tưởng của :

a. phương pháp "top-down".

b. phương pháp "bottom-up".

c. sự kết hợp 2 phương pháp top-down và bottom-up.

d. cả 3 câu trên đều sai.

Đáp án : câu a.

Câu 23 : Chọn câu đúng trong 4 câu sau :

a. nếu vấn đề nào đó được giải quyết bằng phần cứng thì cũng có thể được giải quyết bằng phần mềm.

b. nếu vấn đề nào đó được giải quyết bằng phần mềm thì cũng có thể được giải quyết bằng phần cứng.

c. cả 2 câu a. và b. đều đúng.

d. cả 2 câu a. và b. đều sai.

Page 5: Cau Hoi Trac Nghiem Tin DC

Đáp án : câu c.

Câu 24 : Việc mã hóa thông tin bên ngoài thành chuỗi bit :

a. luôn bảo toàn đầy tủ thông tin gốc.

b. luôn làm mất mát 1 phần thông tin gốc.

c. có thể làm mất mát 1 phần thông tin gốc.

d. cả 3 câu trên đều sai.

Đáp án : câu c.

Câu 25 : Việc giải mã chuỗi bit trong máy tính thành thông tin bên ngoài :

a. luôn bảo toàn đầy tủ thông tin gốc trong chuỗi bit.

b. luôn làm mất mát 1 phần thông tin gốc trong chuỗi bit.

c. có thể làm mất mát 1 phần thông tin gốc trong chuỗi bit.

d. cả 3 câu trên đều sai.

Đáp án : câu c.

Câu 26 : Để truy xuất dữ liệu, ta dùng :

a. tên nhận dạng.

b. kiểu.

c. tẩm vực truy xuất.

d. cả 3 câu trên.

Đáp án : câu a.

Câu 27 : Theo mô hình Von Neumann, khối bộ nhớ dùng để

a. thực thi từng lệnh của chương trình.

b. giao tiếp với bên ngoài để nhập/xuất tin.

c. chứa code và data đang thực thi.

d. làm cả 3 chức năng trên.

Đáp án : câu a.

Câu 28: Định nghĩa và gọi chương trình con làm:

a. giảm công sức viết code.

b. ngắn bớt phần code được viết.

c. chương trình dễ đọc hơn.

d. cả 3 câu trên.

Đáp án : câu d.

Câu 29 : Trong qui trình giải quyết bài toán bằng máy tính số, bước giải mã được thực hiện

a. trước khi xử lý.

b. sau khi nhập dữ liệu.

c. sau khi xuất kết quả.

d. cả 3 câu trên đều sai

Đáp án : câu d.

Page 6: Cau Hoi Trac Nghiem Tin DC

Chương 2: THỂ HIỆN DỮ LIỆU TRONG MÁY TÍNH

Câu 1 : Khi biểu diễn lượng Integer 256D vào 2 ô nhớ 20H và 21H theo quy tắc Little Endian (LE) thì giá trị tương ứng của 2 ô nhớ này là:

a. 0D và 1D

b. 1D và 0D

c. 2D và 56D

d. 56D và 2D

Đáp án : câu a.

Câu 2 : Giá trị của biểu thức 1010B - 0111B trong hệ nhị phân là :

a. 0101

b. 0011

c. 0111

d. Giá trị khác

Đáp án : câu b.

Câu 3 : Chọn phát biểu đúng :

a. Bảng mã ASCII có thể mô tả được tất cả ký tự tiếng Việt.

b. Cùng một 1 source code VB, nếu mã hóa bằng mã Unicode Windows (USC-2) thì dung lượng gấp 2 lần so với trường hợp mã hóa bằng mã ASCII.

c. Các bảng mã tiếng Việt đang dùng đều được chuẩn hóa.

d. Tất cả các câu trên đều đúng.

Đáp án : câu b.

Câu 4 : Để truy xuất 1 dữ liệu cụ thể, ta cần các thông tin :

a. tên nhận dạng, kiểu dữ liệu và tầm vực truy xuất.

b. tên nhận dạng và tầm vực truy xuất

c. kiểu dữ liệu

d. cả 3 câu trên đều sai

Đáp án : câu a.

Câu 5 : Tính giá trị biểu thức sau trong hệ nhị phân 100011 / 101 =

a. 111

b. 101

c. 110

d. Cả 3 câu trên đều sai

Đáp án : câu a.

Câu 6 : Chọn câu đúng trong các câu sau :

a. Tập đầy đủ các ký tự tiếng Việt không thể mã hóa được khi sử dụng 1 byte.

b. Bộ mã Unicode có thể mã hóa cho tất cả các ký tự của tất cả các ngôn ngữ trên thế giới.

c. Mỗi ký tự mã hóa bằng mã ASCII 7 bit chiếm đúng 7 bit trong bộ nhớ.

d. Cả 3 câu trên đều đúng.

Đáp án : câu d.

Câu 7 : Lượng A2FH tương đương với giá trị thập phân sau :

a. 41712

b. 2607

c. 2608

d. Giá trị khác

Đáp án : câu b.

Câu 8 : Chọn câu sai :

a. Thư mục gốc là thư mục cấp cao nhất trong một thiết bị chứa tin

Page 7: Cau Hoi Trac Nghiem Tin DC

b. Đường dẫn tuyệt đối bắt đầu từ thư mục gốc nên luôn dài hơn đường dẫn tương đối.

c. Ở góc độ luận lý, file là phần tử chứa trực tiếp dữ liệu lưu trên máy, thư mục là phần tử chứa các thư mục khác hay các file.

d. Đại số Boole chỉ nghiên cứu các phép toán trên kiểu dữ liệu nhị phân và không bao gồm phép toán cộng, trừ, nhân, chia.

Đáp án : câu b.

Câu 9 : Các thông tin cần biết để truy xuất một dữ liệu là :

a. tên nhận dạng, kiểu dữ liệu, giá trị dữ liệu

b. tên nhận dạng, giá trị dữ liệu, tầm vực truy xuất

c . tên nhận dạng, tầm vực truy xuất, kiểu dữ liệu .

d. Cả 3 câu trên đều sai.

Đáp án : câu c.

Câu 10 : Giá trị số 5 được biểu diễn trong hệ nhị phân sau khi dịch trái 3 bit sẽ có giá trị

a. 15

b. 20

c. 40

d. 125

Đáp án : câu c.

Câu 11 : Chọn câu đúng trong các câu sau :

a. Mã ASCII sử dụng các giá trị đầu để mã hóa các ký tự điều khiển.

b. Mã ISO8859-1 sử dụng 128 giá trị đầu để mã hóa các ký tự của bảng mã ASCII.

c. Mã UNICODE sử dụng 256 giá trị đầu để mã hóa các ký tự của bảng mã ISO8859-1

d. Cả 3 câu trên đều đúng

Đáp án : câu d.

Câu 12 : Trong hệ nhị phân, chọn câu đúng trong 4 câu sau :

a. 1001 * 0101 = 101100

b. 1001 * 0101 = 101101

c. 1001 * 0101 = 100101

d. Cả 3 câu trên đều sai

Đáp án : câu b.

Câu 13 : Xét các toán tử bitwise, chọn câu đúng trong các câu sau :

a. x = 1, y = 0 x or y = 0

b. x = 1, y = 1 x and y = 0

c. x = 1, y = 0 x xor y = 1

d. x = 0, y = 0 x nand y = 0

Đáp án : câu c.

Câu 14 : Các hệ thống số khác nhau sẽ khác nhau ở :

a. Cơ số

b. Quy luật kết hợp các ký số

c. Các phép tính cơ bản trên các số

d. Cả 3 câu trên đều đúng.

Đáp án : câu a.

Câu 15 : Số thực 16.0164 tương đương với :

a. 16.0164E0

b. 160.164E-1

c. 1.60164E1

d. Cả 3 đều đúng.

Đáp án : câu d.

Câu 16 : Hãy chọn biểu diễn đúng của lượng "sáu mươi bảy" trong các hệ thống số tương ứng sau :

a. Hệ nhị phân : &B1000011

Page 8: Cau Hoi Trac Nghiem Tin DC

b. Hệ thập lục phân : &H43

c. Hệ bát phân : &O103

d. Cả ba câu trên đều đúng.

Đáp án : câu d.

Câu 17 : Cho biết kết quả của phép dịch trái 3 bit của số 13 (thập phân) :

a. 52

b. 63

c. 104

d. 237

Đáp án : câu c.

Câu 18 : Để lưu trữ số nguyên thập phân là 260 vào bộ nhớ theo quy định Little Endian, thì kết quả lưu trữ (thập phân) là :

a. Địa chỉ thấp Địa chỉ cao

02 60

b. Địa chỉ thấp Địa chỉ cao

60 02

c . Địa chỉ thấp Địa chỉ cao

04 01

d Địa chỉ thấp Địa chỉ cao

01 04

Đáp án : câu c.

Câu 19 : Số nhị phân &B101100.101 tương ứng với số thập phân sau

a. 44.625

b. 44.125

c. 40.625

d. 48.625

Đáp án : câu a.

Câu 20 : Số 8 dịch trái 4 bit, thực hiện phép toán NOR với số 10 sẽ có kết quả là:

a. &B01110101

b. 117

c. &H765

d. Cả câu a và b đều đúng

Đáp án : câu d.

Câu 21 : Số &H18 dịch phải 2 bit, thực hiện phép toán OR với số 10 sẽ có kết quả là:

a. 24

b. 14

c. 1110

d. Cả 3 câu trên đều sai

Đáp án : câu b.

Câu 22 : Cột nào trong bảng sau có gia trị sai :

C1 = A and (not B)

C2 = (not A) or B

C3 = A xor B

C4 = (not A) xor (not B)

A B C1 C2 C3 C4

0 0 0 1 0 0

0 1 0 1 1 1

1 0 0 0 1 1

1 1 1 1 0 0

a. C1

b. C2

c. C3

d. C4

Đáp án : câu a.

Page 9: Cau Hoi Trac Nghiem Tin DC

Câu 23 : Theo qui định hệ thống số nhị phân về các đơn vị đo lường (K=kilo, M=mega), hãy chọn câu sai :

a. 16 K = 4000H

b. 8 M = 800000H

c. 128 K = 40000H

d. 32 M = 2000000H

Đáp án : câu c.

Câu 24 : Cho cây thư mục sau, nếu thư mục hiện hành là "Tim" thì đường dẫn tương đối đến tập tin "Cam" là :

a. Xanh\\\Do\Cam

b. . .\ . .\Do\Cam

c. .\ .\Do\Cam

d. Tim\Xanh\\\Do\Cam

Đáp án : câu b.

Câu 25 : Muốn cho tập tin không bị xóa, không thể thấy và không cần "backup" thì cần có các thuộc tính sau :

a. Read Only và Archive

b. Hidden và Archive

c. Hidden và Read Only

d. Hidden, Read Only và Archive

Đáp án : câu c.

Câu 26 : Tính giá trị cho biểu thức sau trên số 4 bit : (not 13) and ( 6 or (not 14))

a. 15

b. 0

c. 4

d. 2

Đáp án : câu d.

Câu 27 : Số nhị phân 01101001.01 có giá trị tính trong hệ thập phân là :

a. 107.5

b. 105.25

c. 106.03

d. 103.625

Đáp án : câu b.

Câu 28 : Bảng mã nào sử dụng 2 byte để mã hóa ký tự ?

a. ASCII

b. Unicode trong Windows

c. ISO 8859-1

d. cả 3 câu trên đều sai.

Đáp án : câu b.

Câu 29 : Đường dẫn nào sau đây là tuyệt đối ?

a. C:VisualStudio6\VB6\minical.vbp

b. A:\minical.vbp

c. VisualStudio6\minical.vbp

d. cả 3 câu trên đều đúng.

Đáp án : câu b.

Câu 30 : Thao tác nào sau đây cho phép chọn nhiều file liên tiếp

a. Chọn file đầu, shift chọn file kế, shift chọn file kế, …, shift chọn file cuối.

b. Chọn file đầu, shift chọn file cuối.

Page 10: Cau Hoi Trac Nghiem Tin DC

c. Chọn file đầu, ctrl chọn file kế, ctrl chọn file kế, …, ctrl chọn file cuối.

d. cả 3 câu trên đều đúng.

Đáp án : câu d.

Câu 31 : Hãy chọn câu sai

a. 16 KB = 4000H bytes

b. 4 MB = 800000H bytes

c. 128 KB = 20000H bytes

d. 32 MB = 2000000H bytes

Đáp án : câu b.

Câu 32 : Tính giá trị cho biểu thức sau trên số 4 bit : (not 12) or ( 7 and (not 1))

a. 15

b. 0

c. 7

d. 3

Đáp án : câu c.

Câu 33 : Qui trình di dời (không phải sao chép) tập tin trong Windows explorer là :

a. Chọn-Copy-Paste

b. Cut-Paste-Chọn

c. Chọn-Paste-Cut

d. Cả 3 câu trên đều sai

Đáp án : câu d.

Page 11: Cau Hoi Trac Nghiem Tin DC

Chương 3: TỔNG QUÁT VỀ LẬP TRÌNH BẰNG VB.

Câu 1 :       Chọn câu đúng nhất :

a.  ngôn ngữ VB không đủ mạnh để miêu tả các giải thuật toán học phức tạp.

b.  ngôn ngữ VB đủ mạnh để miêu tả các giải thuật toán học phức tạp.

c.  ngôn ngữ VB chỉ thích hợp cho các ứng dụng văn phòng.

d.  chỉ có câu a. và c. đúng.

Đáp án : câu b.

Câu 2 :       Mô hình đối tượng quan niệm chương trình bao gồm

a.  Tập các đối tượng sinh sống và tương tác với nhau

b.  Cấu trúc dữ liệu và giải thuật

c.  Cả a và b đều đúng

d.  Cả a và b đều sai

Đáp án : câu a.

Câu 3 :       Visual Basic

a.  Hỗ trợ cho lập trình hướng đối tượng

b.  Hỗ trợ cho lập trình hướng cấu trúc

c.  Cung cấp môi trường lập trình trực quan

d.  Cả 3 câu trên đều đúng

Đáp án : câu d.

Câu 4 :       Sử dụng đối tượng giao diện Option Button trong chương trình khi :

a.  Người sử dụng chỉ có thể chọn duy nhất một thông tin trong các thông tin hiển thị.

b.  Người sử dụng có thể chọn nhiều hơn một thông tin trong các thông tin hiển thị.

c.  Người sử dụng phải chọn hết tất cả các thông tin hiển thị

d.  Cả 3 câu trên đều sai

Đáp án : câu a.

Câu 5 :       Sử dụng đối tượng giao diện Check Box trong chương trình khi

a.  Người sử dụng có thể chọn một thông tin trong các thông tin hiển thị.

b.  Người sử dụng có thể không cần chọn thông tin nào trong các thông tin hiển thị.

c.  Người sử dụng có thể chọn tất cả các thông tin trong các thông tin hiển thị.

d.  Cả 3 câu trên đều đúng

Đáp án : câu d.

Câu 6 :       Theo quan điểm lập trình hướng đối tượng, khi lập trình người sử dụng đối tượng :

a.  Cần quan tâm đến chi tiết hiện thực bên trong của đối tượng cũng như interface của đối tượng

b.  Chỉ cần biết interface của đối tượng mà không cần quan tâm đến chi tiết hiện thực bên trong

c.  Chỉ cần quan tâm đến chi tiết hiện thực bên trong mà không cần quan tâm đến interface của đối tượng

d.  Cả 3 câu trên đều sai

Đáp án : câu b.

Câu 7 :       Theo quan điểm lập trình hướng đối tượng (OOP) thì câu nào dưới đây sai :

a.  Người dùng không cần quan tâm đến chi tiết hiện thực (implementation) bên trong của đối tượng mà chỉ cần quan tâm đến giao tiếp (interface) của đối tượng.

b.  Thông thường các đối tượng có các thuộc tính (attribute) và các hành vi (method).

c.  hai đối tượng có thể truy xuất dữ liệu trực tiếp lẫn nhau.

d.  chương trình là tập hợp các đối tượng tương tác lẫn nhau.

Page 12: Cau Hoi Trac Nghiem Tin DC

Đáp án : câu c.

Câu 8 :       Tính bao đóng (encapsulation) của đối tượng là :

a.  Không cho bên ngoài thấy và sử dụng bất kỳ một hành vi hay thuộc tính nào của đối tượng.

b.  Che dấu chi tiết hiện thực bên trong của đối tượng, cung cấp những interface cần thiết để bên ngoài có thể sử dụng được đối tượng.

c.  Một đối tượng có thể chứa nhiều đối tượng con trong nó.

d.  cả 3 câu trên đều sai.

Đáp án : câu b.

Câu 9 :       Trong quan điểm lập trình hướng đối tượng :

a.  Đối tượng của class con có thể đóng vai trò của đối tượng cha.

b.  Đối tượng của class cha có thể đóng vai trò của đối tượng con.

c.  Cả hai câu trên đều đúng.

d.  Cả hai câu trên đều sai.

Đáp án : câu a.

Câu 10 :    Một thông điệp (message) phải bao gồm các thành phần sau (theo thứ tự)

a.  Tham khảo đến đối tượng, tên thuộc tính, tên phương thức.

b.  Tham khảo đến đối tượng, danh sách tham số thực, tên tác vụ.

c.  Tham khảo đến đối tượng, tên thuộc tính, danh sách tham số thực.

d.  Tham khảo đến đối tượng, tên tác vụ, danh sách tham số thực.

Đáp án : câu d.

Câu 11 :    Thuật ngữ “Override” trong lập trình hướng đối tượng là :

a.  Có thể viết lại một số method ở class con (các method này đã được xây dựng trong class cha).

b.  Đối tượng của class con sẽ thừa hưởng tất cả các thuộc tính của class cha.

c.  Đối tượng con sẽ che hoàn toàn đối tượng cha.

d.  Tất cả các phát biểu trên đều đúng.

Đáp án : câu a.

Câu 12 :    Trong lập trình hướng đối tượng, phương tiện để các đối tượng tương tác với nhau là :

a.  thuộc tính của các đối tượng.

b.  method (phương thức) của các đối tượng.

c.  thông điệp.

d.  Cả 3 câu trên đều đúng.

Đáp án : câu c.

Câu 13 :    Chọn câu đúng trong 4 câu sau :

a.  Đối tượng của class con có thể thay thế đối tượng class cha.

b.  Đối tượng của class cha có thể thay thế đối tượng class con.

c.  Cả 2 câu a. và b. đều đúng.

d.  Cả 2 câu a. và b. đều sai.

Đáp án : câu a.

Câu 14 :    Phần mềm là 1 tập các đối tượng sống tương tác lẫn nhau, nhưng để phần mềm tin cậy, dễ bảo trì và dễ nâng cấp, ta muốn :

a.  mỗi đối tượng có interface càng lớn càng tốt hầu sử dụng nó dễ dàng.

b.  mỗi đối tượng có interface càng nhỏ càng tốt hầu tối thiểu hóa sự tương tác giữa các đối tượng.

c.  mỗi đối tượng được bao đóng hoàn toàn, không ai có thể tương tác với nó.

d.  Cả 3 câu trên đều sai.

Đáp án : câu b.

Page 13: Cau Hoi Trac Nghiem Tin DC

Câu 15 :Override trong thừa kế class có nghĩa là:

a.  định nghĩa lại thuộc tính hay tác vụ (operation).

b.  viết lại method ở class con,  kết quả override chỉ có tác dụng trên các đối tượng của class con.

c.  xóa thuộc tính hay tác vụ của class cha mà class con không cần dùng.

d.  Cả 3 câu trên đều sai.

Đáp án : câu b.

Câu 16 :    Lập trình theo trường phái cấu trúc có những nhược điểm sau :

a.  rất khó đảm bảo tính nhất quán và đúng đắn của dữ liệu toàn cục

b.  không cho phép tạo tự động nhiều “instance” của cùng một module

c.  không hỗ trợ tốt cho việc xây dựng môi trường thiết kế giao diện trực quan của ứng dụng.

d.  Cả 3 câu trênđều đúng.

Đáp án : câu d.

Câu 17 :    Cơ chế 'override' liên quan đến tính chất nào của lập trình hướng đối tượng:

a.  tính bao đóng (encapsulation)

b.     tính thừa kế (inheritance)

c.     tính bao gộp (aggregation)

d.  Cả ba câu trên đều đúng.

Đáp án : câu b.

Câu 18 :    Phương tiện giao tiếp (hay tương tác) giữa các đối tượng trong một chương trình hướng đối tượng là :

a.  truyền thông điệp (message)

b.  thông qua biến toàn cục

c.  thông qua file

d.  Cả ba đều đúng

Đáp án : câu a.

Câu 19 :   Trường hợp nào sau đây có thể lấy làm ví dụ cho tính bao gộp của lập trình hướng đối tượng :

a.  Người sử dụng không cần biết code bên trong của các phương thức chỉ cần biết cách dùng các phương thức.

b.  Một đối tượng tam giác bao gồm ba đối tượng điểm.

c.  Tam giác cân có tính chất gì thì tam giác đều có tính chất đó.

d.  Cả ba đều đúng.

Đáp án : câu b.

Câu 20 :    Tính chất gì của hướng đối tượng cho phép giảm nhẹ công sức định nghĩa kiểu/lớp ?

a.  Tính bao gộp

b.  Tính bao đóng

c.  Tính thừa kế

d.  Tính hiện đại

Đáp án : câu c.

Câu 21 :    Chọn câu đúng

a.  Lập trình cấu trúc luôn đảm bảo tính nhất quán của dữ liệu toàn cục.

b.  Lập trình cấu trúc luôn luôn làm được những gì mà OOP làm được.

c.  Lập trình cấu trúc không cho phép tạo tự động nhiều nhân bản của cùng một module.

d.  Lập trình cấu trúc ra đời nhằm khắc phục nhược điểm của OOP.

Đáp án : câu c.

Câu 22 :    Tính bao đóng của OOP cho phép :

a.  Một đối tượng có thể chứa nhiều đối tượng khác.

b.  Che dấu mọi chi tiết hiện thực bên trong đối tượng.

c.  Chỉ che dấu các thuộc tính của đối tượng.

d.  Câu b và c đều đúng.

Page 14: Cau Hoi Trac Nghiem Tin DC

Đáp án : câu b.

Câu 23 :    Ta nói "đối tượng con" là đối tượng của class con, và "đối tượng cha" là "đối tượng của class cha". Hãy chọn câu đúng :

a.  Một đối tượng con không thể đại diện cho đối tượng cha.

b.  Một đối tượng con chỉ có thể đại diện cho một đối tượng cha duy nhất.

c.  Một đối tượng cha có thể đại diện cho nhiều đối tượng con khác nhau.

d.  Một đối tượng con có thể đại diện cho bất kỳ đối tượng cha nào.

Đáp án : câu d.

Câu 24 :    Tính chất gì của OOP cho phép giảm nhẹ công sức định nghĩa kiểu/lớp ?

a.  Tính bao gộp

b.  Tính thừa kế

c.  Tính bao đóng

d.  Tính che dấu

Đáp án : câu b.

Câu 25 :    Chọn phát biểu đúng

a.  Mỗi đối tượng được đặc trưng bằng 2 yếu tố thuộc tính và tác vụ.

b.  Interface của một đối tượng là tập hợp các chức năng của đối tượng mà bên ngoài có thể dùng.

c.  Interface của đối tượng là nơi chứa code của đối tượng.

d.  Cả a và b đều đúng.

Đáp án : câu d.

Câu 26 :    Tính bao đóng trong hướng đối tượng cho phép :

a.  Một đối tượng có thể chứa nhiều đối tượng khác.

b.  Che dấu mọi chi tiết hiện thực bên trong đối tượng.

c.  Chỉ che dấu các thuộc tính của đối tượng.

d.  Câu b và c đều đúng.

Đáp án : câu b.

Câu 27 :    Chọn câu đúng

a.  Một đối tượng con không thể đại diện cho đối tượng cha.

b.  Một đối tượng con chỉ có thể đại diện cho một đối tượng cha duy nhất.

c.  Một đối tượng cha có thể đại diện cho nhiều đối tượng con khác nhau.

d.  Một đối tượng con có thể đại diện cho nhiều đối tượng cha khác nhau.

Đáp án : câu d.

Câu 28 :    Chọn phát biểu đúng

a.  Ưu điểm của lập trình cấu trúc là bất kỳ lệnh nào cũng có thể truy xuất dữ liệu toàn cục.

b.  Cơ chế lập trình cấu trúc cho phép tạo tự động nhiều ‘instance’ của cùng 1 module.

c.  Lập trình hướng đối tượng quan niệm rằng chương trình là một tập hợp các đối tượng hoàn toàn độc lập và không thể tương tác với nhau.

d.  Cả 3 đều sai.

Đáp án : câu d.

Câu 29 :    Trong lập trình hướng đối tượng, “override” là:

a.  Cho phép hiện thực lại trong lớp con một số method của lớp cha

b.  Cho phép lớp cha được sử dụng các method của lớp con

c.  Cho phép lớp con được che dấu mọi thuộc tính của lớp cha

d.  Cả 3 đều đúng

Đáp án : câu a.

Page 15: Cau Hoi Trac Nghiem Tin DC

Câu 30 :    Tính bao đóng (encapsulation) của đối tượng là:

a.  Che dấu các thuộc tính bên trong của đối tượng.

b.  Che dấu chi tiết hiện thực các method của đối tượng

c.  Cung cấp interface để bên ngoài có thể giao tiếp với đối tượng

d.  Cả 3 đều đúng

Đáp án : câu d.

Page 16: Cau Hoi Trac Nghiem Tin DC

Chương 4: QUI TRÌNH THIẾT KẾ TRỰC QUAN GIAO DIỆN

Câu 1 :       Thuộc tính “Caption” của đối tượng Command Button nhằm để chứa :

a. Chuỗi hiển thị trên đối tượng

b. Tên đối tượng

c. Cả a và b đều sai.

d. Cả a và b đều đúng.

Đáp án : câu a.

Câu 2 :       Khi dùng “Menu Editor” để thiết kế Menu Bar, chúng ta phải nhập ít nhất 2 thuộc tính:

a. Caption, Index                              

b. Name, Index

c. Caption, Name

d. Tất cả đều sai.

Đáp án : câu c.

Câu 3 :       Chúng ta có thể truy xuất chính xác các Image trong ImageList thông qua thuộc tính :

a. Index                                                       

b. Key

c. Cả a và b đều đúng          

d. Không có câu nào đúng.

Đáp án : câu c.

Câu 4 :       Giá trị của thuộc tính đối tượng giao diện có thể được hiệu chỉnh bằng cách :

a.  Trực quan thông qua cửa sổ thuộc tính của giao diện

b.  Lập trình truy xuất thuộc tính của đối tượng giao diện

c.  Cả a và b đều đúng

d.  Cả a và b đều sai

Đáp án : câu c.

Câu 5 :       Các thuộc tính của các đối tượng giao diện có thể :

a.  Thay đổi trong quá trình thiết kế giao diện trực quan.

b.  Thay đổi trong quá trình viết code.

c.  Thay đổi trong khi chương trình chạy.

d.  Cả ba câu a, b, c đều đúng.

Đáp án : câu d.

Câu 6 :       Để khoảng cách dọc giữa các đối tượng đều nhau, bạn chọn đối tượng rồi chọn

a.  menu Format.Horizontal Spacing. Make Equal.

b.  menu Format.Make Same Size.Both

c.  menu Format.Vertical Spacing. Make Equal.

d.  Cả ba câu đều sai.

Đáp án : câu c.

Câu 7 :       Chọn câu đúng trong các câu sau:

a. Giá trị của thuộc tính Name của một đối tượng giao diện là tên nhận dạng của đối tượng đó, được dùng để truy xuất đối tượng.

b. Các đối tượng giao diện trong cùng một Form thì không được có cùng giá trị của thuộc tính Caption.

c. Chúng ta chỉ có thể thay đối các thuộc tính của đối tượng giao diện trong lúc thiết kế giao diện.

d. Cả ba câu trên đều đúng.

Đáp án : câu a.

Câu 8 :       Chọn câu đúng trong các câu sau:

a. Hàm xử lý sự kiện/biến cố (event) là một thuộc tính của đối tượng giao diện nhằm đáp ứng lại sự tương tác của người sử dụng đối với đối tượng đó.

b. Chỉ có thể thay đổi kích thước của đối tượng giao diện bằng cách dùng chuột chọn đối tượng, sau đó kéo giãn các góc của đối tượng.

Page 17: Cau Hoi Trac Nghiem Tin DC

c. Mỗi đối tượng giao diện chỉ có một hàm xử lý biến cố.

d. Các câu trên đều sai.

Đáp án : câu d.

Câu 9 :       Để xây dựng một ứng dụng VB, thông thường chúng ta phải thực hiện các bước (1) thiết kế giao diện, (2) viết Code, (3) tạo thủ tục xử lý sự kiện, (4) thiết lập giá trị thuộc tính. Ta nên thực hiện các bước trên theo thứ tự nào?

a.  (1), (2), (3), (4)

b.  (1), (3), (4), (2)

c.  (1), (4), (3), (2)

d.  (1), (3), (2), (4)

Đáp án : câu c.

Câu 10 :    Chọn phát biểu SAI

a.  Class module, form module, và standard module là 3 loại phần tử chứa code của một project VB

b.  Class module định nghĩa sự hiện thực của 1 lớp đối tượng có cấu trúc và hành vi giống nhau

c.  Form module chỉ là một trường hợp đặc biệt của class module.

d.  Khái niệm Standard module là một đặc trưng của lập trình hướng đối tượng.

Đáp án : câu d.

Câu 11 :    Thuộc tính Name của đối tượng giao diện:

a.  Là tên nhận dạng của đối tượng, đối tượng nào cũng có thuộc tính này.

b.  Giá trị của thuộc tính này sẽ trở thành biến tham khảo đến đối tượng, code của ứng dụng sẽ dùng biến này để truy xuất đối tượng.

c.  Khi đối tượng được tạo ra, chương trình sẽ tự sinh ra một tên nhận dạng cho đối tượng và ta có thể thay đổi tên nhận dạng này.

d.  Cả 3 câu trên đều đúng.

Đáp án : câu d.

Câu 12 :    Chọn phát biểu sai :

a. ImageList là đối tượng giao diện không được hiện ra khi chương trình thực thi.

b. Để một đối tượng Command Button đáp ứng sự tương tác của người dùng, ta phải tạo các hàm xử lý sự kiện cho đối tượng đó.

c. Với mỗi đối tượng giao diện, ta chỉ có thể tạo được một hàm xử lý sự kiện cho đối tượng đó.

d. Khi người dùng ấn chuột vào nút nhấn nào trên một Toolbar thì cũng đều kích hoạt cùng một hàm xử lý sự kiện.

Đáp án : câu c.

Câu 13 :    Thao tác nào sau đây có thể áp dụng cho một đối tượng giao diện :

a. Thay đổi vị trí.

b. Thay đối định danh (Name).

c. Thay đối giá trị các thuộc tính.

d. Thay đổi kích thước.

Xem đáp án c

Đáp án : câu c.

Câu 14 :    Trong ứng dụng dạng Dialog-based (dùng project Standard EXE) :

a.  Chỉ tạo được một form giao diện.

b.  Không tạo được (standard) module.

c.  Không tạo được class module.

d.  Các câu trên đều sai.

Đáp án : câu d.

Câu 15 :    Thiết kế giao diện trực quan là ta thấy sự thay đổi của đối tượng giao diện ngay khi thao tác chúng, vậy trong VB, đối tượng giao diện nào sau đây được thiết kế trực quan :

a.  Menu bar

b.  Textbox

Page 18: Cau Hoi Trac Nghiem Tin DC

c.  Toolbar

d.  Câu b. và c. đều đúng.

Đáp án : câu d.

Câu 16 :    Để cho người sử dụng nhập thông tin vào, ta có thể sử dụng đối tượng giao diện :

a.  Label

b.  Command Button

c.  Textbox

d.  Tất cả các câu trên đều đúng.

Đáp án : câu c.

Câu 17 :    Các đối tượng giao diện nào sau đây là có sẵn trên thanh Toolbox :

a.  ImageList

b.  CommonDialog

c.  Frame

d.  Toolbar

Đáp án : câu c.

Câu 18 :    Những thuộc tính nào sau đây KHÔNG phải là thuộc tính của đối tượng CommandButton :

a.  Enabled

b.  Caption

c.  Text

d.  Cả ba thuộc tính trên

Đáp án : câu c.

Câu 19 :    Trong việc thiết kế giao diện của chương trình giải phương trình bậc 2 (bài thực hành số 2) những đối tượng giao diện nào sau đây là đã được sử dụng :

a.  OptionButton, CheckBox

b.  ImageList, CommonDialog

c.  TextBox, Label, CommandButton

d.  Tất cả các đối tượng trên

Đáp án : câu c.

Câu 20 :    Method nào sau đây sẽ được thực thi khi form lần đầu được chạy:

a.  Form_Start()

b.  Form_Load()

c.  Form_Initialize()

d.  Form_Click()

Đáp án : câu b.

Câu 21 :    Muốn truy xuất các thuộc tính của phần tử giao diện trong khi viết code, cần sử dụng :

a. thuộc tính "Name" của nó

b. thuộc tính "Object" của nó.

c.  thuộc tính "Caption" của nó.

d.  thuộc tính "Text" của nó.

Đáp án : câu a.

Câu 22 :    Để tạo Toolbar cho một form, ta cần thêm tập các điều khiển nào vào cửa sổ Toolbox của project:

a.  Microsoft Toolbar Control 5.0

b.  Microsoft Toolbox Control 6.0

c.  Microsoft Winsock Control 6.0

d.  Microsoft Windows Common Controls 6.0

Đáp án : câu d.

Câu 23 :    Thuộc tính nào sau đây không phải là thuộc tính của đối tượng Label :

a.  Caption

b.  Text

c.  Visible

d.  Enabled

Page 19: Cau Hoi Trac Nghiem Tin DC

Đáp án : câu b.

Câu 24 :    Để chỉnh cho khoảng cách dọc giữa các đối tượng đều nhau, ta chọn các đối tượng liên quan rồi chọn menu :

a.  Format Vertical Size Make Equal

b.  Format Make Same Size Vertical

c.  Format Vertical Spacing Make Equal

d.  Format Vertical Make Same Size

Đáp án : câu c.

Câu 25 :    Trong giao diện SDI, cửa sổ chương trình bao gồm:

a.  1 Menubar, 1 Toolbar, 1 cửa sổ làm việc

b.  1 hay nhiều Menubar, 1 Toolbar, 1 cửa sổ làm việc

c.  1 Menubar, 1 hay nhiều Toolbar, 1 cửa sổ làm việc

d.  1 Menubar, 1 Toolbar, 1 hay nhiều cửa sổ làm việc

Đáp án : câu c.

Câu 26 :    Các đối tượng giao diện nào sau đây là KHÔNG có sẵn trên thanh Toolbox:

a.  OptionButton

b.  CommonDialog

c.  DriveListBox

d.  PictureBox

Đáp án : câu b.

Câu 27 :    Những thuộc tính nào sau đây KHÔNG phải là thuộc tính của đối tượng CommandButton:

a.  ForeColor

b.  Font

c.  BackColor

d.  Enabled

Đáp án : câu a.

Câu 28 :    Khi tạo Menu Bar xong, nhưng menu lại không xuất hiện trên form. Điều này xảy ra do thuộc tính :

a.  Visible

b.  Checked

c.  WindowList

d.  Enable

Đáp án : câu a.

Câu 29 :    Trong khi thiết kế dự án, lúc ta nhấn kép vào nút thứ 3 từ trái sang phải của form sau thì thủ tục xử lý sự kiện nào được chọn (giả sử thuộc tính Name của các button trùng với thuộc tính Caption) ?

a.  Sub su_Click()

b.  Sub su_DoubleClick()

c.  Sub su_Double_Click()

d.  Không thể xác định.

Đáp án : câu a.

Câu 30 :    Chọn phát biểu đúng

a.  Mỗi đối tượng giao diện chỉ có một hàm xử lý sự kiện

b.  Mỗi đối tượng giao diện có thể có nhiều hàm xử lý sự kiện

c.  Mỗi đối tượng giao diện bắt buộc phải cài ít nhất một hàm xử lý sự kiện

d.  Cả 3 đều sai

Đáp án : câu b.

Câu 31 :    Thuộc tính ‘Name’ của một đối tượng giao diện:

a.  VB sẽ tự tạo ra khi ta đặt đối tượng này lên form

Page 20: Cau Hoi Trac Nghiem Tin DC

b.  Ta có thể đặt thuộc tính ‘Name’ cho đối tượng giao diện

c.  Ta có thể đặt cùng thuộc tính ‘Name’ cho nhiều đối tượng giao diện khác nhau, nhưng phải khác nhau về thuộc tính ‘Index’

d.  Cả 3 đều đúng

Đáp án : câu d.

Câu 32 :    Để truy xuất ảnh button:

a.  Ta dùng thuộc tính Index hoặc thuộc tính Caption.

b.  Ta dùng thuộc tính Key hoặc thuộc tính Caption.

c.  Ta dùng thuộc tính Index hoặc thuộc tính Key.

d.  Cả 3 câu trên đều sai.

Đáp án : câu c.

Câu 33 :    Chọn câu đúng:

a.  Thuộc tính Name của đối tượng giao diện được dùng để truy xuất đối tượng giao diện đó.

b.  Thuộc tính Caption của đối tượng giao diện được dùng để truy xuất đối tượng giao diện đó.

c.  Không thể thay đổi giá trị các thuộc tính của đối tượng giao diện trong lúc lập trình

d.  Cả ba câu trên đều đúng.

Đáp án : câu a.

Câu 34 :    Để thể hiện đường phân cách trong Menu, ta để Caption của một mục đó là :

a.  Kí tự “+“.

b.  Kí tự “-“.

c.  Kí tự “*“.

d.  Kí tự “/“.

Đáp án : câu b.

Câu 35 :    Thuộc tính nào sau đây của đối tượng Text Box cấm người dùng nhập dữ liệu vào Text Box từ bàn phím khi chạy chương trình.

a.  Locked = False

b.  Enabled = True

c.  Enabled = False

d.  Locked = True

Đáp án : câu d.

Câu 36 :    Để sử dụng một linh kiện phần mềm ta có thể dùng lệnh nào sau đây để thêm nó vào thanh Toolbox

a.  Project.Add References

b.  Project.Add Components

c.  Project.Components

d.  Project.References

Đáp án : câu c.

Page 21: Cau Hoi Trac Nghiem Tin DC

Chương 5: CÁC KIỂU DỮ LỆU CỦA VB

Câu 1 :       Xét kiểu dữ liệu Student sau đây :

     Type Student

          ID As String*8

         Name As String*40

         Age As Integer

         Priority As Boolean

     End Type

Kích thước của kiểu dữ liệu trên là :

a.  51 byte

b.  52 byte

c.  54 byte

d.  56 byte

Đáp án : câu b.

Câu 2 :       Trong Visual Basic, cho biết kiểu dữ liệu được định nghĩa sau đây có tổng kích thước các trường dữ liệu là bao nhiêu :

     Type Student

     ID As String * 8

     Name As String*40

     Birthday As Date

     Priority As Boolean

     End Type

 

a.  52

b.  58

c.  78

d.  54.

Đáp án : câu b.

Câu 3 :       Hãy cho biết phát biểu nào sau đây là khai báo biến hợp lệ trong Visual Basic :

a.  Dim str_Hoten_1 as String

b.  Dim str_Hoten.1 as String

c.  Dim str_Hoten&1 as String

d.  Dimension str_Hoten_1 as String

Đáp án : câu a.

Câu 4 :       Kiểu dữ liệu nào có kích thước có thể thay đổi :

a.  String

b.  Variant

c.  User defined

d.  Cả 3 câu trên đều đúng

Đáp án : câu d.

Câu 5 :       Giả sử ta có qui ước: một địa chỉ email bắt buộc có ký tự @, trước và sau ký tự @ đều phải có tối thiểu một ký tự. Một người muốn dùng toán tử LIKE để kiểm tra một chuỗi có thể là địa chỉ email không. Pattern người ấy nên dùng là:

a.  “*@*”

b.  “?@?”

c.  “*?@?*”

d.  “*#@#*”

Đáp án : câu c.

Câu 6 :       Cho đoạn chương trình sau :

Private Sub DoiSo()

Page 22: Cau Hoi Trac Nghiem Tin DC

  Dim bytX as Byte, intY as Integer

  intY = 1000

  bytX = intY

  Print bytX

End Sub

Hãy cho biết câu nào sau đây là đúng.

a. Chương trình sẽ báo lỗi vì khai báo biến không hợp lệ.

b. Chương trình sẽ báo lỗi lúc chạy.

c. Chương trình vẫn chạy được.

d. Các câu trên đều sai.

Đáp án : câu b.

Câu 7 :       Hãy cho biết kích thước của 1 biến kiểu SystemInfo sau có kích thước là bao nhiêu :

Option Base 0

Type SystemInfo

  CPU as Integer

  Memory as Long

  DiskDrivers(10) as String*8

End Type

a. 86 byte

b. 88 byte

c. 94 byte

d. Không biết

Đáp án : câu c.

Page 23: Cau Hoi Trac Nghiem Tin DC

Chương 6: CÁC LỆNH ĐỊNH NGHĨA & KHAI BÁO

Câu 1 :       Khai báo Option Explicit là khai báo :

a.  được đặt ở đầu chương trình (trong vùng Declarations của mục General).

b.  qui định bất kỳ một định danh (identifier) nào cũng phải khai báo rõ ràng trước khi sử dụng.

c.  có thể được dặt ở bất cứ nơi đâu trong chương trình.

d.  cả câu a và b đều đúng.

Đáp án : câu d.

Câu 2 :       Cho đoạn lệnh sau:

Option Compare Text

Dim MyCheck As Boolean

MyCheck = “Anh” = “aNh”

a.  Phép gán trên sai cú pháp.

b.  MyCheck sẽ có giá trị là True.

c.  MyCheck sẽ có giá trị là False.

d.  Tất cả các câu trên đều sai.

Đáp án : câu b.

Câu 3 :       Cho đọan lệnh sau:

         Dim myStr As String

         myStr = """Tin hoc 1"""

         msgBox myStr

Kết quả in ra màn hình sẽ là:

a.  Tin hoc 1

b.  "Tin hoc 1"

c.  ""Tin hoc 1""

d.  """Tin hoc 1"""

Đáp án : câu b.

Câu 4 :       Cho đoạn lệnh sau:

Dim matran() As Integer, n As Byte

n = CInt(InputBox (“Moi nhap 1 so”))

Redim matran(2 to n, 3 to n)          

Giả sử ta nhập số 5 vào hộp inputBox thì biến matran có bao nhiêu phần tử:

a.  25

b.  6

c.  2

d.  12

Đáp án : câu d.

Câu 5 :       Cho cú pháp biểu diễn một số nguyên trong hệ bát phân như sau:

            [+|-]&O[Ocdigit]+

những số nào sau đây không đúng cú pháp trên:

a. &O1234, &O678  

b.  456, &O415

c.  cả a. và b đều thoả cú pháp.

d.  cả a. và b đều không thoả cú pháp.

Đáp án : câu d.

Câu 6 :       Cho biết giá trị của biến MyCheck

MyCheck = ( "Tinhoc1" Like "T?[a-o][!i-k]*c#" ) Or Null

a.  True

b.  False

c.  Null

d.  Cả 3 câu trên đều sai.

Đáp án : câu a.

Page 24: Cau Hoi Trac Nghiem Tin DC

Câu 7 :       Để miêu tả 1 dữ liệu mà ứng dụng tham khảo nhiều lần, ta nên  :

a.  định nghĩa biến kết hợp với dữ liệu.

b.  định nghĩa hằng gợi nhớ kết hợp với dữ liệu.

c.  dùng lệnh InputBox() để yêu cầu người dùng nhập vào mỗi khi ứng dụng cần tham khảo.

d.  tùy trường hợp mà dùng a. hay b. hay c.

Đáp án : câu b.

Câu 8 :       Trong lập trình VB :

a.  Các biến có thể sử dụng không cần khai báo.

b.  Biến sử dụng mà không khai báo sẽ thuộc kiểu dữ liệu String.

c.  Các tên biến khác tầm vực không thể trùng tên.

d.  Các câu a. và b. đều đúng.

Đáp án : câu a.

Câu 9 :       Biến toàn cục :

a.  Có thể được truy xuất bởi bất kỳ câu lệnh nào trong chương trình.

b.  Được tạo ra khi chương trình được chạy và chỉ mất đi khi chương trình kết thúc.

c.  Câu a và b đều đúng.

d.  Câu a và b đều sai.

Đáp án : câu c.

Câu 10 :    Xét đoạn lệnh khai báo sau trong VB :

     Dim intB, A As Integer

a.  Kiểu dữ liệu của biến intB là Integer.

b.  Kiểu dữ liệu của biến intB là Variant.

c.  Không xác định được kiểu dữ liệu của intB.

d.  Các câu trên đều không đúng.

Đáp án : câu b.

Câu 11 :    Tên biến nào trong các tên biến sau là hợp lệ trong Visual Basic

a.  sum1-10

b.  sum1->10

c.  sum1to10

d.  sum1..10

Đáp án : câu c.

Câu 12 :    Chọn phát biểu sai trong các phát biểu sau

a. Qui tắc đặt tên cho hằng số cũng giống qui tắc đặt tên cho biến số trong chương trình.

b. Kiểu của biến qui định kích thước vùng nhớ dành cho biến và cách lưu trữ giá trị của biến đó.

c. Đặt tên biến theo kiểu Hungarian được dùng để thay thế cho việc khai báo kiểu của biến.

d. Trong module Visual Basic việc khai báo biến là không bắt buộc trừ khi ta thêm dòng lệnh Option Explicit vào đầu module.

Đáp án : câu c.

Câu 13 :    Lệnh nào sau đây thuộc loại lệnh định nghĩa :

a.  Lệnh định nghĩa biến chẳng hạn như  : Dim a

b.  Lệnh Option Explicit

c.  Lệnh Option Base

d.  Cả ba loại lệnh trên

Đáp án : câu d.

Câu 14 :    Chọn phát biểu đúng nhất

a.  Chúng ta không nên sử dụng chú thích trong chương trình

b.  Chúng ta nên chú thích cho từng câu lệnh trong chương trình

b.  Chúng ta chỉ cần chú thích ở đầu mỗi thủ tục để miêu tả thủ tục đó làm gì

Page 25: Cau Hoi Trac Nghiem Tin DC

d.  Chúng ta nên chú thích ở các nơi quan trọng như đầu mỗi thủ tục, các đoạn code miêu tả giải thuật phức tạp, các lệnh có hiệu ứng đặc biệt

Đáp án : câu d.

Câu 15 :    Chọn phát biểu đúng trong các phát biểu sau

a. Biến có tầm vực toàn cục có thể được truy xuất ở mọi nơi trong chương trình, trừ module khai báo nó.

b. Biến có tầm vực cục bộ trong module chỉ có thể được truy xuất trong module nó được khai báo.

c. Khi khai báo Public a As Integer, biến a sẽ là biến toàn cục.

d. Trong tầm vực của biến a, không thể khai báo thêm biến khác trùng tên a.

Đáp án : câu a.

Câu 16 :    Phát biểu nào sau đây là phát biểu khai báo trong VB :

a.  Dim

b.  Declare

c.  Function

d.  Sub

Đáp án : câu b.

Câu 17 :    Phát biểu nào sau đây là phát biểu định nghĩa biến :

a.  Dim

b.  Private

c.  Public

d.  Tất cả các câu trên đều đúng.

Đáp án : câu d.

Câu 18 :    Một biến thuộc kiểu Variant có thể chứa nội dung thuộc kiểu bất kỳ, làm sao máy tính biết giá trị của biến này thuộc kiểu dữ liệu nào để xử lý cho đúng :

a.  máy tính đủ thông minh để tự biết giá trị của biến Variant thuộc kiểu nào.

b.  kiểu Variant có 1 trường (field) miêu tả kiểu dữ liệu của giá trị hiện hành.

c.  máy tính dựa vào ngữ cảnh sử dụng biến Variant để quyết định giá trị của nó thuộc kiểu dữ liệu nào.

d.  cả 3 câu trên đều sai.

Đáp án : câu b.

Câu 19 :    Trong Visual Basic, biến toàn cục :

a.  Có thể truy xuất bởi bất kỳ câu lệnh nào trong chương trình.

b.  Được tạo ra khi chương trình được chạy và chỉ mất đi khi chương trình kết thúc.

c.  Câu a và b đều đúng.

d.  Câu a và b đều sai.

Đáp án : câu c.

Câu 20 :    Xét khai báo biến sau trong Visual Basic :

Dim intA, intB as Integer

Hãy cho biết kiểu dữ liệu của các biến intA và intB :

a.  intA và intB đều có kiểu là Integer.

b.  intA có kiểu là String, intB có kiểu là Integer.

c.  intA có kiểu là Variant, intB có kiểu là Integer.

d.  VB báo lỗi khi thông dịch hàng lệnh này.

Đáp án : câu c.

Câu 21 :    Cho đoạn chương trình sau:

Option Base 0

Dim matran() as Byte

…..

i = 5

m = 7

…..

ReDim matran(i to m,m)

Page 26: Cau Hoi Trac Nghiem Tin DC

Hỏi matran kia có bao nhiêu phần tử

a.  49

b.  24

c.  56

d.  21

Đáp án : câu b.

Câu 22 :    Dãy sau đây có bao nhiêu phần tử ?

     Option Base 1

     Dim MaTran(0 to 13,13) As Single

a.  169

b.  196

c.  182

d.  168

Đáp án : câu c.

Câu 23 :    Loại lệnh nào sau đây bắt buộc phải đặt trong thân của thủ tục (Sub, Function, Property)

a.  Lệnh thực thi

b.  Lệnh định nghĩa

c.  Lệnh khai báo

d.  Cả 3 loại lệnh trên

Đáp án : câu a.

Câu 24 :    Biến toàn cục trong VB :

a. Có thời gian sống bằng thời gian sống của chương trình

b.  Các hàm và thủ tục trong chương trình đều có thể truy xuất được

c.  Có thể được định nghĩa bên trong mỗi thủ tục.

d.  Câu a và b đều đúng

Đáp án : câu d.

Câu 25 :    Trong VB, giá trị của biểu thức sau bằng bao nhiêu?

(15 + 3 - 1 * 2) / 4 / 4

a. 1

b.  16

c.  4

d.  Giá trị khác

Đáp án : câu a.

Câu 26 :    Cách khai báo biến nào sau đây là đúng.

a.  Dim 8hours_a_day as Boolean, fiveDaysaWeek as Boolean

b.  Private you&me as String, weAreALLTogether as Single

c. Public an Integer as Integer, aSingle as Double

d. Dim dblarray[] as Double, bytOperator as Byte

Đáp án : câu c.

Câu 27 :    Trong một thủ tục có thể khai báo hai biến cùng tên được không?

a. Được, nếu một biến khai báo bằng Dim, biến khác bằng Private

b. Được, nếu một biến khai báo bằng Dim, biến khác là tham số hình thức

c. Được, nếu một biến khai báo bằng Private, biến khác bằng Public

d. Không được

Đáp án : câu d.

Câu 28 :    Biết rằng qui tắc mô tả một giá trị số thập phân thực là:

[+|-] [decdigit]+[.[decdigit]*] [E [+|-] [decdigit]+].

Hãy cho biết dãy số nào dưới đây là các số thập phân hợp lệ:

a. 3.256E+3.2,    &H3256,     &O74563

Page 27: Cau Hoi Trac Nghiem Tin DC

b. 0.00001E+8,   &D99.256,     3256E-6

c. 3.14159E0,    2563.25E+1,     0.23654

d. -563.214,    -56.3214E,     -5.63214E2

Đáp án : câu c.

Câu 29 :    Cho biết lệnh định nghĩa biến nào sau đây luôn luôn không hợp lệ (trong bất kỳ ngữ cảnh nào) :

a.  Dim Static a as integer

b.  Static a as integer

c.  Dim a as integer

d.  Dim a

Đáp án : câu a.

Câu 30 :    Đoạn chương trình sau sai ở dòng lệnh thứ mấy :

Private Sub Form_Click()       ‘ dòng 1

    Dim a As Byte                  ‘ dòng 2

    Dim b                               ‘ dòng 3

    a = 200                            ‘ dòng 4

    b = 100                            ‘ dòng 5

    Print " a + b = " & (a + b)   ‘ dòng 6

End Sub                               ‘ dòng 7

a.  Dòng 2

b.  Dòng 3

c.  Dòng 6

d.  Tất cả các dòng lệnh đều đúng.

Đáp án : câu d.

Câu 31 :    Cho đoạn chương trình sau :

Private Sub Command1_Click()

   Dim z As Single

   z = 12345.678912365

   Debug.Print z

End Sub

Kết quả z được in ra là

a.  12345.6789123

b.  12345.6789124

c.  12345.67

d.  12345.68

Đáp án : câu d.

Câu 32 :    Cho đoạn chương trình sau :

Option Explicit

Private Sub Command2_Click()

   Private y As Byte               ' dòng 3

   Dim z As Single

   z = 10.45

   y = z Mod 4.45                  ' dòng 6

End Sub

Chọn câu đúng :

a.  kết quả chạy thủ tục cho kết quả y = 2

b.  kết quả chạy thủ tục cho kết quả y = 1

c.  chương trình báo lỗi ở dòng 3

d.  chương trình báo lỗi ở dòng 6

Đáp án : câu c.

Câu 33 :    Cho đoạn chương trình sau :

Option Explicit

Static z As Double                ' dòng 2

Private Sub Command1_Click()

    z = 12345.6789123658956

Page 28: Cau Hoi Trac Nghiem Tin DC

    Print z

End Sub

Khi chạy thủ tục trên, kết quả là :

a.  z = 12345.6789123659

b.  chương trình báo lỗi ở dòng 2

c.  z = 12345.678912366

d.  z = 12345.6789123658956

Đáp án : câu b.

Câu 34 :    Cho đoạn chương trình sau :

Option Explicit

Option Base 1

Private Sub Command3_Click()

   Option Base 0        ' dòng 4

   Dim MT() As Integer

   Dim n As Integer, m As Integer

   n = 3

   m = n + 3

   ReDim MT(n, m)

End Sub

Khi chạy thủ tục trên, kết quả là :

a.  Số phần tử của MT là 18

b.  Số phần tử của MT là 28

c.  Số phần tử của MT là 21

d.  chương trình báo lỗi ở dòng 4

Đáp án : câu d.

Câu 35 :    Cho đoạn chương trình sau :

Private Sub Command4_Click()

   Dim x As Long

   Dim z, y As Single

   x = 1234567899

   y = 1.234567

   z = x + y               'dòng 6

   Print z

End Sub

Khi chạy thủ tục trên thì kết quả hiển thị của z là :

a.  z = 1234567900.234567

b.  z = 1234567900.23457

c.  z = 1234567900.23456

d.  chương trình báo lỗi ở dòng 6

Đáp án : câu b.

Câu 36 :    Cho đoạn chương trình sau:

Private Sub Command6_Click()

   Dim x As Boolean, y As Boolean

   x = True

   y = False

   If x Eqv y Then

       Print 5

   ElseIf (x Imp y) And (y Imp x) Then

       Print 3

   Else

       Print 4

   End If

End Sub

Khi thủ tục trên, kết quả in ra là :

a.  5

b.  4

Page 29: Cau Hoi Trac Nghiem Tin DC

c.  3

d.  chương trình báo lỗi vì thiếu End if

Đáp án : câu b.

Câu 37 :    Cho biết phát biểu nào sau đây không đúng :

a. Một lệnh VB có thể ở trên nhiều dòng văn bản.

b. Nhiều lệnh VB có thể ở trên cùng 1 dòng văn bản.

c. Tách 1 lệnh ra 2 dòng văn bản bằng cách dùng ký tự “_” ở cuối dòng thứ 1.

d. Có 1 câu sai trong 3 câu a, b, c.

Đáp án : câu d.

Xem đoạn chương trình sau và làm 2 câu sau :

Option Explicit

Option Compare Text

Private Sub Command1_Click()

Dim strA as String, strB as String

Dim intN as Integer,KT as Boolean

    strA = "AbcbB"

    strB = "aBCBa"

    If strA = strB Then

        intN = 10

        KT = strA Like "A*b"

    ElseIf strA > strB Then

        intN = 20

        KT = strB Like "a*a"

    Else

        intN = 30

        KT = strA Like "a[B-C]?[!c-z]?"

    End If

    If Not KT Then intN = 40                    'dòng 18

End Sub

Câu 38 :    Kết quả biến intN là :

a.  10

b.  20

c.  30

d.  40

Đáp án : câu b.

Câu 39 :    Chọn câu đúng

a.  Báo lỗi vì thiếu End If ở dòng lệnh 18

b.  biến KT có giá trị TRUE

c.  biến KT có giá trị FALSE

d.  Báo lỗi vì KT không phải kiểu Boolean

Đáp án : câu b.

Câu 40 :    Xem đoạn chương trình sau và chọn câu đúng nhất:

Dim i As Integer

i = j * 10

a.  chương trình báo lỗi vì biến j chưa được định nghĩa.

b.  chương trình báo lỗi vì biến j chưa được gán trị trước khi dùng.

c.  chương trình báo lỗi vì biến j có kiểu Variant, không tương thích với kiểu Integer của biến i.

d.  tất cả các câu trên đều sai.

Đáp án : câu d.

Câu 41 :    Xem đoạn chương trình sau và chọn câu đúng nhất:

Option Explicit

Dim Del As Double

Dim a As Double, b As Double, c As Double

Page 30: Cau Hoi Trac Nghiem Tin DC

del = b*b - 4*a*c

a.  chương trình báo lỗi vì biến del chưa được định nghĩa (đã định nghĩa biến khác tên là Del).

b.  chương trình báo lỗi vì có dùng lệnh "Option Explicit" nhưng biến del chưa được định nghĩa mà đã được dùng để chứa dữ liệu.

c.  chương trình không có lỗi.

d.  tất cả các câu trên đều sai.

Đáp án : câu c.

Câu 42 :    Chọn câu đúng nhất về kiểu Single sau :

a.  kiểu Single có thể miêu tả 1 số thực với độ chính xác tối đa là 7 ký số thập phân có nghĩa.

b.  kiểu Single có thể miêu tả 1 số thực với độ chính xác tối đa là 7 ký số thập lục phân có nghĩa.

c.  kiểu Single có thể miêu tả 1 số thực với độ chính xác tối đa là 15 ký số thập phân có nghĩa.

d.  kiểu Single có thể miêu tả 1 số thực với độ chính xác tối đa là 15 ký số thập lục phân có nghĩa.

Đáp án : câu a.

Câu 43 :    Xem đoạn chương trình sau và chọn câu đúng nhất:

Dim s As String*10

a.  lệnh trên khai báo biến s chứa chính xác 10 ký tự bất kỳ.

b.  lệnh trên khai báo biến s chứa tối đa 10 ký tự bất kỳ.

c.  lệnh trên khai báo biến s chiếm chính xác 10 byte (ô nhớ).

d.  tất cả các câu trên đều sai.

Đáp án : câu c.

Câu 44 :    Xem đoạn chương trình sau và chọn câu đúng nhất:

Dim strHoten

a.  lệnh trên khai báo biến strHoten thuộc kiểu chuỗi (String) vì có tiếp đầu ngữ là "str".

b.  lệnh trên khai báo biến strHoten thuộc kiểu Variant.

c.  lệnh khai báo biến strHoten ở trên bị lỗi vì thiếu thông tin kiểu dữ liệu.

d.  tất cả các câu trên đều sai.

Đáp án : câu b.

Câu 45 :    Xem đoạn chương trình sau và chọn câu đúng nhất:

Private i As Integer

Private Sub Form_Load()

    Dim s As String

    Static i As Integer

    ...

End Sub

a.  đoạn lệnh trên bị lỗi vì định nghĩa biến i 2 lần.

b.  đoạn lệnh trên bị lỗi vì định nghĩa lại biến i với tầm vực khác nhau.

c.  đoạn lệnh trên bị lỗi vì dùng từ khóa Static bên trong 1 thụ tục.

d.  tất cả các câu trên đều sai.

Đáp án : câu d.

Câu 46 :    Những biến thuộc nào sau đây có thời gian sống bằng với thời gian sống của chương trình

a.  Biến cục bộ trong thủ tục được khai báo bằng Dim

b.  Biến cục bộ trong thủ tục được khai báo bằng Static

c.  Biến cục bộ trong modun

d.  Tất cả đều sai

Đáp án : câu d.

Câu 47 :    Giá trị thập lục phân 1A5 tương đương với giá trị nhị phân nào sau đây

a.  110010101

b.  110110101

Page 31: Cau Hoi Trac Nghiem Tin DC

c.  110100101

d.  Tất cả đều sai.

Đáp án : câu c.

Câu 48 :    Để chứa một giá trị nguyên nằm trong khoảng từ 100 đến 10000 thì nên chứa nó trong biến thuộc kiểu nào sau đây để tiết kiệm bộ nhớ

a.  Byte

b.  Integer

c.  Long

d.  Single

Đáp án : câu b.

Câu 49 :    Cho đoạn chương trình sau

Dim a as Single

a = 123.123456789

Giá trị của a khi được in ra là:

a.  123.1234567

b.  123.1234568

c.  123.1235

d.  Tất cả đều sai

Đáp án : câu c.

Câu 50 :    Số nào sau đây là số thực có dạng đúng theo qui định của VB.

a.  2. E3

b.  .5E-3

c.  2.5-E3

d.  Tất cả đều sai.

Đáp án : câu a.

Câu 51 :    Cho đoạn chương trình sau

Option Base 0

Dim matran(3, 4) As Integer

Dãy trên có bao nhiêu phần tử

a.  12

b.  20

c.  7

d.  Tất cả đều sai.

Đáp án : câu b.

Câu 52 :    Những lệnh nào sau đây là lệnh thực thi

a.  Option Explicit

b.  Dim a As Integer

c.  a = 10

d.  Tất cả đều đúng

Đáp án : câu c.

Câu 53 :    Định nghĩa một kiểu dữ liệu như sau

Private Type SV

    MSSV As String * 8

    Hoten As String * 30

    Ngaysinh As Date

    Diem As Currency

End Type

Một biến thuộc kiểu này sẽ có kích thước bao nhiêu byte

a.  54

b.  56

c.  92

d.  94

Đáp án : câu c.

Câu 54 :    Việc dùng lệnh Option Explicit

Page 32: Cau Hoi Trac Nghiem Tin DC

a.  cho phép nhận biết được những biến chưa được định nghĩa trong modun

b.  cho biết chỉ số cận dưới ngầm định của các dãy là 1 nếu cận dưới này chưa được định nghĩa

c.  cho phép không cần khai báo biến trước khi dùng

d.  Tất cả đều sai.

Đáp án : câu a.

Page 33: Cau Hoi Trac Nghiem Tin DC

Chương 7: BIỂU THỨC VB

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

Đáp án : câu b.

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.

Đáp án : câu c.

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.

Đáp án : câu a.

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

Đáp án : câu a.

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)

Đáp án : câu b.

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

Page 34: Cau Hoi Trac Nghiem Tin DC

Đáp án : câu d.

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

Đáp án : câu c.

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.

Đáp án : câu b.

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.

Đáp án : câu c.

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.

Đáp án : câu a.

Câu 11 :    Xem đoạn chương trình sau và chọn câu đúng nhất:

Dim i

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.

Đáp án : câu c.

Page 35: Cau Hoi Trac Nghiem Tin DC

Chương 8: CÁC LỆNH THỰC THI VB

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

Đáp án : câu c.

Đ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

Đáp án : câu b.

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

Đáp án : câu b.

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

Page 36: Cau Hoi Trac Nghiem Tin DC

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

Đáp án : câu a.

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.

Đáp án : câu c.

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

Đáp án : câu b.

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.

Đáp án : câu c.

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

Page 37: Cau Hoi Trac Nghiem Tin DC

 

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.

Đáp án : câu c.

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

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ị.

Đáp án : câu b.

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

Đáp án : câu b.

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

Page 38: Cau Hoi Trac Nghiem Tin DC

c.  m=2, n=3

d.  m=1,n=2

Đáp án : câu c.

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.

Đáp án : câu a.

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

Đáp án : câu b.

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

Đáp án : câu a.

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

Đáp án : câu b.

Đ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

Page 39: Cau Hoi Trac Nghiem Tin DC

     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 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.

Đáp án : câu d.

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

Đáp án : câu b.

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.

Đáp án : câu d.

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

Page 40: Cau Hoi Trac Nghiem Tin DC

Hãy xác định giá trị  của biến x sau khi chạy

a.  20

b.  28

c.  22

d.  18

Đáp án : câu b.

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)

Đáp án : câu c.

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)

Đáp án : câu a.

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.

Đáp án : câu c.

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.

Đáp án : câu a.

Page 41: Cau Hoi Trac Nghiem Tin DC

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

Đáp án : câu c.

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.

Đáp án : câu d.

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.

Đáp án : câu c.

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.

Đáp án : câu a.

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 + “ “;

Page 42: Cau Hoi Trac Nghiem Tin DC

       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

d. Các câu a, b, c đều sai.

Đáp án : câu a.

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.

Đáp án : câu b.

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.

Đáp án : câu b.

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.

Đáp án : câu c.

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à :

Page 43: Cau Hoi Trac Nghiem Tin DC

a. 5

b. 120

c. 240

d. VB báo chương trình có lỗi.

Đáp án : câu b.

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.

Đáp án : câu d.

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.

Đáp án : câu a.

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.

Đáp án : câu c.

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

Page 44: Cau Hoi Trac Nghiem Tin DC

                   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.

Đáp án : câu a.

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.

Đáp án : câu d.

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 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

Đáp án : câu b.

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

Đáp án : câu c.

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

Page 45: Cau Hoi Trac Nghiem Tin DC

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

Đáp án : câu a.

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

Đáp án : câu b.

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

Đáp án : câu a.

Page 46: Cau Hoi Trac Nghiem Tin DC

Chương 9: ĐỊNH NGHĨA & SỬ DỤNG THỦ TỤC

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.

Đáp án : câu c.

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

Đáp án : câu d.

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

Đáp án : câu c.

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

Đáp án : câu a.

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

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.

Đáp án : câu c.

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.

Đáp án : câu d.

Đ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

Page 47: Cau Hoi Trac Nghiem Tin DC

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

Đáp án : câu a.

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

Đáp án : câu b.

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.

Đáp án : câu c.

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

Đáp án : câu a.

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

Page 48: Cau Hoi Trac Nghiem Tin DC

c.  a = 13

d.  Tất cả đều sai

Đáp án : câu d.

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

Đáp án : câu a.

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

Đáp án : câu b.

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.

d.  Tất cả đều đúng.

Đáp án : câu c.

Page 49: Cau Hoi Trac Nghiem Tin DC

Chương 10: GIAO TIẾP VỚI THIẾT BỊ NHẬP/XUẤT (I/O)

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.

Đáp án : câu c.

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.

Đáp án : câu d.

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.

Đáp án : câu a.

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.

Đáp án : câu c.

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.

Page 50: Cau Hoi Trac Nghiem Tin DC

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 để 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.

Đáp án : câu b.

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

Đáp án : câu b.

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

Đáp án : câu b.

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

Đáp án : câu c.

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

Đáp án : câu d.

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

Đáp án : câu b.

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.

Đáp án : câu c.

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.

Page 51: Cau Hoi Trac Nghiem Tin DC

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.

Đáp án : câu b.

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 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.

Đáp án : câu c.

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ì.

Đáp án : câu a.

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.

Đáp án : câu c.

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.

Đáp án : câu d.

Đoạn chương trình sau dành cho 2 câu kế tiếp:

Private Sub Command1_Click()          ‘1

    Dim i As Byte                   ‘ dòng 2

    For i = 1 to 5         ‘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          ‘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.

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à

Page 52: Cau Hoi Trac Nghiem Tin DC

a.  268LTK

b.  268

c.  LTK

d.  Tất cả đều sai.

Đáp án : câu b.

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.

Đáp án : câu a.

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.

Đáp án : câu c.

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.

Đáp án : câu b.

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.

Đáp án : câu d.

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

Page 53: Cau Hoi Trac Nghiem Tin DC

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.

Đáp án : câu c.

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.

Đáp án : câu b.

Page 54: Cau Hoi Trac Nghiem Tin DC

Chương 11: QUẢN LÝ HỆ THỐNG FILE

 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

Đáp án : câu b.

 

Đọ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

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

Đáp án : câu c.

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

Đáp án : câu b.

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

Đáp án : câu d.

Đọc đoạn code sau để trả lời 2 câu hỏi kế tiếp

Private Sub Form_Click()

Page 55: Cau Hoi Trac Nghiem Tin DC

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

Đáp án : câu d.

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.

Đáp án : câu d.

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.

Đáp án : câu 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

Đáp án : câu c.

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

Đá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

Page 56: Cau Hoi Trac Nghiem Tin DC

     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

Đáp án : câu d.

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

d.  Cả 3 câu trên đều đúng.

Đáp án : câu b.

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.

Đáp án : câu b.

Đ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:")

Page 57: Cau Hoi Trac Nghiem Tin DC

            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.

Đáp án : câu b.

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ì

a.  2

b.  3

c.  102

d.  Tất cả 3 câu trên đều sai.

Đáp án : câu c.

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.

Đáp án : câu b.

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.

Đáp án : câu b.

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".

Page 58: Cau Hoi Trac Nghiem Tin DC

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.

Đáp án : câu d.

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.

Đáp án : câu 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

    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

Đáp án : câu b.

Câu 20 :    Nội dung file binary1 là

a.  XYZXYZXYZ

b.  XYZXY

c.  XXXYZ

d.  XYZXX

Đáp án : câu c.

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

Đáp án : câu c.

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")

Page 59: Cau Hoi Trac Nghiem Tin DC

Print s          'dòng 4

Kết quả in ra ở dòng 4 là:

a.  0

b.  1

c.  100

d.  Lỗi

Đáp án : câu a.

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

Đáp án : câu c.

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.

Đáp án : câu a.

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

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ữ nguyên, 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)

Đáp án : câu d.

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

Page 60: Cau Hoi Trac Nghiem Tin DC

    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

Đáp án : câu d.

Câu 27 :    Kết quả của lệnh print thứ 2:

a.  5

b.  10

c.  50

d.  60

Đáp án : câu c.

Câu 28 :    Kết quả của lệnh print thứ 3:

a.  1

b.  10

c.  30

d.  Lỗi

Đáp án : câu b.

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

Đáp án : câu c.

Chương 12: LINH KIỆN PHẦN MỀM, TRUY XUẤT DATABASE

& KIỂM THỬ PHẦN MỀM

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

c.  ta chỉ có thể ngồi chờ và hy vọng ứng dụng sẽ thoát khỏi vòng lặp vô tận.

d.  cả 3 câu trên đều đúng.

Đáp án : câu b.

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ì luôn bị giám sát và điều khiển bởi trình Debugger.

d.  cả 3 câu trên đều sai.

Đáp án : câu c.

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.

Đáp án : câu a.

Câu 4 :       Điều khiển (control) khác với ActiveX Control ở chỗ  :

Page 61: Cau Hoi Trac Nghiem Tin DC

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.

Đáp án : câu c.

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.

Đáp án : câu d.

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.

Đáp án : câu a.

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 :

a.  5

b.  7

c.  13

d.  Tất cả đều sai.

Đáp án : câu b.

Đ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

Đáp án : câu c.

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.

Đáp án : câu c.

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

Đáp án : câu d.

Page 62: Cau Hoi Trac Nghiem Tin DC

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 thoá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.

Đáp án : câu c.

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

Đáp án : câu a.

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

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.

Đáp án : câu a.

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.

Đáp án : câu c.

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.

Đáp án : câu b.

Page 63: Cau Hoi Trac Nghiem Tin DC

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.

Đáp án : câu a.