wayground logo

Free Printable Worksheets

Font size

S
M
L
XL
Worksheets

Câu hỏi về CSDL và Python

Total questions: 61

Worksheet time: 49mins

Name
Class
Date
1-33.

PHẦN II. Câu trắc nghiệm đúng sai. Trong mỗi ý a), b), c), d) ở mỗi câu, thí sinh chọn đúng hoặc sai

Câu 1. Trong các ví dụ sau đây, có bao nhiêu ví dụ là bài toán tìm kiếm?

a)      Nhập tên người, tìm số điện thoại trong danh bạ điện thoại thông minh để bắt đầu cuộc gọi.  

b)     Nhập số chứng minh nhân dân, số CCCD để tìm mã số thuế.

c)      Nhập hàng hóa vào trong kho hàng.

d)     Nhập tên và CCCD người để tìm thông tin hiến máu.

Câu 2: Khi thực hiện tìm kiếm tuần tự, bạn có thể giới hạn phạm vi tìm kiếm bằng cách nào?

a)      Sử dụng chỉ số lo và hi trong phương thức index.

b)     Thay đổi kiểu dữ liệu của danh sách.

c)      Chỉ tìm kiếm trong các phần tử đầu tiên.

d)     Xóa các phần tử không liên quan.

 

Câu 3: Trong mã giả của thuật toán tìm kiếm nhị phân, điều kiện nào là điều kiện dừng?

a)   Khi đã tìm thấy phần tử x. 

b)  Khi phạm vi tìm kiếm không còn phần tử.

c)   Khi tìm thấy nhiều hơn một phần tử.

d)  Khi chưa tìm thấy phần tử.

 

Câu 4: Đặc điểm nào sau đây không đúng với thuật toán sắp xếp nhanh?

a)      Nó luôn chọn phần tử có giá trị lớn nhất làm pivot.

b)     Nó có thể xử lý cả số âm và số dương.

c)      Nó luôn chọn phần tử giữa làm pivot.

d)     Nó có thể thực hiện sắp xếp trên các danh sách lớn.

 

Câu 5: Ý tưởng chính của thuật toán phân đoạn Hoare là gì?

a) Duyệt dãy số từ trái sang phải và phân tách theo một chiều.

b) Đổi chỗ hai phần tử khi phát hiện phần tử vi phạm yêu cầu phân đoạn từ cả hai phía.

c) Luôn chọn phần tử đứng đầu dãy làm pivot để thực hiện phân đoạn.

d) Chỉ thực hiện phân đoạn khi dãy số có hơn hai phần tử.

 

Câu 6: Khi lập trình theo phương pháp mô đun hóa, bước nào dưới đây thuộc quy trình chuẩn?

a) Liệt kê các việc lớn cần làm trong chương trình.

b) Xây dựng và kiểm thử các hàm riêng biệt.

c) Viết toàn bộ mã chương trình trong một hàm duy nhất để đảm bảo tính toàn vẹn.

d) Thiết kế chương trình chính, gọi các hàm đã hoàn thành.

 

 

Câu 7: Ý nghĩa của việc chia bài toán thành bài toán nhỏ hơn là:

a)      Bài toán trở nên phức tạp hơn.

b)     Giúp công việc dễ giải quyết hơn.

c)      Bài toán trở nên dễ hiểu hơn.

d)     Giúp công việc đơn giản hơn.

 

Câu 8: Lợi ích của việc áp dụng phương pháp mô đun hóa trong lập trình là gì?

a) Cho phép dễ dàng phát hiện và sửa lỗi trong từng phần của chương trình.

b) Giúp chương trình dễ hiểu hơn và có thể dễ dàng đọc lại cấu trúc tổng thể.

c) Tăng độ dài mã nguồn và làm chương trình phức tạp hơn.

d) Tạo khả năng tái sử dụng các phần mã, giúp tiết kiệm thời gian cho các dự án khác.

1.

Câu 1. a)

a)

ĐÚNG

b)

SAI

2.

