1. Trong một mảng có tên "my_list", làm thế nào để lấy ra "lát cắt" (slice) chứa các phần tử từ đầu mảng cho đến phần tử ở chỉ mục 4 (không bao gồm phần tử ở chỉ mục 4)?
A. my_list[0:4]
B. my_list[:4]
C. my_list[4:]
D. Cả A và B
2. Nếu một mảng "A" có 5 phần tử và mảng "B" có 7 phần tử, điều gì sẽ xảy ra nếu bạn cố gắng gán A = B?
A. Lỗi biên dịch vì kích thước khác nhau.
B. Mảng A sẽ được mở rộng để chứa 7 phần tử của B.
C. Mảng A sẽ bị cắt bớt để có 5 phần tử của B.
D. Biến A bây giờ sẽ tham chiếu đến toàn bộ mảng B.
3. Phát biểu nào sau đây KHÔNG đúng về mảng?
A. Mảng có thể lưu trữ các phần tử có kiểu dữ liệu khác nhau (trong một số ngôn ngữ như Python).
B. Kích thước của mảng thường cố định ngay sau khi khai báo (trong một số ngôn ngữ như C, Java).
C. Tất cả các phần tử trong mảng đều có thể truy cập được bằng chỉ mục số nguyên.
D. Mảng luôn được cấp phát bộ nhớ liên tục.
4. Giả sử một mảng "arr" có các phần tử là ["apple", "banana", "cherry"]. Làm thế nào để truy cập phần tử "banana"?
A. arr[0]
B. arr[1]
C. arr[2]
D. arr["banana"]
5. Trong Python, phương thức "pop()" của mảng làm gì?
A. Thêm một phần tử vào đầu mảng.
B. Trả về và xóa phần tử cuối cùng của mảng.
C. Trả về và xóa phần tử đầu tiên của mảng.
D. Trả về một phần tử theo chỉ mục cho trước.
6. Giả sử bạn có mảng "grades = [8.5, 9.0, 7.5, 10.0]". Nếu bạn muốn tính trung bình cộng của các điểm này, bước đầu tiên bạn cần làm là gì?
A. Tìm phần tử lớn nhất trong mảng.
B. Đếm số lượng phần tử trong mảng.
C. Tính tổng tất cả các phần tử trong mảng.
D. Sắp xếp mảng theo thứ tự giảm dần.
7. Đâu là một ví dụ về "mảng đa chiều" (multidimensional array)?
A. [1, 2, 3, 4]
B. ["a", "b"]
C. [[1, 2], [3, 4]]
D. {"key": "value"}
8. Trong Python, hàm "len()" được sử dụng để làm gì với một mảng?
A. Thêm một phần tử vào mảng.
B. Truy cập một phần tử cụ thể của mảng.
C. Trả về số lượng phần tử trong mảng.
D. Xóa một phần tử khỏi mảng.
9. Cho mảng "values = [1, 2, 3, 4, 5]". Câu lệnh nào sau đây sẽ tạo ra một mảng mới chỉ chứa các phần tử chẵn từ "values"?
A. even_values = [x for x in values if x % 2 == 0]
B. even_values = [x for x in values if x % 2 != 0]
C. even_values = list(filter(lambda x: x % 2 == 0, values))
D. Cả A và C
10. Nếu bạn có mảng "numbers = [1, 2, 3]", và bạn thực hiện "numbers.insert(1, 99)", mảng mới sẽ là gì?
A. [1, 2, 3, 99]
B. [99, 1, 2, 3]
C. [1, 99, 2, 3]
D. [1, 2, 99, 3]
11. Trong lập trình, "duyệt qua mảng" (traversing an array) thường đề cập đến hành động gì?
A. Thay đổi kích thước của mảng.
B. Thực hiện một phép toán trên mỗi phần tử của mảng.
C. Xóa tất cả các phần tử khỏi mảng.
D. Tìm kiếm một phần tử cụ thể trong mảng.
12. Phát biểu nào sau đây KHÔNG phải là một thao tác cơ bản trên mảng?
A. Truy cập phần tử.
B. Thêm phần tử.
C. Xóa phần tử.
D. Biến đổi kiểu dữ liệu của mảng.
13. Cho mảng "data = [5, 1, 4, 2, 8]". Nếu sử dụng thuật toán sắp xếp nổi bọt (bubble sort) lần đầu, cặp phần tử nào sẽ được so sánh và hoán đổi đầu tiên?
A. 5 và 1
B. 1 và 4
C. 4 và 2
D. 2 và 8
14. Phát biểu nào sau đây mô tả đúng nhất về "mảng" (array/list) trong lập trình?
A. Một tập hợp các biến độc lập.
B. Một cấu trúc dữ liệu lưu trữ một tập hợp các phần tử có cùng kiểu dữ liệu, có thể truy cập bằng chỉ mục.
C. Một hàm thực hiện một tác vụ cụ thể.
D. Một biến chỉ có thể lưu trữ một giá trị duy nhất.
15. Khi so sánh mảng với tập hợp (set) trong Python, điểm khác biệt chính là gì?
A. Mảng có thể chứa các phần tử trùng lặp, còn tập hợp thì không.
B. Tập hợp có thể truy cập phần tử bằng chỉ mục, còn mảng thì không.
C. Mảng luôn có thứ tự, còn tập hợp thì không.
D. Cả A và C đều đúng.
16. Nếu ta có mảng "numbers = [10, 20, 30, 40, 50]", thì kết quả của "numbers[2]" là gì?
17. Trong ngôn ngữ lập trình Python, cách khai báo một mảng (list) có tên là "numbers" chứa các số nguyên từ 1 đến 5 là gì?
A. numbers = [1, 2, 3, 4, 5]
B. numbers = {1, 2, 3, 4, 5}
C. numbers = (1, 2, 3, 4, 5)
D. numbers = 1, 2, 3, 4, 5
18. Nếu một mảng được khai báo với kích thước cố định là 10, điều đó có nghĩa là gì?
A. Mảng có thể chứa tối đa 10 phần tử.
B. Mảng chỉ có thể chứa đúng 10 phần tử.
C. Mảng sẽ luôn có 10 phần tử được khởi tạo.
D. Mảng có thể chứa bất kỳ số lượng phần tử nào.
19. Độ dài của mảng ["red", "green", "blue"] là bao nhiêu?
20. Phát biểu nào sau đây mô tả đúng về "chỉ mục âm" (negative indexing) trong mảng Python?
A. Chỉ mục âm cho phép truy cập các phần tử từ giữa mảng.
B. Chỉ mục -1 tương ứng với phần tử cuối cùng của mảng.
C. Chỉ mục âm chỉ hoạt động với các mảng số.
D. Chỉ mục âm bắt đầu từ 0.
21. Phát biểu nào sau đây là đúng về "cấu trúc mảng" (array structure) trong ngữ cảnh lập trình?
A. Nó chỉ có thể lưu trữ các giá trị số.
B. Nó là một cách tổ chức dữ liệu để lưu trữ một tập hợp các mục có liên quan.
C. Nó luôn yêu cầu tên biến duy nhất cho mỗi phần tử.
D. Nó không thể thay đổi kích thước sau khi được tạo.
22. Đâu là lợi ích chính của việc sử dụng mảng có cấu trúc thay vì nhiều biến riêng lẻ?
A. Tăng tốc độ truy cập dữ liệu một cách đáng kể trong mọi trường hợp.
B. Giảm bớt sự phức tạp trong quản lý và xử lý một lượng lớn dữ liệu tương tự.
C. Cho phép lưu trữ dữ liệu không có liên quan với nhau.
D. Tăng dung lượng bộ nhớ sử dụng.
23. Trong Python, làm thế nào để lấy ra một "lát cắt" (slice) của mảng "letters = ["a", "b", "c", "d", "e"]" bao gồm các phần tử từ chỉ mục 1 đến 3 (không bao gồm chỉ mục 3)?
A. letters[1:3]
B. letters[1:4]
C. letters[0:3]
D. letters[1]
24. Phát biểu nào sau đây mô tả chính xác nhất về "cấu trúc mảng" trong bài 1 sách Tin học 11 Cánh diều?
A. Là một cấu trúc dữ liệu chỉ dùng để lưu trữ chuỗi ký tự.
B. Là một tập hợp các biến cùng tên, có thể truy cập thông qua chỉ số.
C. Là một cấu trúc dữ liệu chỉ có thể lưu trữ một phần tử duy nhất.
D. Là một cấu trúc dữ liệu yêu cầu tất cả các phần tử phải có cùng giá trị.
25. Phát biểu nào sau đây là sai về việc sử dụng vòng lặp "for" để duyệt qua một mảng?
A. Vòng lặp "for" có thể duyệt qua từng phần tử của mảng một cách tuần tự.
B. Cần biết trước độ dài của mảng để sử dụng vòng lặp "for".
C. Trong Python, có thể sử dụng "for element in array:" để duyệt.
D. Vòng lặp "for" giúp tự động hóa quá trình xử lý từng phần tử.