Câu 1. b)

a)

ĐÚNG

b)

SAI

3.

Câu 1. c)

a)

ĐÚNG

b)

SAI

4.

Câu 1. d)

a)

ĐÚNG

b)

SAI

5.

Câu 2. a)

a)

ĐÚNG

b)

SAI

6.

Câu 2. b)

a)

ĐÚNG

b)

SAI

7.

Câu 2. c)

a)

ĐÚNG

b)

SAI

8.

Câu 2. d)

a)

ĐÚNG

b)

SAI

9.

Câu 3. a)

a)

ĐÚNG

b)

SAI

10.

Câu 3. b)

a)

ĐÚNG

b)

SAI

11.

Câu 3. c)

a)

ĐÚNG

b)

SAI

12.

Câu 3. d)

a)

ĐÚNG

b)

SAI

13.

Câu 4. a)

a)

ĐÚNG

b)

SAI

14.

Câu 4. b)

a)

ĐÚNG

b)

SAI

15.

Câu 4. c)

a)

ĐÚNG

b)

SAI

16.

Câu 4. d)

a)

ĐÚNG

b)

SAI

17.

Câu 5. a)

a)

ĐÚNG

b)

SAI

18.

Câu 5. b)

a)

ĐÚNG

b)

SAI

19.

Câu 5. c)

a)

ĐÚNG

b)

SAI

20.

Câu 5. d)

a)

ĐÚNG

b)

SAI

21.

Câu 6. a)

a)

ĐÚNG

b)

SAI

22.

Câu 6. b)

a)

ĐÚNG

b)

SAI

23.

Câu 6. c)

a)

ĐÚNG

b)

SAI

24.

Câu 6. d)

a)

ĐÚNG

b)

SAI

25.

Câu 7. a)

a)

ĐÚNG

b)

SAI

26.

Câu 7. b)

a)

ĐÚNG

b)

SAI

27.

Câu 7. c)

a)

ĐÚNG

b)

SAI

28.

Câu 7. c)

a)

ĐÚNG

b)

SAI

29.

Câu 7. d)

a)

ĐÚNG

b)

SAI

30.

Câu 8. a)

a)

ĐÚNG

b)

SAI

31.

Câu 8. b)

a)

ĐÚNG

b)

SAI

32.

Câu 8. c)

a)

ĐÚNG

b)

SAI

33.

Câu 8. d)

a)

ĐÚNG

b)

SAI

34.

Nhà quản trị CSDL cần cập nhật những gì để đáp ứng nhu cầu khai thác dữ liệu mới?

a)

Không gian lưu trữ của CSDL.

b)

Công suất sử dụng CSDL.

c)

Xu thế phát triển CSDL.

d)

Tất cả các yếu tố trên.

35.

Công việc giám sát hiệu suất CSDL thuộc trách nhiệm của ai?

a)

Nhà quản trị CSDL.

b)

Chuyên viên công nghệ thông tin.

c)

Người quản lý điều hành.

d)

Nhà cung cấp phần mềm hệ quản trị CSDL.

36.

Nhiệm vụ chính của nhà quản trị CSDL là gì?

a)

Bảo mật dữ liệu và kiểm soát truy cập.

b)

Phân tích dữ liệu và cung cấp thông tin hữu ích.

c)

Giám sát hiệu suất và điều chỉnh CSDL.

d)

Lập kế hoạch phát triển và mở rộng CSDL.

37.

Làm thế nào để thêm một phần tử vào cuối mảng trong Python?

a)

array.insert(-1, element)

b)

array.add(element)

c)

array.append(element)

d)

array.extend(element)

38.

Cho khai báo mảng sau: A = list("3456789") Để in giá trị phần tử thứ 2 của mảng một chiều A ra màn hình ta viết:

a)

print(A[1])

b)

print(A[0])

c)

print(A[3])

d)

print(A[2])

39.

Trong mảng Python, chỉ mục đầu tiên là gì?

a)

2

b)

1

c)

0

d)

-1

40.

Hàm index() được sử dụng để làm gì trong mảng?

a)

Tìm số lần xuất hiện của một phần tử.

b)

Thay đổi chỉ mục của một phần tử.

c)

Tìm giá trị của một phần tử cụ thể.

d)

Tìm chỉ mục của một phần tử cụ thể.

41.

Hàm max() được sử dụng để làm gì trong mảng hai chiều?

a)

Tìm giá trị lớn nhất trong mỗi cột.

b)

Tìm giá trị lớn nhất trong đường chéo chính.

c)

Tìm giá trị lớn nhất trong mỗi hàng.

d)

Tìm giá trị lớn nhất trong mảng.

42.

Làm thế nào để đảo ngược thứ tự các cột trong mảng hai chiều?

a)

array.invert_columns()

b)

array.flip_columns()

c)

array.reverse_columns()

d)

array.transpose_columns()

43.

Trong mảng hai chiều, cách nào để tính tổng các phần tử ở cột 3?

a)

sum(array[3])

b)

sum(array[:][3])

c)

sum(array[2, :])

d)

sum(array[:, 3])

44.

Trong mảng hai chiều, cách nào để tính tổng các phần tử ở cột 3?

a)

sum(array[3])

b)

sum(array[:][3])

c)

sum(array[2, :])

d)

sum(array[:, 3])

45.

Trong mảng hai chiều, làm thế nào để truy cập phần tử tại hàng 2, cột 3?

a)

array[3][2]

b)

array(2, 3)

c)

array[1][2]

d)

array[2, 3]

46.

Khai báo cung cấp những thông tin gì?

a)

Kiểu dữ liệu.

b)

Tên biến mảng.

c)

Tên biến mảng, kiểu dữ liệu, kích thước.

d)

Kích thước.

47.

Để thêm phần tử vào cuối danh sách ta dùng hàm:

a)

remove()

b)

clear()

c)

pop()

d)

append()

48.

Để khởi tạo xâu s rỗng ta dùng lệnh:

a)

s='0'

b)

s=""

c)

s=0

d)

s=[]

49.

Cho xâu s1='ab', xâu s2='a' với cú pháp: s2 in s1 cho kết quả là:

a)

True

b)

false

c)

False

d)

true

50.

Trong python, để khai báo một danh sách và khởi tạo sẵn một số phần tử ta dùng cú pháp nào?

a)

<tên danh sách> = []

b)

<tên danh sách> = [<danh sách phần tử, phân cách bởi dấu phẩy>]

c)

<tên danh sách> = [ 0 ]

d)

[<danh sách phần tử, phân cách bởi dấu phẩy>]

51.

Hàm sort() được sử dụng để làm gì trong mảng?

a)

Sắp xếp mảng theo thứ tự tăng dần.

b)

Đảo ngược thứ tự của mảng.

c)

Lọc ra các phần tử duy nhất của mảng.

d)

Sắp xếp mảng theo thứ tự giảm dần.

52.

Mô tả bằng mã giả câu lệnh m += 1 là

a)

m = 1

b)

m ≥ 1

c)

m ← 1

d)

m ← m + 1

53.

Câu lệnh Python của mã giả for i in {i|i lẻ, 3 ≤ i ≤ n} là

a)

for i in range (3, int (math.sqrt(n))+1, 2)

b)

for i in range (3, int (math.sqrt(n)+1, 2)

c)

for i in range (3, (math.sqrt(n))+1, 2)

d)

for i in range (3, int (math.(n))+1, 2)

54.

Mã giả: if n = 1: Trả về False Chuyển sang câu lệnh Python là

a)

if (n = 1): return False

b)

if (n ← 1): return False

c)

if (n == 1): return False

d)

if (n > 1): return False

55.

Câu 1. Lời gọi các hàm sơ cấp, các hàm thư viện… với đầu vào là giá trị cụ thể không phụ thuộc n có độ phức tạp thời gian là

a)

T(n) = O(1)

b)

T(n) = O(n)

c)

T(n) = O(n!)

d)

T(n) = O(n2)

56.

Câu 2. Phép toán nào sau đây không phải là phép toán sơ cấp

a)

phép so sánh.

b)

các hàm với đầu vào là giá trị cụ thể không phụ thuộc n.

c)

phép toán số học.

d)

phép lựa chọn.

57.

Câu 3. Cho ví dụ sau đây: Chương trình tìm kiếm một số x trong dãy số gồm 20 chữ số mất khoảng 2s, nếu dãy số tăng lên 2000 số thì thời gian chạy mất khoảng 20s. Yếu tố ảnh hưởng đến thời gian chạy chương trình trên là

a)

kích thước dữ liệu đầu ra

b)

kích thước dữ liệu đầu vào

c)

kĩ năng lập trình

d)

chương trình khác nhau

58.

Câu 4. Ước lượng thời gian chạy chương trình sau:

a)

T(n) = 3

b)

T(n) = n - 1

c)

T(n) = n + 3

d)

T(n) = n + 1

59.

Câu 1. Chương trình sau mắc lỗi gì?

a)

TypeError.

b)

ZeroDivisionError.

c)

Syntax Error.

d)

NameError.

60.

Câu 2. Chương trình sau có lỗi ở dòng lệnh nào?

a)

1.

b)

2.

c)

3.

d)

4.

61.

Câu 3. Chương trình chạy phát sinh lỗi ngoại lệ TypeError, nên xử lí như thế nào?

a)

Kiểm tra lại chỉ số trong mảng.

b)

Kiểm tra lại giá trị số chia.

c)

Kiểm tra giá trị của số bị chia.

d)

Kiểm tra kiểu dữ liệu nhập vào.

62.

Câu 4. Chương trình sau nên sửa như thế nào. Chọn phương án đúng nhất. fruits = ['Banana', 'Apple', 'Lime'] print(fruits[4])

a)

Thay đổi kiểu dữ liệu của từng phần tử trong mảng.

b)

Kiểm tra chỉ số của mảng khi thực hiện lệnh.

c)

Thay đổi tên mảng.

d)

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

63.

Chương trình chạy phát sinh lỗi ngoại lệ NameError, nên xử lí như thế nào?

a)

Kiểm tra lại chỉ số trong mảng.

b)

Kiểm tra lại tên các biến và hàm.

c)

Kiểm tra giá trị của số bị chia.

d)

Kiểm tra kiểu dữ liệu nhập vào.

64.

Phương thức tìm kiếm phần tử x trong một dãy tuần tự là

a)

index.

b)

insert.

c)

extend.

d)

count.

65.

Trong thuật toán tìm kiếm nhị phân, chỉ số của phần tử ở giữa được tính như thế nào?

a)

(lo + hi) / 2

b)

(lo + hi) // 2

c)

(hi - lo) / 2

d)

(hi + lo) / 2

66.

Sơ đồ dưới đây mô tả thuật toán nào?

a)

Thuật toán tìm kiếm tuần tự.

b)

Thuật toán tìm kiếm nhị phân.

c)

Thuật toán sắp xếp.

d)

Thuật toán đệ quy.

67.

Thuật toán tìm kiếm nhị phân yêu cầu điều kiện nào trước khi áp dụng?

a)

Danh sách phải sắp thứ tự.

b)

Danh sách phải có ít nhất 10 phần tử.

c)

Danh sách phải không chứa các phần tử trùng lặp.

d)

Danh sách phải được lưu trữ trong một cơ sở dữ liệu.

68.

Một cặp hai phần tử (ai, aj) gọi là nghịch thế nếu

a)

i < j mà ai> aj.

b)

i > j mà ai< aj.

c)

i > j mà ai> aj.

d)

i < j mà ai< aj.

69.

Thuật toán sắp xếp nổi bọt có bao nhiêu vòng lặp lồng nhau?

a)

2.

b)

3.

c)

4.

d)

5.

70.

Trong thuật toán sắp xếp chèn tuyến tính, khi nào thì dãy con được coi là có thứ tự?

a)

Khi dãy con có một phần tử.

b)

Khi dãy con có ít nhất hai phần tử.

c)

Khi dãy con đã được sắp xếp hoàn toàn.

d)

Khi dãy con không có phần tử nào.

71.

Trong thuật toán sắp xếp nổi bọt, điều gì sẽ xảy ra nếu trong một vòng lặp không có bất kỳ lần đổi chỗ nào?

a)

Thuật toán tiếp tục chạy mãi mãi.

b)

Thuật toán dừng lại vì dãy đã được sắp xếp.

c)

Thuật toán quay lại vòng lặp trước đó.

d)

Thuật toán chỉ sắp xếp một phần của dãy.

72.

Ý tưởng sau đây minh họa thuật toán nào?

- Vì dãy con a0 chỉ có một phần tử, nên dãy con này có thứ tự.

- Lặp lại việc chèn ai  với 1 ≤ i < n như sau:

Xét dãy con a0,..., ai – 1 đã có thứ tự, ta chèn ai vào dãy con này sao cho dãy con sau khi chèn sẽ có thứ tự.

a)

Thuật toán sắp xếp nổi bọt.

b)

Thuật toán tìm kiếm nhị phân.

c)

Thuật toán tìm kiếm tuần tự.

d)

Thuật toán sắp xếp chèn tuyến tính

73.

Điểm phân tách được gọi là

a)

pivot.

b)

hivot.

c)

mivot.

d)

divot.

74.

Có bao nhiêu lược đồ phân đoạn có thể áp dụng trong thuật toán sắp xếp nhanh?

a)

5

b)

4

c)

3

d)

2

75.

Trong lược đồ phân đoạn dãy số, giá trị pivot có thể lấy phần tử nào trong dãy?

a)

Phần tử ở đầu dãy.

b)

Phần tử ở cuối dãy.

c)

Phần tử ở giữa dãy.

d)

Bất kì phần tử nào trong dãy.

76.

Lược đồ Lomuto thực hiện phân đoạn bằng cách kiểm tra dãy số theo chiều nào?

a)

Từ phải sang trái.

b)

Từ trái sang phải.

c)

Theo hai chiều tiến vào giữa.

d)

Từ giữa ra hai bên.

77.

Độ phức tạp của thuật toán Quick Sort trong trường hợp xấu nhất đó là

a)

O(n).

b)

O(log2n).

c)

O(n2).

d)

O(Cn).

78.

Có bao nhiêu bước người lập trình cần thực hiện khi áp dụng phương pháp lập trình mô đun hóa?

a)

1.

b)

2.

c)

3.

d)

4.

79.

Lập trình theo phương pháp mô đun hóa dẫn đến kết quả là chương trình chính thường ngắn gọn, gồm một số câu lệnh gọi sử dụng các hàm mà người lập trình viết. Nội dung trên là ưu điểm gì của lập trình theo phương pháp mô đun hóa?

a)

Phối hợp cùng lập trình.

b)

Chương trình dễ hiểu hơn.

c)

Dễ kiểm thử và sửa lỗi hơn.

d)

Khả năng tái sử dụng.

80.

Một mô đun phần mềm là

a)

một tệp mã nguồn.

b)

một chương trình lớn.

c)

một giai đoạn lập trình.

d)

một bộ phận thiết bị.

81.

Mô đun có tính chất:

a)

Tương đối.

b)

Tuyệt đối.

c)

Độc lập.

d)

Khách quan.

82.

Sắp xếp các nội dung sau đây để hoàn thành các giai đoạn cần thực hiện khi áp dụng phương pháp mô đun hóa

1. Viết chương trình chính.

2. Liệt kê các việc lớn.

3. Thiết kế các hàm.

4. Viết các hàm

a)

1 → 2 → 3 → 4.

b)

2 → 3 → 4 → 1.

c)

3 → 1 → 4 → 2.

d)

4 → 2 → 1 → 3.

83.

Mỗi mô đun có thể là:

a)

một hàm riêng biệt.

b)

các hàm và thủ tục con.

c)

một số hàm hoặc thủ tục độc lập.

d)

một thủ tục.

84.

Hoàn thành phát biểu sau: "Có rất nhiều công cụ và phương pháp khác nhau để kiểm thử chương trình. Các công cụ có mục đích … của chương trình và …, … các lỗi phát sinh trong tương lai"

a)

Tìm ra lỗi, phòng ngừa, ngăn chặn.

b)

Xử lý lỗi, phòng ngừa, ngăn chặn.

c)

Tìm ra lỗi, phòng ngừa, xử lý.

d)

Phòng ngừa, ngăn chặn, xử lý lỗi.

85.

Bạn An thực hiện thuật toán sắp xếp chọn để sắp xếp dãy chữ cái "c, g, q, a, h, m" theo thứ tự tăng dần. Ở vòng lặp đầu tiên ta sẽ đổi vị trí của chữ cái nào?

a)

a

b)

q

c)

c

d)

g

86.

Chương trình sau nên sửa như thế nào. Chọn phương án đúng nhất

fruits = ['Banana', 'Apple', 'Lime']

print(fruits[4])

a)

Thay đổi kiểu dữ liệu của từng phần tử trong mảng.

b)

Kiểm tra chỉ số của mảng khi thực hiện lệnh.

c)

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

d)

Thay đổi tên mảng.

87.

Khẳng định nào sau đây là sai?

a)

Những nghề thuộc nhóm thiết kế và lập trình chỉ có thể làm ở cơ quan tư nhân.

b)

Các hệ thống ngân hàng, tài chính hay tư nhân đều phải sử dụng hệ thống phần mềm phức tạp, có tính nghiệp vụ cao. Từ đó, mở ra nhiều cơ hội lớn cho những người thiết kế và lập trình.

c)

Lập trình viên có cơ hội làm việc ở các vị trí trong các cấp chính quyền, cấp bộ ngành, chính phủ.

d)

Thế giới công nghệ thay đổi từng giây, từng phút, từng giờ. Những kiến thức được học sẽ nhanh bị cũ, vì vậy phải học tập không ngừng.

88.

Một nút (node) trong danh sách liên kết có bao nhiêu thành phần?

a)

1

b)

2

c)

3

d)

4

89.

Chọn đáp án sai. Sự khác nhau giữa danh sách liên kết và mảng là:

a)

Tổ chức thành một khối liên tục liền kề.

b)

Các nút có thể nằm rải rác, tách rời nhau trong bộ nhớ.

c)

Không có chỉ số nên không truy cập bằng chỉ số được.

d)

Cần duyệt tuần tự các nút để tìm đúng nút phải truy cập xử lí dữ liệu.

90.

Cho biết hình ảnh sau đây minh họa thao tác nào?

a)

Thêm nút vào đầu danh sách.

b)

Thêm nút vào giữa danh sách.

c)

Thêm nút vào cuối danh sách.

d)

Gỡ bỏ nút trong danh sách.

91.

Thành phần nào không phải của một nút trong danh sách liên kết?

a)

Data

b)

Next

c)

Previous

d)

Address

92.

Khi gỡ bỏ nút trong danh sách liên kết, điều gì cần được thực hiện?

a)

Chỉ cần thay đổi giá trị Data của nút.

b)

Thay đổi con trỏ của nút trước nó để trỏ đến nút sau nó.

c)

Chỉ cần xóa nút đó mà không cần làm gì khác.

d)

Thay đổi con trỏ Head để trỏ đến nút tiếp theo.

93.

Trong thuật toán sắp xếp chèn tuyến tính, phần tử nào sẽ được chèn vào dãy đã được sắp xếp?

a)

Phần tử nhỏ nhất.

b)

Phần tử lớn nhất.

c)

Phần tử tại vị trí đầu tiên của dãy.

d)

Phần tử hiện tại mà đang được xem xét.