12+ Đề Trắc Nghiệm Tin Học 11 (Kết Nối Tri Thức) Bài 18: Thực Hành Dữ Liệu Mảng Một Chiều Và Hai Chiều

Đề 01

Đề 02

Đề 03

Đề 04

Đề 05

Đề 06

Đề 07

Đề 08

Đề 09

Đề 10

0

Bạn đã sẵn sàng chưa? 45 phút làm bài bắt đầu!!!

Bạn đã hết giờ làm bài! Xem kết quả các câu hỏi đã làm nhé!!!


Trắc nghiệm Tin học 11 Kết nối tri thức Bài 18: Thực hành dữ liệu mảng một chiều và hai chiều

Trắc nghiệm Tin học 11 Kết nối tri thức Bài 18: Thực hành dữ liệu mảng một chiều và hai chiều - Đề 01

Trắc nghiệm Tin học 11 Kết nối tri thức Bài 18: Thực hành dữ liệu mảng một chiều và hai chiều - Đề 01 được xây dựng với nhiều câu hỏi chất lượng, sát với nội dung chương trình học, giúp bạn dễ dàng ôn tập và kiểm tra kiến thức hiệu quả. Hãy cùng bắt đầu làm bài tập trắc nghiệm ngay để nâng cao hiểu biết và chuẩn bị tốt cho kỳ thi sắp tới!

Câu 1: Bài toán tìm kiếm (Search Problem) trong Tin học có mục đích cơ bản là gì?

  • A. Sắp xếp các phần tử theo một thứ tự nhất định.
  • B. Xác định xem một phần tử có xuất hiện trong tập dữ liệu hay không và/hoặc vị trí của nó.
  • C. Tính toán tổng giá trị của tất cả các phần tử trong tập dữ liệu.
  • D. Thêm một phần tử mới vào tập dữ liệu.

Câu 2: Thuật toán tìm kiếm tuần tự (Sequential Search) hoạt động như thế nào?

  • A. Chia danh sách thành hai nửa và chỉ tìm kiếm trong một nửa.
  • B. So sánh phần tử cần tìm với phần tử ở giữa danh sách.
  • C. Duyệt qua từng phần tử của danh sách, bắt đầu từ phần tử đầu tiên.
  • D. Sắp xếp danh sách trước khi bắt đầu tìm kiếm.

Câu 3: Giả sử bạn có một danh sách gồm 100 phần tử KHÔNG được sắp xếp. Trong trường hợp xấu nhất khi sử dụng tìm kiếm tuần tự để tìm một phần tử, bạn sẽ cần thực hiện tối đa bao nhiêu phép so sánh?

  • A. 1
  • B. 50
  • C. Log₂(100)
  • D. 100

Câu 4: Tìm kiếm tuần tự thường được sử dụng khi nào?

  • A. Danh sách dữ liệu nhỏ hoặc không được sắp xếp.
  • B. Danh sách dữ liệu rất lớn đã được sắp xếp.
  • C. Khi cần tốc độ tìm kiếm cực nhanh trên dữ liệu đã sắp xếp.
  • D. Khi chỉ muốn tìm kiếm trong nửa đầu của danh sách.

Câu 5: Điều kiện TIÊN QUYẾT để có thể áp dụng thuật toán tìm kiếm nhị phân (Binary Search) trên một danh sách dữ liệu là gì?

  • A. Các phần tử trong danh sách phải là số nguyên.
  • B. Các phần tử trong danh sách phải được sắp xếp theo một thứ tự nhất định (tăng dần hoặc giảm dần).
  • C. Số lượng phần tử trong danh sách phải là số chẵn.
  • D. Tất cả các phần tử trong danh sách phải là duy nhất (không có phần tử trùng lặp).

Câu 6: Thuật toán tìm kiếm nhị phân hoạt động dựa trên nguyên tắc nào?

  • A. So sánh lần lượt từng phần tử từ đầu danh sách.
  • B. Sử dụng hàm băm để xác định vị trí trực tiếp.
  • C. Duyệt qua danh sách theo thứ tự ngẫu nhiên.
  • D. Chia đôi phạm vi tìm kiếm trong mỗi bước lặp.

Câu 7: Cho danh sách ĐÃ SẮP XẾP: [2, 5, 8, 12, 16, 23, 38, 56, 72, 91]. Sử dụng tìm kiếm nhị phân để tìm số 23. Phần tử nào sẽ được so sánh ở bước đầu tiên?

  • A. 2
  • B. 12
  • C. 16
  • D. 23

Câu 8: Tiếp tục từ Câu 7, sau bước so sánh đầu tiên, phạm vi tìm kiếm tiếp theo sẽ là phần nào của danh sách?

  • A. [23, 38, 56, 72, 91]
  • B. [2, 5, 8, 12, 16]
  • C. [5, 8, 12, 16, 23]
  • D. [38, 56, 72, 91]

Câu 9: Trong trường hợp xấu nhất, thuật toán tìm kiếm nhị phân trên một danh sách gồm N phần tử ĐÃ SẮP XẾP cần thực hiện số phép so sánh có bậc (complexity) là bao nhiêu?

  • A. O(N) (tuyến tính)
  • B. O(log N) (logarit)
  • C. O(N²)
  • D. O(1) (hằng số)

Câu 10: So sánh về hiệu quả (tốc độ) giữa tìm kiếm tuần tự và tìm kiếm nhị phân trên một danh sách LỚN đã được sắp xếp?

  • A. Tìm kiếm tuần tự luôn nhanh hơn tìm kiếm nhị phân.
  • B. Hai thuật toán có tốc độ tương đương nhau.
  • C. Tìm kiếm nhị phân nhanh hơn đáng kể so với tìm kiếm tuần tự.
  • D. Tìm kiếm nhị phân chỉ nhanh hơn khi danh sách không có phần tử trùng lặp.

Câu 11: Một thư viện lưu trữ thông tin của hàng triệu cuốn sách, được sắp xếp theo mã ISBN (một chuỗi số duy nhất). Khi một người dùng nhập mã ISBN để tìm kiếm một cuốn sách cụ thể, thuật toán tìm kiếm nào sau đây là phù hợp nhất?

  • A. Tìm kiếm tuần tự.
  • B. Tìm kiếm nhị phân.
  • C. Cả hai đều phù hợp như nhau.
  • D. Không thuật toán nào phù hợp, cần phương pháp khác.

Câu 12: Giả sử bạn có một danh sách điểm thi của học sinh chưa được sắp xếp. Bạn cần tìm xem có học sinh nào đạt điểm 10 hay không. Thuật toán tìm kiếm nào nên được sử dụng?

  • A. Tìm kiếm tuần tự.
  • B. Tìm kiếm nhị phân.
  • C. Cần sắp xếp danh sách trước khi tìm kiếm.
  • D. Chỉ cần kiểm tra phần tử đầu tiên và cuối cùng.

Câu 13: Trong tìm kiếm nhị phân, nếu phần tử ở vị trí giữa (mid) LỚN HƠN phần tử cần tìm (target), thì bước tiếp theo thuật toán sẽ làm gì?

  • A. Tìm kiếm tiếp tục trong nửa bên phải của danh sách.
  • B. Phần tử cần tìm đã được tìm thấy.
  • C. Phạm vi tìm kiếm được giới hạn ở nửa bên trái của danh sách (bao gồm cả "mid").
  • D. Phạm vi tìm kiếm được giới hạn ở nửa bên trái của danh sách (không bao gồm "mid").

Câu 14: Trong tìm kiếm nhị phân, nếu phần tử ở vị trí giữa (mid) NHỎ HƠN phần tử cần tìm (target), thì bước tiếp theo thuật toán sẽ làm gì?

  • A. Phạm vi tìm kiếm được giới hạn ở nửa bên trái của danh sách.
  • B. Phần tử cần tìm đã được tìm thấy.
  • C. Phạm vi tìm kiếm được giới hạn ở nửa bên phải của danh sách (bao gồm cả "mid").
  • D. Phạm vi tìm kiếm được giới hạn ở nửa bên phải của danh sách (không bao gồm "mid").

Câu 15: Giả sử bạn có một mảng hai chiều biểu diễn bảng điểm của học sinh (mỗi hàng là một học sinh, mỗi cột là một bài kiểm tra). Để tìm điểm của bài kiểm tra thứ k của học sinh thứ i, bạn sẽ sử dụng phương pháp nào?

  • A. Truy cập trực tiếp bằng chỉ số hàng và cột (ví dụ: diem[i][k]).
  • B. Sử dụng tìm kiếm tuần tự trên toàn bộ mảng.
  • C. Sử dụng tìm kiếm nhị phân trên toàn bộ mảng.
  • D. Sắp xếp mảng trước rồi mới truy cập.

Câu 16: Trong một hệ thống quản lý học sinh, dữ liệu của 1000 học sinh được lưu trữ trong một danh sách. Mỗi học sinh có một mã số duy nhất. Để nhanh chóng tìm kiếm thông tin của một học sinh khi biết mã số của họ, phương pháp nào sau đây hiệu quả nhất, giả sử danh sách học sinh được sắp xếp theo mã số?

  • A. Duyệt qua danh sách từ đầu đến cuối.
  • B. Áp dụng thuật toán tìm kiếm nhị phân.
  • C. Sử dụng tìm kiếm tuần tự.
  • D. Chỉ cần kiểm tra 10 phần tử đầu tiên.

Câu 17: Một thuật toán tìm kiếm được mô tả như sau: "Kiểm tra phần tử ở giữa, nếu không phải là phần tử cần tìm, loại bỏ một nửa danh sách và lặp lại." Đây là mô tả của thuật toán nào?

  • A. Tìm kiếm tuần tự.
  • B. Tìm kiếm nhị phân.
  • C. Tìm kiếm theo chiều sâu.
  • D. Tìm kiếm theo chiều rộng.

Câu 18: Trong tìm kiếm tuần tự, số phép so sánh cần thiết để tìm thấy phần tử cần tìm trong trường hợp TỐT NHẤT là bao nhiêu?

  • A. 1
  • B. N/2
  • C. N
  • D. Log₂(N)

Câu 19: Xét một danh sách gồm N phần tử đã được sắp xếp. Việc tìm kiếm một phần tử bằng tìm kiếm nhị phân có thể được coi là hiệu quả hơn tìm kiếm tuần tự khi:

  • A. N rất nhỏ (ví dụ: N < 10).
  • B. Danh sách chứa nhiều phần tử trùng lặp.
  • C. N đủ lớn để sự khác biệt giữa O(N) và O(log N) trở nên đáng kể.
  • D. Cần tìm kiếm tất cả các lần xuất hiện của phần tử.

Câu 20: Bạn được yêu cầu viết chương trình tìm kiếm một từ trong một tệp văn bản lớn (hàng ngàn dòng). Tệp văn bản này KHÔNG được sắp xếp theo thứ tự chữ cái. Thuật toán tìm kiếm nào bạn sẽ sử dụng để tìm tất cả các lần xuất hiện của từ đó?

  • A. Tìm kiếm tuần tự.
  • B. Tìm kiếm nhị phân.
  • C. Cần sắp xếp tệp văn bản trước.
  • D. Sử dụng một thuật toán sắp xếp.

Câu 21: Khi cài đặt tìm kiếm nhị phân, việc tính toán chỉ số phần tử giữa (mid) cần lưu ý điều gì để tránh lỗi?

  • A. Luôn làm tròn lên kết quả phép chia.
  • B. Luôn làm tròn xuống kết quả phép chia.
  • C. Sử dụng công thức tính "mid" tránh tràn số khi "low" và "high" lớn.
  • D. Chỉ số "mid" phải luôn là số chẵn.

Câu 22: Một thuật toán tìm kiếm trả về vị trí của phần tử đầu tiên tìm thấy nếu có nhiều phần tử trùng lặp trong danh sách. Đây là đặc điểm thường thấy của thuật toán nào trong các lựa chọn sau?

  • A. Tìm kiếm tuần tự.
  • B. Tìm kiếm nhị phân (phiên bản cơ bản).
  • C. Cả hai thuật toán đều luôn tìm thấy tất cả các lần xuất hiện.
  • D. Không thuật toán nào có đặc điểm này.

Câu 23: Tại sao việc sắp xếp dữ liệu lại quan trọng đối với hiệu suất của thuật toán tìm kiếm nhị phân?

  • A. Sắp xếp giúp giảm số lượng phần tử trùng lặp.
  • B. Sắp xếp giúp thuật toán tuần tự hoạt động nhanh hơn.
  • C. Sắp xếp giúp giảm bộ nhớ cần thiết cho thuật toán.
  • D. Sắp xếp cho phép loại bỏ một nửa phạm vi tìm kiếm trong mỗi bước so sánh với phần tử giữa.

Câu 24: Giả sử bạn cần tìm kiếm một phần tử trong một danh sách rất lớn. Chi phí để sắp xếp danh sách là rất cao, và bạn chỉ cần thực hiện tìm kiếm MỘT LẦN duy nhất. Thuật toán nào có thể là lựa chọn tốt hơn trong trường hợp này?

  • A. Tìm kiếm tuần tự.
  • B. Tìm kiếm nhị phân (vì nó nhanh hơn sau khi sắp xếp).
  • C. Cần sắp xếp dù chỉ tìm kiếm một lần.
  • D. Không thể tìm kiếm hiệu quả nếu không sắp xếp.

Câu 25: Phát biểu nào sau đây về tìm kiếm nhị phân là SAI?

  • A. Nó hoạt động hiệu quả trên danh sách dữ liệu lớn đã được sắp xếp.
  • B. Số phép so sánh trong trường hợp xấu nhất tăng theo logarit của kích thước danh sách.
  • C. Nó có thể được áp dụng trực tiếp trên danh sách dữ liệu ngẫu nhiên (chưa sắp xếp).
  • D. Nó liên tục chia đôi phạm vi tìm kiếm cho đến khi tìm thấy phần tử hoặc phạm vi rỗng.

Câu 26: Khi thực hiện tìm kiếm nhị phân, nếu phần tử cần tìm KHÔNG có trong danh sách, thuật toán sẽ dừng lại khi nào?

  • A. Khi tìm thấy một phần tử lớn hơn phần tử cần tìm.
  • B. Khi tìm thấy một phần tử nhỏ hơn phần tử cần tìm.
  • C. Sau khi kiểm tra tất cả các phần tử.
  • D. Khi phạm vi tìm kiếm còn lại (được định bởi low và high) trở nên rỗng (ví dụ: low > high).

Câu 27: Một ứng dụng cần thường xuyên kiểm tra xem một mã sản phẩm có tồn tại trong cơ sở dữ liệu gồm 100.000 mã sản phẩm hay không. Cơ sở dữ liệu này có thể được sắp xếp và chỉ cần cập nhật định kỳ (không liên tục). Thuật toán nào phù hợp nhất cho việc kiểm tra sự tồn tại này?

  • A. Tìm kiếm tuần tự trên dữ liệu chưa sắp xếp.
  • B. Sắp xếp dữ liệu một lần và sử dụng tìm kiếm nhị phân.
  • C. Sử dụng tìm kiếm tuần tự sau mỗi lần cập nhật.
  • D. Không cần tìm kiếm, chỉ cần duyệt toàn bộ cơ sở dữ liệu.

Câu 28: Phát biểu nào sau đây mô tả đúng mối quan hệ giữa bài toán sắp xếp và bài toán tìm kiếm?

  • A. Bài toán sắp xếp là một trường hợp đặc biệt của bài toán tìm kiếm.
  • B. Bài toán tìm kiếm là một trường hợp đặc biệt của bài toán sắp xếp.
  • C. Sắp xếp là một bước chuẩn bị quan trọng giúp cải thiện hiệu quả của một số thuật toán tìm kiếm.
  • D. Hai bài toán này hoàn toàn độc lập và không liên quan đến nhau.

Câu 29: Trong một danh sách đã sắp xếp, bạn cần tìm vị trí của TẤT CẢ các lần xuất hiện của một giá trị cụ thể (ví dụ: tìm tất cả học sinh đạt điểm 9). Sau khi sử dụng tìm kiếm nhị phân để tìm thấy LẦN ĐẦU TIÊN giá trị 9 xuất hiện, bạn sẽ cần làm gì tiếp theo để tìm các lần xuất hiện khác?

  • A. Sử dụng tìm kiếm nhị phân lại trên toàn bộ danh sách.
  • B. Dừng lại, vì tìm kiếm nhị phân chỉ tìm thấy một vị trí.
  • C. Sắp xếp lại danh sách theo thứ tự ngược lại.
  • D. Duyệt tuần tự sang trái và sang phải từ vị trí tìm thấy để kiểm tra các phần tử lân cận.

Câu 30: Một danh sách gồm 1000 số nguyên được tạo ngẫu nhiên và KHÔNG được sắp xếp. Để tìm một số cụ thể trong danh sách này, bạn nên sử dụng thuật toán nào để đảm bảo tìm đúng kết quả, kể cả trong trường hợp xấu nhất?

  • A. Tìm kiếm tuần tự.
  • B. Tìm kiếm nhị phân (trực tiếp).
  • C. Cần sắp xếp danh sách rồi mới dùng tìm kiếm nhị phân.
  • D. Cả tìm kiếm tuần tự và nhị phân đều không đảm bảo tìm được trong trường hợp này.

1 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 18: Thực hành dữ liệu mảng một chiều và hai chiều

Tags: Bộ đề 01

Câu 1: Bài toán tìm kiếm (Search Problem) trong Tin học có mục đích cơ bản là gì?

2 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 18: Thực hành dữ liệu mảng một chiều và hai chiều

Tags: Bộ đề 01

Câu 2: Thuật toán tìm kiếm tuần tự (Sequential Search) hoạt động như thế nào?

3 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 18: Thực hành dữ liệu mảng một chiều và hai chiều

Tags: Bộ đề 01

Câu 3: Giả sử bạn có một danh sách gồm 100 phần tử KHÔNG được sắp xếp. Trong trường hợp xấu nhất khi sử dụng tìm kiếm tuần tự để tìm một phần tử, bạn sẽ cần thực hiện tối đa bao nhiêu phép so sánh?

4 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 18: Thực hành dữ liệu mảng một chiều và hai chiều

Tags: Bộ đề 01

Câu 4: Tìm kiếm tuần tự thường được sử dụng khi nào?

5 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 18: Thực hành dữ liệu mảng một chiều và hai chiều

Tags: Bộ đề 01

Câu 5: Điều kiện TIÊN QUYẾT để có thể áp dụng thuật toán tìm kiếm nhị phân (Binary Search) trên một danh sách dữ liệu là gì?

6 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 18: Thực hành dữ liệu mảng một chiều và hai chiều

Tags: Bộ đề 01

Câu 6: Thuật toán tìm kiếm nhị phân hoạt động dựa trên nguyên tắc nào?

7 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 18: Thực hành dữ liệu mảng một chiều và hai chiều

Tags: Bộ đề 01

Câu 7: Cho danh sách ĐÃ SẮP XẾP: [2, 5, 8, 12, 16, 23, 38, 56, 72, 91]. Sử dụng tìm kiếm nhị phân để tìm số 23. Phần tử nào sẽ được so sánh ở bước đầu tiên?

8 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 18: Thực hành dữ liệu mảng một chiều và hai chiều

Tags: Bộ đề 01

Câu 8: Tiếp tục từ Câu 7, sau bước so sánh đầu tiên, phạm vi tìm kiếm tiếp theo sẽ là phần nào của danh sách?

9 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 18: Thực hành dữ liệu mảng một chiều và hai chiều

Tags: Bộ đề 01

Câu 9: Trong trường hợp xấu nhất, thuật toán tìm kiếm nhị phân trên một danh sách gồm N phần tử ĐÃ SẮP XẾP cần thực hiện số phép so sánh có bậc (complexity) là bao nhiêu?

10 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 18: Thực hành dữ liệu mảng một chiều và hai chiều

Tags: Bộ đề 01

Câu 10: So sánh về hiệu quả (tốc độ) giữa tìm kiếm tuần tự và tìm kiếm nhị phân trên một danh sách LỚN đã được sắp xếp?

11 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 18: Thực hành dữ liệu mảng một chiều và hai chiều

Tags: Bộ đề 01

Câu 11: Một thư viện lưu trữ thông tin của hàng triệu cuốn sách, được sắp xếp theo mã ISBN (một chuỗi số duy nhất). Khi một người dùng nhập mã ISBN để tìm kiếm một cuốn sách cụ thể, thuật toán tìm kiếm nào sau đây là phù hợp nhất?

12 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 18: Thực hành dữ liệu mảng một chiều và hai chiều

Tags: Bộ đề 01

Câu 12: Giả sử bạn có một danh sách điểm thi của học sinh chưa được sắp xếp. Bạn cần tìm xem có học sinh nào đạt điểm 10 hay không. Thuật toán tìm kiếm nào nên được sử dụng?

13 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 18: Thực hành dữ liệu mảng một chiều và hai chiều

Tags: Bộ đề 01

Câu 13: Trong tìm kiếm nhị phân, nếu phần tử ở vị trí giữa (mid) LỚN HƠN phần tử cần tìm (target), thì bước tiếp theo thuật toán sẽ làm gì?

14 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 18: Thực hành dữ liệu mảng một chiều và hai chiều

Tags: Bộ đề 01

Câu 14: Trong tìm kiếm nhị phân, nếu phần tử ở vị trí giữa (mid) NHỎ HƠN phần tử cần tìm (target), thì bước tiếp theo thuật toán sẽ làm gì?

15 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 18: Thực hành dữ liệu mảng một chiều và hai chiều

Tags: Bộ đề 01

Câu 15: Giả sử bạn có một mảng hai chiều biểu diễn bảng điểm của học sinh (mỗi hàng là một học sinh, mỗi cột là một bài kiểm tra). Để tìm điểm của bài kiểm tra thứ k của học sinh thứ i, bạn sẽ sử dụng phương pháp nào?

16 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 18: Thực hành dữ liệu mảng một chiều và hai chiều

Tags: Bộ đề 01

Câu 16: Trong một hệ thống quản lý học sinh, dữ liệu của 1000 học sinh được lưu trữ trong một danh sách. Mỗi học sinh có một mã số duy nhất. Để nhanh chóng tìm kiếm thông tin của một học sinh khi biết mã số của họ, phương pháp nào sau đây hiệu quả nhất, giả sử danh sách học sinh được sắp xếp theo mã số?

17 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 18: Thực hành dữ liệu mảng một chiều và hai chiều

Tags: Bộ đề 01

Câu 17: Một thuật toán tìm kiếm được mô tả như sau: 'Kiểm tra phần tử ở giữa, nếu không phải là phần tử cần tìm, loại bỏ một nửa danh sách và lặp lại.' Đây là mô tả của thuật toán nào?

18 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 18: Thực hành dữ liệu mảng một chiều và hai chiều

Tags: Bộ đề 01

Câu 18: Trong tìm kiếm tuần tự, số phép so sánh cần thiết để tìm thấy phần tử cần tìm trong trường hợp TỐT NHẤT là bao nhiêu?

19 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 18: Thực hành dữ liệu mảng một chiều và hai chiều

Tags: Bộ đề 01

Câu 19: Xét một danh sách gồm N phần tử đã được sắp xếp. Việc tìm kiếm một phần tử bằng tìm kiếm nhị phân có thể được coi là hiệu quả hơn tìm kiếm tuần tự khi:

20 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 18: Thực hành dữ liệu mảng một chiều và hai chiều

Tags: Bộ đề 01

Câu 20: Bạn được yêu cầu viết chương trình tìm kiếm một từ trong một tệp văn bản lớn (hàng ngàn dòng). Tệp văn bản này KHÔNG được sắp xếp theo thứ tự chữ cái. Thuật toán tìm kiếm nào bạn sẽ sử dụng để tìm tất cả các lần xuất hiện của từ đó?

21 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 18: Thực hành dữ liệu mảng một chiều và hai chiều

Tags: Bộ đề 01

Câu 21: Khi cài đặt tìm kiếm nhị phân, việc tính toán chỉ số phần tử giữa (mid) cần lưu ý điều gì để tránh lỗi?

22 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 18: Thực hành dữ liệu mảng một chiều và hai chiều

Tags: Bộ đề 01

Câu 22: Một thuật toán tìm kiếm trả về vị trí của phần tử đầu tiên tìm thấy nếu có nhiều phần tử trùng lặp trong danh sách. Đây là đặc điểm thường thấy của thuật toán nào trong các lựa chọn sau?

23 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 18: Thực hành dữ liệu mảng một chiều và hai chiều

Tags: Bộ đề 01

Câu 23: Tại sao việc sắp xếp dữ liệu lại quan trọng đối với hiệu suất của thuật toán tìm kiếm nhị phân?

24 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 18: Thực hành dữ liệu mảng một chiều và hai chiều

Tags: Bộ đề 01

Câu 24: Giả sử bạn cần tìm kiếm một phần tử trong một danh sách rất lớn. Chi phí để sắp xếp danh sách là rất cao, và bạn chỉ cần thực hiện tìm kiếm MỘT LẦN duy nhất. Thuật toán nào có thể là lựa chọn tốt hơn trong trường hợp này?

25 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 18: Thực hành dữ liệu mảng một chiều và hai chiều

Tags: Bộ đề 01

Câu 25: Phát biểu nào sau đây về tìm kiếm nhị phân là SAI?

26 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 18: Thực hành dữ liệu mảng một chiều và hai chiều

Tags: Bộ đề 01

Câu 26: Khi thực hiện tìm kiếm nhị phân, nếu phần tử cần tìm KHÔNG có trong danh sách, thuật toán sẽ dừng lại khi nào?

27 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 18: Thực hành dữ liệu mảng một chiều và hai chiều

Tags: Bộ đề 01

Câu 27: Một ứng dụng cần thường xuyên kiểm tra xem một mã sản phẩm có tồn tại trong cơ sở dữ liệu gồm 100.000 mã sản phẩm hay không. Cơ sở dữ liệu này có thể được sắp xếp và chỉ cần cập nhật định kỳ (không liên tục). Thuật toán nào phù hợp nhất cho việc kiểm tra sự tồn tại này?

28 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 18: Thực hành dữ liệu mảng một chiều và hai chiều

Tags: Bộ đề 01

Câu 28: Phát biểu nào sau đây mô tả đúng mối quan hệ giữa bài toán sắp xếp và bài toán tìm kiếm?

29 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 18: Thực hành dữ liệu mảng một chiều và hai chiều

Tags: Bộ đề 01

Câu 29: Trong một danh sách đã sắp xếp, bạn cần tìm vị trí của TẤT CẢ các lần xuất hiện của một giá trị cụ thể (ví dụ: tìm tất cả học sinh đạt điểm 9). Sau khi sử dụng tìm kiếm nhị phân để tìm thấy LẦN ĐẦU TIÊN giá trị 9 xuất hiện, bạn sẽ cần làm gì tiếp theo để tìm các lần xuất hiện khác?

30 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 18: Thực hành dữ liệu mảng một chiều và hai chiều

Tags: Bộ đề 01

Câu 30: Một danh sách gồm 1000 số nguyên được tạo ngẫu nhiên và KHÔNG được sắp xếp. Để tìm một số cụ thể trong danh sách này, bạn nên sử dụng thuật toán nào để đảm bảo tìm đúng kết quả, kể cả trong trường hợp xấu nhất?

0

Bạn đã sẵn sàng chưa? 45 phút làm bài bắt đầu!!!

Bạn đã hết giờ làm bài! Xem kết quả các câu hỏi đã làm nhé!!!


Trắc nghiệm Tin học 11 Kết nối tri thức Bài 18: Thực hành dữ liệu mảng một chiều và hai chiều

Trắc nghiệm Tin học 11 Kết nối tri thức Bài 18: Thực hành dữ liệu mảng một chiều và hai chiều - Đề 02

Trắc nghiệm Tin học 11 Kết nối tri thức Bài 18: Thực hành dữ liệu mảng một chiều và hai chiều - Đề 02 được xây dựng với nhiều câu hỏi chất lượng, sát với nội dung chương trình học, giúp bạn dễ dàng ôn tập và kiểm tra kiến thức hiệu quả. Hãy cùng bắt đầu làm bài tập trắc nghiệm ngay để nâng cao hiểu biết và chuẩn bị tốt cho kỳ thi sắp tới!

Câu 1: Cho một danh sách Python `diem_thi = [7.5, 8.0, 6.5, 9.0, 7.0]`. Để tính tổng điểm của học sinh này, phương pháp nào sau đây hiệu quả và đúng cú pháp trong Python?

  • A. `tong_diem = sum(diem_thi)`
  • B. `tong_diem = diem_thi.sum()`
  • C. `tong_diem = total(diem_thi)`
  • D. `tong_diem = diem_thi[0] + diem_thi[1] + diem_thi[2] + diem_thi[3] + diem_thi[4]`

Câu 2: Giả sử bạn có danh sách `nhiet_do = [25, 27, 26, 28, 29, 27, 26]`. Bạn muốn tìm nhiệt độ cao nhất trong tuần. Sử dụng hàm nào trong Python để thực hiện việc này một cách nhanh chóng?

  • A. `average(nhiet_do)`
  • B. `total(nhiet_do)`
  • C. `max(nhiet_do)`
  • D. `sort(nhiet_do)[-1]`

Câu 3: Cho danh sách `so_nguyen = [10, 5, 15, 5, 20, 10]`. Bạn muốn đếm xem số 5 xuất hiện bao nhiêu lần trong danh sách này. Phương pháp nào sau đây là đúng?

  • A. `dem = so_nguyen.find(5)`
  • B. `dem = len(so_nguyen == 5)`
  • C. `dem = so_nguyen.index(5)`
  • D. `dem = so_nguyen.count(5)`

Câu 4: Bạn có một danh sách `diem_so = [85, 92, 78, 95, 88]`. Để thêm điểm 90 vào cuối danh sách, bạn sử dụng phương thức nào?

  • A. `diem_so.insert(90)`
  • B. `diem_so.append(90)`
  • C. `diem_so.add(90)`
  • D. `diem_so.extend(90)`

Câu 5: Cho danh sách `chu_cai = ["a", "b", "c", "d", "e"]`. Làm thế nào để truy cập và in ra phần tử thứ 3 (chữ "c") của danh sách này?

  • A. `print(chu_cai[3])`
  • B. `print(chu_cai.get(3))`
  • C. `print(chu_cai[2])`
  • D. `print(chu_cai.element(2))`

Câu 6: Bạn cần tạo một danh sách (mảng một chiều) chứa 10 số 0. Cách viết mã Python nào sau đây là ngắn gọn và đúng?

  • A. `danh_sach = [0] * 10`
  • B. `danh_sach = list(0, 10)`
  • C. `danh_sach = [0 for i in range(10)]` (Cách này cũng đúng nhưng không ngắn gọn bằng phương án 1 trong trường hợp này)
  • D. `danh_sach = repeat(0, 10)`

Câu 7: Cho danh sách `numbers = [4, 2, 8, 1, 5]`. Sau khi thực hiện lệnh `numbers.sort()`, nội dung của danh sách `numbers` sẽ là gì?

  • A. `[4, 2, 8, 1, 5]`
  • B. `[8, 5, 4, 2, 1]`
  • C. `[1, 2, 4, 5, 8, 10]`
  • D. `[1, 2, 4, 5, 8]`

Câu 8: Bạn đang xử lý một danh sách điểm kiểm tra và cần loại bỏ điểm thấp nhất. Giả sử điểm thấp nhất là 6.0 và nó chỉ xuất hiện một lần. Phương thức nào sau đây giúp loại bỏ phần tử có giá trị 6.0 đầu tiên tìm thấy?

  • A. `diem_kiem_tra.remove(6.0)`
  • B. `diem_kiem_tra.pop(6.0)`
  • C. `del diem_kiem_tra[6.0]`
  • D. `diem_kiem_tra.delete(6.0)`

Câu 9: Để duyệt qua tất cả các phần tử trong một danh sách `my_list` và in từng phần tử ra màn hình, đoạn mã nào sau đây là đúng và phổ biến trong Python?

  • A. `while i < len(my_list): print(my_list[i])`
  • B. `for i in range(len(my_list)): print(my_list.get(i))`
  • C. `for item in my_list: print(item)`
  • D. `foreach item in my_list: print(item)`

Câu 10: Bạn có một mảng hai chiều biểu diễn ma trận kích thước 3x4 (3 hàng, 4 cột) được lưu trong danh sách lồng nhau `ma_tran`. Làm thế nào để truy cập phần tử nằm ở hàng thứ 2 (chỉ số 1) và cột thứ 3 (chỉ số 2)?

  • A. `ma_tran[2][3]`
  • B. `ma_tran[1][2]`
  • C. `ma_tran[3][2]`
  • D. `ma_tran.get(1, 2)`

Câu 11: Để duyệt qua tất cả các phần tử trong một mảng hai chiều `ma_tran` (danh sách lồng nhau) kích thước `m` hàng và `n` cột, đoạn mã nào sau đây là đúng?

  • A. `for i in range(m): for j in range(n): print(ma_tran[i, j])`
  • B. `for row in ma_tran: for element in row: print(element)`
  • C. `for i in range(m): for j in range(n): print(ma_tran[j][i])`
  • D. `for i in range(m): for j in range(n): print(ma_tran[i][j])`

Câu 12: Bạn cần nhập điểm của 5 môn học cho 3 học sinh và lưu trữ chúng trong một cấu trúc dữ liệu. Cấu trúc nào phù hợp nhất để lưu trữ dữ liệu này, trong đó mỗi hàng là điểm của một học sinh và mỗi cột là điểm của một môn?

  • A. Mảng một chiều
  • B. Mảng hai chiều (Danh sách lồng nhau)
  • C. Bộ (Tuple)
  • D. Từ điển (Dictionary)

Câu 13: Cho mảng hai chiều `diem_lop = [[7, 8, 6], [9, 7, 8], [6, 9, 7]]` (3 học sinh, mỗi học sinh 3 điểm). Làm thế nào để tính tổng điểm của học sinh thứ 2 (chỉ số 1)?

  • A. `tong_hs2 = sum(diem_lop[1])`
  • B. `tong_hs2 = sum(diem_lop[2])`
  • C. `tong_hs2 = diem_lop[1].sum()`
  • D. `tong_hs2 = diem_lop[1][0] + diem_lop[1][1] + diem_lop[1][2]` (Cách này đúng nhưng không hiệu quả bằng sum)

Câu 14: Cho mảng hai chiều `data = [[1, 2, 3], [4, 5, 6]]`. Kích thước của mảng này là bao nhiêu (số hàng x số cột)?

  • A. 3x2
  • B. 2x2
  • C. 2x3
  • D. 3x3

Câu 15: Viết mã Python để tạo một mảng hai chiều kích thước 4x5 (4 hàng, 5 cột) và khởi tạo tất cả các phần tử bằng giá trị -1.

  • A. `ma_tran = [[-1] * 4] * 5` (Sai, cách này tạo ra các hàng tham chiếu cùng một danh sách)
  • B. `ma_tran = [[-1] * 5 for _ in range(4)]`
  • C. `ma_tran = [[-1 for i in range(4)] for j in range(5)]` (Sai kích thước)
  • D. `ma_tran = [[-1] * 5, [-1] * 5, [-1] * 5, [-1] * 5]` (Đúng nhưng không tổng quát)

Câu 16: Cho danh sách `danh_sach = [10, 20, 30, 40, 50]`. Bạn muốn thay đổi giá trị của phần tử ở vị trí thứ 2 (giá trị 20) thành 25. Lệnh nào sau đây thực hiện đúng?

  • A. `danh_sach[1] = 25`
  • B. `danh_sach.update(1, 25)`
  • C. `danh_sach[2] = 25`
  • D. `danh_sach.replace(20, 25)`

Câu 17: Khi làm việc với mảng một chiều (danh sách) trong Python, lỗi `IndexError: list index out of range` xảy ra khi nào?

  • A. Khi cố gắng chia một số cho 0.
  • B. Khi nhập dữ liệu không đúng định dạng.
  • C. Khi sử dụng tên biến chưa được khai báo.
  • D. Khi truy cập một phần tử sử dụng chỉ số không tồn tại trong danh sách.

Câu 18: Bạn có mảng hai chiều `bang_diem = [[8, 9, 7], [7, 8, 9]]`. Để tính điểm trung bình của môn thứ 2 (cột chỉ số 1) của tất cả học sinh, bạn cần thực hiện các bước nào?

  • A. Tính tổng `bang_diem[1]` và chia cho số hàng.
  • B. Tính tổng `bang_diem[0][1] + bang_diem[1][1]` và chia cho số cột.
  • C. Lặp qua từng hàng, cộng dồn phần tử ở chỉ số cột 1, sau đó chia tổng cho số hàng.
  • D. Sử dụng hàm `average(bang_diem[1])`.

Câu 19: Cho đoạn mã sau:
```python
matrix = [[1, 2], [3, 4], [5, 6]]
result = 0
for row in matrix:
result += row[0]
print(result)
```
Kết quả in ra màn hình sẽ là gì?

  • A. 15
  • B. 9
  • C. 12
  • D. 6

Câu 20: Bạn đang viết chương trình cho phép người dùng nhập một danh sách các số nguyên cách nhau bởi dấu phẩy. Sau đó, bạn muốn chuyển chuỗi nhập vào thành một danh sách số nguyên để xử lý. Các bước thực hiện là gì?

  • A. Nhập chuỗi bằng `input()`, sử dụng `split(",")` để tách, sau đó dùng `int()` cho toàn bộ danh sách.
  • B. Nhập chuỗi bằng `input()`, sử dụng `split(",")` để tách, sau đó lặp qua danh sách kết quả và dùng `int()` cho từng phần tử.
  • C. Nhập chuỗi bằng `input()`, dùng `int()` trực tiếp cho chuỗi.
  • D. Nhập chuỗi bằng `input()`, sử dụng `split(",")` để tách, sau đó dùng list comprehension `[int(x) for x in ...]` để chuyển đổi từng phần tử.

Câu 21: Giả sử bạn có danh sách điểm `scores = [70, 85, 60, 90, 75]`. Bạn muốn tìm chỉ số (vị trí) của điểm 60 trong danh sách này. Phương thức nào sau đây giúp bạn làm điều đó?

  • A. `scores.find(60)`
  • B. `scores.get_index(60)`
  • C. `scores.index(60)`
  • D. `scores.position(60)`

Câu 22: Cho mảng hai chiều `grid = [["X", "O"], ["O", "X"]]`. Làm thế nào để thay đổi phần tử ở hàng 1, cột 0 (hiện là "O") thành "X"?

  • A. `grid[0][1] = "X"`
  • B. `grid.set(1, 0, "X")`
  • C. `grid["O"]["X"] = "X"`
  • D. `grid[1][0] = "X"`

Câu 23: Bạn có danh sách `data = [1, 2, 3, 4, 5]`. Bạn muốn xóa phần tử cuối cùng khỏi danh sách và lấy giá trị của nó. Phương thức nào sau đây thực hiện được cả hai việc này?

  • A. `data.remove_last()`
  • B. `last_element = data.pop()`
  • C. `last_element = data.delete(-1)`
  • D. `last_element = data[-1]; del data[-1]` (Cách này đúng nhưng .pop() là phương thức chuyên dụng)

Câu 24: Khi nào thì nên sử dụng mảng hai chiều thay vì mảng một chiều để lưu trữ dữ liệu?

  • A. Khi dữ liệu có cấu trúc dạng bảng, cần biểu diễn mối quan hệ giữa các hàng và cột (ví dụ: điểm của nhiều học sinh cho nhiều môn).
  • B. Khi chỉ cần lưu trữ một tập hợp các giá trị độc lập.
  • C. Khi cần lưu trữ dữ liệu theo thứ tự.
  • D. Khi dữ liệu không thay đổi sau khi được tạo.

Câu 25: Cho đoạn mã:
```python
my_list = [10, 20, 30]
for i in range(len(my_list)):
my_list[i] += 5
print(my_list)
```
Kết quả in ra màn hình sẽ là gì?

  • A. `[10, 20, 30]`
  • B. `[15, 25, 35, 5]`
  • C. `[15, 25, 35]`
  • D. Lỗi

Câu 26: Bạn cần tạo một mảng hai chiều 3x3 biểu diễn ma trận đơn vị (các phần tử trên đường chéo chính bằng 1, còn lại bằng 0). Đoạn mã nào sau đây thực hiện đúng?

  • A. `identity_matrix = [[1 if i == j else 0 for j in range(3)] for i in range(3)]`
  • B. `identity_matrix = [[0] * 3] * 3; identity_matrix[i][i] = 1 for i in range(3)` (Sai cú pháp và cách tạo)
  • C. `identity_matrix = [[1, 0, 0], [0, 1, 0], [0, 0, 1]]` (Đúng nhưng không tổng quát)
  • D. `identity_matrix = [[1, 0, 0], [0, 1, 0], [0, 0, 1, 0, 0, 0]]` (Sai kích thước)

Câu 27: Cho danh sách `items = ["apple", "banana", "cherry"]`. Làm thế nào để chèn "orange" vào vị trí thứ hai (sau "apple", trước "banana")?

  • A. `items.append(1, "orange")`
  • B. `items[1] = "orange"` (Thay thế chứ không chèn)
  • C. `items.insert(1, "orange")`
  • D. `items.add(1, "orange")`

Câu 28: Bạn có mảng hai chiều `data = [[10, 20], [30, 40], [50, 60]]`. Bạn muốn tính tổng của tất cả các phần tử trong mảng này. Đoạn mã nào sau đây thực hiện đúng?

  • A. `total = sum(data)` (Sai, sum không làm việc trực tiếp với danh sách lồng nhau)
  • B. `total = 0
    for row in data:
    total += sum(row)`
  • C. `total = 0
    for i in range(len(data)):
    for j in range(len(data[0])):
    total += data[i, j]` (Sai cú pháp truy cập)
  • D. `total = sum(sum(data))` (Sai cú pháp)

Câu 29: Khi nhập dữ liệu cho mảng hai chiều từ người dùng, điều quan trọng cần kiểm tra là gì để tránh lỗi `IndexError`?

  • A. Kiểm tra kiểu dữ liệu của từng phần tử nhập vào.
  • B. Đảm bảo tổng số phần tử nhập vào là một số nguyên.
  • C. Kiểm tra xem các phần tử có được sắp xếp không.
  • D. Đảm bảo số lượng phần tử nhập cho mỗi hàng là đồng nhất (các hàng có cùng số cột).

Câu 30: Cho đoạn mã sau:
```python
data = [1, 2, 3, 4, 5]
new_list = data[1:4]
print(new_list)
```
Kết quả in ra màn hình sẽ là gì?

  • A. `[1, 2, 3]`
  • B. `[2, 3, 4]`
  • C. `[1, 2, 3, 4]`
  • D. `[2, 3, 4, 5]`

1 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 18: Thực hành dữ liệu mảng một chiều và hai chiều

Tags: Bộ đề 02

Câu 1: Cho một danh sách Python `diem_thi = [7.5, 8.0, 6.5, 9.0, 7.0]`. Để tính tổng điểm của học sinh này, phương pháp nào sau đây hiệu quả và đúng cú pháp trong Python?

2 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 18: Thực hành dữ liệu mảng một chiều và hai chiều

Tags: Bộ đề 02

Câu 2: Giả sử bạn có danh sách `nhiet_do = [25, 27, 26, 28, 29, 27, 26]`. Bạn muốn tìm nhiệt độ cao nhất trong tuần. Sử dụng hàm nào trong Python để thực hiện việc này một cách nhanh chóng?

3 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 18: Thực hành dữ liệu mảng một chiều và hai chiều

Tags: Bộ đề 02

Câu 3: Cho danh sách `so_nguyen = [10, 5, 15, 5, 20, 10]`. Bạn muốn đếm xem số 5 xuất hiện bao nhiêu lần trong danh sách này. Phương pháp nào sau đây là đúng?

4 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 18: Thực hành dữ liệu mảng một chiều và hai chiều

Tags: Bộ đề 02

Câu 4: Bạn có một danh sách `diem_so = [85, 92, 78, 95, 88]`. Để thêm điểm 90 vào cuối danh sách, bạn sử dụng phương thức nào?

5 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 18: Thực hành dữ liệu mảng một chiều và hai chiều

Tags: Bộ đề 02

Câu 5: Cho danh sách `chu_cai = ['a', 'b', 'c', 'd', 'e']`. Làm thế nào để truy cập và in ra phần tử thứ 3 (chữ 'c') của danh sách này?

6 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 18: Thực hành dữ liệu mảng một chiều và hai chiều

Tags: Bộ đề 02

Câu 6: Bạn cần tạo một danh sách (mảng một chiều) chứa 10 số 0. Cách viết mã Python nào sau đây là ngắn gọn và đúng?

7 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 18: Thực hành dữ liệu mảng một chiều và hai chiều

Tags: Bộ đề 02

Câu 7: Cho danh sách `numbers = [4, 2, 8, 1, 5]`. Sau khi thực hiện lệnh `numbers.sort()`, nội dung của danh sách `numbers` sẽ là gì?

8 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 18: Thực hành dữ liệu mảng một chiều và hai chiều

Tags: Bộ đề 02

Câu 8: Bạn đang xử lý một danh sách điểm kiểm tra và cần loại bỏ điểm thấp nhất. Giả sử điểm thấp nhất là 6.0 và nó chỉ xuất hiện một lần. Phương thức nào sau đây giúp loại bỏ phần tử có giá trị 6.0 đầu tiên tìm thấy?

9 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 18: Thực hành dữ liệu mảng một chiều và hai chiều

Tags: Bộ đề 02

Câu 9: Để duyệt qua tất cả các phần tử trong một danh sách `my_list` và in từng phần tử ra màn hình, đoạn mã nào sau đây là đúng và phổ biến trong Python?

10 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 18: Thực hành dữ liệu mảng một chiều và hai chiều

Tags: Bộ đề 02

Câu 10: Bạn có một mảng hai chiều biểu diễn ma trận kích thước 3x4 (3 hàng, 4 cột) được lưu trong danh sách lồng nhau `ma_tran`. Làm thế nào để truy cập phần tử nằm ở hàng thứ 2 (chỉ số 1) và cột thứ 3 (chỉ số 2)?

11 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 18: Thực hành dữ liệu mảng một chiều và hai chiều

Tags: Bộ đề 02

Câu 11: Để duyệt qua tất cả các phần tử trong một mảng hai chiều `ma_tran` (danh sách lồng nhau) kích thước `m` hàng và `n` cột, đoạn mã nào sau đây là đúng?

12 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 18: Thực hành dữ liệu mảng một chiều và hai chiều

Tags: Bộ đề 02

Câu 12: Bạn cần nhập điểm của 5 môn học cho 3 học sinh và lưu trữ chúng trong một cấu trúc dữ liệu. Cấu trúc nào phù hợp nhất để lưu trữ dữ liệu này, trong đó mỗi hàng là điểm của một học sinh và mỗi cột là điểm của một môn?

13 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 18: Thực hành dữ liệu mảng một chiều và hai chiều

Tags: Bộ đề 02

Câu 13: Cho mảng hai chiều `diem_lop = [[7, 8, 6], [9, 7, 8], [6, 9, 7]]` (3 học sinh, mỗi học sinh 3 điểm). Làm thế nào để tính tổng điểm của học sinh thứ 2 (chỉ số 1)?

14 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 18: Thực hành dữ liệu mảng một chiều và hai chiều

Tags: Bộ đề 02

Câu 14: Cho mảng hai chiều `data = [[1, 2, 3], [4, 5, 6]]`. Kích thước của mảng này là bao nhiêu (số hàng x số cột)?

15 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 18: Thực hành dữ liệu mảng một chiều và hai chiều

Tags: Bộ đề 02

Câu 15: Viết mã Python để tạo một mảng hai chiều kích thước 4x5 (4 hàng, 5 cột) và khởi tạo tất cả các phần tử bằng giá trị -1.

16 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 18: Thực hành dữ liệu mảng một chiều và hai chiều

Tags: Bộ đề 02

Câu 16: Cho danh sách `danh_sach = [10, 20, 30, 40, 50]`. Bạn muốn thay đổi giá trị của phần tử ở vị trí thứ 2 (giá trị 20) thành 25. Lệnh nào sau đây thực hiện đúng?

17 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 18: Thực hành dữ liệu mảng một chiều và hai chiều

Tags: Bộ đề 02

Câu 17: Khi làm việc với mảng một chiều (danh sách) trong Python, lỗi `IndexError: list index out of range` xảy ra khi nào?

18 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 18: Thực hành dữ liệu mảng một chiều và hai chiều

Tags: Bộ đề 02

Câu 18: Bạn có mảng hai chiều `bang_diem = [[8, 9, 7], [7, 8, 9]]`. Để tính điểm trung bình của môn thứ 2 (cột chỉ số 1) của tất cả học sinh, bạn cần thực hiện các bước nào?

19 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 18: Thực hành dữ liệu mảng một chiều và hai chiều

Tags: Bộ đề 02

Câu 19: Cho đoạn mã sau:
```python
matrix = [[1, 2], [3, 4], [5, 6]]
result = 0
for row in matrix:
result += row[0]
print(result)
```
Kết quả in ra màn hình sẽ là gì?

20 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 18: Thực hành dữ liệu mảng một chiều và hai chiều

Tags: Bộ đề 02

Câu 20: Bạn đang viết chương trình cho phép người dùng nhập một danh sách các số nguyên cách nhau bởi dấu phẩy. Sau đó, bạn muốn chuyển chuỗi nhập vào thành một danh sách số nguyên để xử lý. Các bước thực hiện là gì?

21 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 18: Thực hành dữ liệu mảng một chiều và hai chiều

Tags: Bộ đề 02

Câu 21: Giả sử bạn có danh sách điểm `scores = [70, 85, 60, 90, 75]`. Bạn muốn tìm chỉ số (vị trí) của điểm 60 trong danh sách này. Phương thức nào sau đây giúp bạn làm điều đó?

22 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 18: Thực hành dữ liệu mảng một chiều và hai chiều

Tags: Bộ đề 02

Câu 22: Cho mảng hai chiều `grid = [['X', 'O'], ['O', 'X']]`. Làm thế nào để thay đổi phần tử ở hàng 1, cột 0 (hiện là 'O') thành 'X'?

23 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 18: Thực hành dữ liệu mảng một chiều và hai chiều

Tags: Bộ đề 02

Câu 23: Bạn có danh sách `data = [1, 2, 3, 4, 5]`. Bạn muốn xóa phần tử cuối cùng khỏi danh sách và lấy giá trị của nó. Phương thức nào sau đây thực hiện được cả hai việc này?

24 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 18: Thực hành dữ liệu mảng một chiều và hai chiều

Tags: Bộ đề 02

Câu 24: Khi nào thì nên sử dụng mảng hai chiều thay vì mảng một chiều để lưu trữ dữ liệu?

25 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 18: Thực hành dữ liệu mảng một chiều và hai chiều

Tags: Bộ đề 02

Câu 25: Cho đoạn mã:
```python
my_list = [10, 20, 30]
for i in range(len(my_list)):
my_list[i] += 5
print(my_list)
```
Kết quả in ra màn hình sẽ là gì?

26 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 18: Thực hành dữ liệu mảng một chiều và hai chiều

Tags: Bộ đề 02

Câu 26: Bạn cần tạo một mảng hai chiều 3x3 biểu diễn ma trận đơn vị (các phần tử trên đường chéo chính bằng 1, còn lại bằng 0). Đoạn mã nào sau đây thực hiện đúng?

27 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 18: Thực hành dữ liệu mảng một chiều và hai chiều

Tags: Bộ đề 02

Câu 27: Cho danh sách `items = ['apple', 'banana', 'cherry']`. Làm thế nào để chèn 'orange' vào vị trí thứ hai (sau 'apple', trước 'banana')?

28 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 18: Thực hành dữ liệu mảng một chiều và hai chiều

Tags: Bộ đề 02

Câu 28: Bạn có mảng hai chiều `data = [[10, 20], [30, 40], [50, 60]]`. Bạn muốn tính tổng của tất cả các phần tử trong mảng này. Đoạn mã nào sau đây thực hiện đúng?

29 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 18: Thực hành dữ liệu mảng một chiều và hai chiều

Tags: Bộ đề 02

Câu 29: Khi nhập dữ liệu cho mảng hai chiều từ người dùng, điều quan trọng cần kiểm tra là gì để tránh lỗi `IndexError`?

30 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 18: Thực hành dữ liệu mảng một chiều và hai chiều

Tags: Bộ đề 02

Câu 30: Cho đoạn mã sau:
```python
data = [1, 2, 3, 4, 5]
new_list = data[1:4]
print(new_list)
```
Kết quả in ra màn hình sẽ là gì?

0

Bạn đã sẵn sàng chưa? 45 phút làm bài bắt đầu!!!

Bạn đã hết giờ làm bài! Xem kết quả các câu hỏi đã làm nhé!!!


Trắc nghiệm Tin học 11 Kết nối tri thức Bài 18: Thực hành dữ liệu mảng một chiều và hai chiều

Trắc nghiệm Tin học 11 Kết nối tri thức Bài 18: Thực hành dữ liệu mảng một chiều và hai chiều - Đề 03

Trắc nghiệm Tin học 11 Kết nối tri thức Bài 18: Thực hành dữ liệu mảng một chiều và hai chiều - Đề 03 được xây dựng với nhiều câu hỏi chất lượng, sát với nội dung chương trình học, giúp bạn dễ dàng ôn tập và kiểm tra kiến thức hiệu quả. Hãy cùng bắt đầu làm bài tập trắc nghiệm ngay để nâng cao hiểu biết và chuẩn bị tốt cho kỳ thi sắp tới!

Câu 1: Cho danh sách điểm kiểm tra môn Tin học của một học sinh trong học kỳ: `diem_kiem_tra = [7.5, 8.0, 6.5, 9.0, 7.0]`. Để tính tổng điểm của học sinh này, đoạn mã Python nào sau đây là phù hợp nhất?

  • A. tong_diem = 0
    for d in diem_kiem_tra:
    tong_diem += d
  • B. tong_diem = diem_kiem_tra[0] + diem_kiem_tra[1] + diem_kiem_tra[2] + diem_kiem_tra[3] + diem_kiem_tra[4]
  • C. tong_diem = sum(diem_kiem_tra)
  • D. tong_diem = len(diem_kiem_tra)

Câu 2: Vẫn với danh sách `diem_kiem_tra = [7.5, 8.0, 6.5, 9.0, 7.0]`. Bạn muốn tìm điểm kiểm tra thấp nhất mà học sinh đạt được. Hàm nào trong Python giúp thực hiện điều này một cách hiệu quả?

  • A. average(diem_kiem_tra)
  • B. min(diem_kiem_tra)
  • C. max(diem_kiem_tra)
  • D. count(diem_kiem_tra)

Câu 3: Một giáo viên muốn tính điểm trung bình của một bài kiểm tra cho cả lớp. Danh sách điểm của 5 học sinh là `diem_bai_kiem_tra = [8, 7, 9, 6, 8]`. Đoạn mã nào sau đây tính đúng điểm trung bình?

  • A. diem_trung_binh = sum(diem_bai_kiem_tra) / len(diem_bai_kiem_tra)
  • B. diem_trung_binh = max(diem_bai_kiem_tra) / len(diem_bai_kiem_tra)
  • C. diem_trung_binh = min(diem_bai_kiem_tra) / len(diem_bai_kiem_tra)
  • D. diem_trung_binh = sum(diem_bai_kiem_tra)

Câu 4: Cho danh sách số nguyên `danh_sach = [10, 25, 15, 30, 20]`. Bạn muốn in ra các số trong danh sách lớn hơn 20. Đoạn mã nào thực hiện đúng yêu cầu này?

  • A. for so in danh_sach:
    if so < 20: print(so)
  • B. for i in range(len(danh_sach)):
    print(danh_sach[i])
  • C. for so in danh_sach:
    if so > 20:
    print(so)
  • D. print(danh_sach[2])

Câu 5: Bạn có một danh sách các nhiệt độ đo được trong ngày: `nhiet_do = [28.5, 29.0, 30.1, 27.8, 31.5, 29.0]`. Bạn muốn đếm xem có bao nhiêu lần nhiệt độ đạt mức 29.0 độ C. Cách làm nào sau đây là chính xác?

  • A. dem = 0
    for temp in nhiet_do:
    if temp >= 29.0:
    dem += 1
  • B. dem = len(nhiet_do)
  • C. dem = nhiet_do.index(29.0)
  • D. dem = nhiet_do.count(29.0)

Câu 6: Cho danh sách `my_list = [1, 2, 3, 4, 5]`. Nếu bạn cố gắng truy cập phần tử `my_list[5]`, điều gì sẽ xảy ra trong Python?

  • A. Python sẽ trả về giá trị cuối cùng của danh sách (5).
  • B. Python sẽ báo lỗi `IndexError`.
  • C. Python sẽ trả về giá trị 0.
  • D. Python sẽ tự động thêm một phần tử mới vào cuối danh sách.

Câu 7: Bạn đang xử lý dữ liệu bán hàng theo từng ngày trong tuần, lưu trong danh sách `doanh_thu_tuan = [1500, 1200, 1800, 2000, 2500, 3000, 2800]`. Bạn muốn biết doanh thu của ngày thứ 5 (Giả sử danh sách bắt đầu từ Chủ Nhật là ngày 0). Bạn cần truy cập phần tử nào?

  • A. doanh_thu_tuan[4]
  • B. doanh_thu_tuan[5]
  • C. doanh_thu_tuan[3]
  • D. doanh_thu_tuan[0]

Câu 8: Cho danh sách `numbers = [4, 1, 7, 3, 9, 2]`. Sau khi thực hiện `numbers.sort()`, danh sách `numbers` sẽ có trạng thái như thế nào?

  • A. [4, 1, 7, 3, 9, 2]
  • B. [2, 9, 3, 7, 1, 4]
  • C. [1, 2, 3, 4, 7, 9]
  • D. [9, 7, 4, 3, 2, 1]

Câu 9: Bạn đang xây dựng một ứng dụng quản lý hàng tồn kho. Bạn sử dụng một danh sách để lưu tên các mặt hàng: `ton_kho = ["Áo", "Quần", "Giày", "Mũ"]`. Bạn muốn kiểm tra xem mặt hàng "Giày" có tồn tại trong danh sách hay không. Biểu thức điều kiện nào sau đây là đúng?

  • A. "Giày" in ton_kho
  • B. ton_kho[2] == "Giày"
  • C. ton_kho.count("Giày") > 0
  • D. "Giày" == ton_kho

Câu 10: Trong Python, mảng hai chiều thường được biểu diễn bằng cấu trúc dữ liệu nào?

  • A. Một danh sách đơn (single list)
  • B. Một danh sách các danh sách (list of lists)
  • C. Một chuỗi (string)
  • D. Một từ điển (dictionary)

Câu 11: Cho ma trận điểm: `diem_hoc_sinh = [[7, 8, 6], [9, 7, 8], [8, 9, 7]]`. Mỗi hàng là điểm của một học sinh cho 3 môn. Để truy cập điểm môn thứ 2 của học sinh thứ 3 (theo thứ tự từ 0), bạn sử dụng cú pháp nào?

  • A. diem_hoc_sinh[2][2]
  • B. diem_hoc_sinh[3][2]
  • C. diem_hoc_sinh[2][1]
  • D. diem_hoc_sinh[3][3]

Câu 12: Vẫn với ma trận điểm `diem_hoc_sinh = [[7, 8, 6], [9, 7, 8], [8, 9, 7]]`. Bạn muốn tính tổng điểm của học sinh thứ nhất (hàng đầu tiên). Đoạn mã nào sau đây thực hiện đúng?

  • A. tong = sum(diem_hoc_sinh)
  • B. tong = sum(diem_hoc_sinh[1])
  • C. tong = sum(diem_hoc_sinh[:][0])
  • D. tong = sum(diem_hoc_sinh[0])

Câu 13: Cho ma trận `data = [[1, 2, 3], [4, 5, 6], [7, 8, 9]]`. Đoạn mã sau thực hiện việc gì?
```python
for row in data:
for element in row:
print(element, end=" ")
print()
```

  • A. In ra các phần tử của ma trận, mỗi hàng trên một dòng.
  • B. In ra tổng của mỗi hàng.
  • C. In ra các phần tử theo cột.
  • D. Chỉ in ra các phần tử của hàng cuối cùng.

Câu 14: Khi nào nên sử dụng mảng một chiều thay vì mảng hai chiều?

  • A. Khi dữ liệu có mối quan hệ phức tạp giữa các phần tử.
  • B. Khi cần lưu trữ dữ liệu dạng bảng (có hàng và cột).
  • C. Khi cần lưu trữ một danh sách các giá trị độc lập hoặc có quan hệ tuyến tính.
  • D. Khi số lượng phần tử rất lớn.

Câu 15: Giả sử bạn có một mảng hai chiều `bang_so = [[10, 20], [30, 40], [50, 60]]`. Bạn muốn tính tổng của tất cả các phần tử trong mảng này. Đoạn mã nào sau đây thực hiện đúng?

  • A. tong = sum(bang_so)
  • B. tong = 0
    for hang in bang_so:
    tong += sum(hang)
  • C. tong = 0
    for hang in bang_so:
    for phan_tu in hang:
    tong += phan_tu
  • D. Cả đáp án 2 và 3 đều đúng.

Câu 16: Một chương trình cần lưu trữ thời gian hoàn thành (đơn vị phút) của các vận động viên trong một cuộc thi chạy. Có 10 vận động viên. Cấu trúc dữ liệu mảng một chiều có kích thước bao nhiêu là phù hợp để lưu trữ dữ liệu này?

  • A. 10 hàng, 1 cột
  • B. 1 hàng, 10 cột
  • C. 10 phần tử
  • D. Không xác định được

Câu 17: Bạn có danh sách `chuoi_so = ["10", "20", "30", "40"]`. Đây là các chuỗi (string), không phải số. Để tính tổng các giá trị số tương ứng, bạn cần làm gì trước khi tính tổng?

  • A. Chuyển đổi từng phần tử trong danh sách từ chuỗi sang số nguyên (hoặc số thực).
  • B. Sử dụng hàm `sum()` trực tiếp, Python sẽ tự động chuyển đổi.
  • C. Sắp xếp danh sách theo thứ tự tăng dần.
  • D. Xóa bỏ các phần tử không phải là số.

Câu 18: Cho đoạn mã sau:
```python
my_list = [1, 2, 3, 4, 5]
new_list = my_list[1:4]
print(new_list)
```
Kết quả in ra màn hình sẽ là gì?

  • A. [1, 2, 3]
  • B. [2, 3, 4]
  • C. [1, 2, 3, 4]
  • D. [2, 3, 4, 5]

Câu 19: Bạn đang phân tích dữ liệu bán hàng theo từng quý trong 3 năm gần đây, lưu trong mảng hai chiều `doanh_so_3_nam = [[Q1_Y1, Q2_Y1, Q3_Y1, Q4_Y1], [Q1_Y2, Q2_Y2, Q3_Y2, Q4_Y2], [Q1_Y3, Q2_Y3, Q3_Y3, Q4_Y3]]`. Để tính tổng doanh số của quý 3 trong cả 3 năm, bạn cần thực hiện thao tác nào?

  • A. Duyệt qua từng hàng và cộng dồn phần tử ở chỉ số 2 của mỗi hàng.
  • B. Sử dụng hàm `sum()` trực tiếp trên `doanh_so_3_nam`.
  • C. Truy cập `doanh_so_3_nam[2][:]` và tính tổng.
  • D. Duyệt qua từng cột và cộng dồn phần tử ở chỉ số 3 của mỗi cột.

Câu 20: Trong bài toán quản lý điểm của nhiều học sinh (sử dụng mảng hai chiều), mỗi hàng biểu diễn điểm của một học sinh, mỗi cột biểu diễn điểm của một bài kiểm tra. Để tìm học sinh có điểm trung bình cao nhất, bạn sẽ cần tính toán gì trước tiên?

  • A. Tìm điểm cao nhất trong toàn bộ ma trận điểm.
  • B. Tính tổng điểm của từng bài kiểm tra cho cả lớp.
  • C. Tính điểm trung bình cho từng học sinh (từng hàng).
  • D. Sắp xếp ma trận điểm theo thứ tự giảm dần.

Câu 21: Cho mảng hai chiều `matrix = [[1, 2], [3, 4], [5, 6]]`. Để thêm một hàng mới `[7, 8]` vào cuối ma trận, bạn có thể sử dụng phương thức nào của danh sách?

  • A. matrix.append([7, 8])
  • B. matrix.insert(0, [7, 8])
  • C. matrix.extend([7, 8])
  • D. matrix + [7, 8]

Câu 22: Khi làm việc với mảng hai chiều trong Python, việc truy cập một phần tử bằng chỉ số `matrix[i][j]` mà `i` hoặc `j` nằm ngoài phạm vi hợp lệ sẽ gây ra lỗi gì?

  • A. TypeError
  • B. IndexError
  • C. ValueError
  • D. KeyError

Câu 23: Bạn được giao nhiệm vụ viết chương trình nhập điểm của N học sinh cho M môn học, sau đó in ra điểm trung bình của từng môn học. Dữ liệu điểm nên được lưu trữ trong cấu trúc nào để thuận tiện nhất cho việc tính điểm trung bình theo môn?

  • A. Một danh sách N phần tử (mỗi phần tử là điểm trung bình của một học sinh).
  • B. Một danh sách M phần tử (mỗi phần tử là điểm trung bình của một môn).
  • C. Một mảng hai chiều kích thước N x M.
  • D. N danh sách riêng biệt, mỗi danh sách lưu điểm của một học sinh.

Câu 24: Để duyệt qua tất cả các phần tử của mảng hai chiều `grid` có kích thước `rows` x `cols` theo thứ tự từ trái sang phải, từ trên xuống dưới, đoạn mã nào sau đây là đúng?

  • A. for i in range(rows):
    for j in range(cols):
    phan_tu = grid[i][j]
    # Xử lý phan_tu
  • B. for j in range(cols):
    for i in range(rows):
    phan_tu = grid[i][j]
    # Xử lý phan_tu
  • C. for hang in grid:
    for phan_tu in hang:
    # Xử lý phan_tu
  • D. for i in range(rows * cols):
    # Cần tính chỉ số hàng, cột

Câu 25: Giả sử bạn có danh sách `numbers = [10, 5, 8, 12, 5]`. Bạn muốn xóa tất cả các lần xuất hiện của giá trị 5 khỏi danh sách. Cách nào sau đây là hiệu quả và đúng?

  • A. for i in range(len(numbers)):
    if numbers[i] == 5:
    numbers.remove(numbers[i])
  • B. while 5 in numbers:
    numbers.remove(5)
  • C. numbers.pop(5)
  • D. numbers = [x for x in numbers if x != 5]

Câu 26: Bạn cần tạo một mảng hai chiều có kích thước 3 hàng và 4 cột, tất cả các phần tử ban đầu đều là 0. Cú pháp Python nào sau đây thực hiện đúng?

  • A. matrix = [[0 for j in range(4)] for i in range(3)]
  • B. matrix = [[0] * 4] * 3
  • C. matrix = [0] * 3 + [0] * 4
  • D. matrix = [[0,0,0,0], [0,0,0,0], [0,0,0,0]]

Câu 27: Cho mảng hai chiều `data = [[1, 2], [3, 4]]`. Nếu bạn thực hiện `data[0][1] = 99`, giá trị của mảng `data` sẽ là gì sau thao tác này?

  • A. [[99, 2], [3, 4]]
  • B. [[1, 99], [3, 4], [99]]
  • C. [[1, 99], [3, 4]]
  • D. [[1, 2], [99, 4]]

Câu 28: Khi đọc dữ liệu từ một tệp văn bản mà mỗi dòng chứa nhiều giá trị cách nhau bởi dấu phẩy (CSV đơn giản), và bạn muốn lưu trữ dữ liệu này vào một mảng hai chiều, bạn thường cần thực hiện các bước nào cho mỗi dòng đọc được?

  • A. Đọc dòng, sau đó thêm trực tiếp cả dòng (chuỗi) vào mảng hai chiều.
  • B. Đọc dòng, chỉ lấy giá trị đầu tiên và thêm vào mảng hai chiều.
  • C. Đọc dòng, tách dòng thành các giá trị riêng lẻ, sau đó thêm từng giá trị vào các hàng khác nhau của mảng hai chiều.
  • D. Đọc dòng, tách dòng thành các giá trị riêng lẻ (tạo thành một danh sách con), chuyển đổi kiểu dữ liệu nếu cần, sau đó thêm danh sách con này vào mảng hai chiều.

Câu 29: Bạn có một mảng hai chiều biểu diễn bản đồ đơn giản `map = [[".", "#", "."], ["#", ".", "."], [".", ".", "#"]]`, trong đó "." là đường đi, "#" là vật cản. Bạn muốn đếm tổng số ô vật cản "#". Đoạn mã nào sau đây thực hiện đúng?

  • A. count = 0
    for row in map:
    for cell in row:
    if cell == "#":
    count += 1
  • B. count = map.count("#")
  • C. count = 0
    for row in map:
    count += row.count("#")
  • D. Cả đáp án 1 và 3 đều đúng.

Câu 30: So với việc sử dụng các biến riêng lẻ để lưu trữ một tập hợp lớn các giá trị cùng loại (ví dụ: diem1, diem2, diem3...), việc sử dụng mảng (danh sách) mang lại ưu điểm chính nào?

  • A. Giúp chương trình chạy nhanh hơn.
  • B. Cho phép quản lý và xử lý dữ liệu theo tập hợp một cách dễ dàng và hiệu quả (ví dụ: dùng vòng lặp, hàm tích hợp).
  • C. Tiết kiệm bộ nhớ hơn đáng kể.
  • D. Chỉ phù hợp với các kiểu dữ liệu số nguyên.

1 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 18: Thực hành dữ liệu mảng một chiều và hai chiều

Tags: Bộ đề 03

Câu 1: Cho danh sách điểm kiểm tra môn Tin học của một học sinh trong học kỳ: `diem_kiem_tra = [7.5, 8.0, 6.5, 9.0, 7.0]`. Để tính tổng điểm của học sinh này, đoạn mã Python nào sau đây là phù hợp nhất?

2 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 18: Thực hành dữ liệu mảng một chiều và hai chiều

Tags: Bộ đề 03

Câu 2: Vẫn với danh sách `diem_kiem_tra = [7.5, 8.0, 6.5, 9.0, 7.0]`. Bạn muốn tìm điểm kiểm tra thấp nhất mà học sinh đạt được. Hàm nào trong Python giúp thực hiện điều này một cách hiệu quả?

3 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 18: Thực hành dữ liệu mảng một chiều và hai chiều

Tags: Bộ đề 03

Câu 3: Một giáo viên muốn tính điểm trung bình của một bài kiểm tra cho cả lớp. Danh sách điểm của 5 học sinh là `diem_bai_kiem_tra = [8, 7, 9, 6, 8]`. Đoạn mã nào sau đây tính đúng điểm trung bình?

4 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 18: Thực hành dữ liệu mảng một chiều và hai chiều

Tags: Bộ đề 03

Câu 4: Cho danh sách số nguyên `danh_sach = [10, 25, 15, 30, 20]`. Bạn muốn in ra các số trong danh sách lớn hơn 20. Đoạn mã nào thực hiện đúng yêu cầu này?

5 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 18: Thực hành dữ liệu mảng một chiều và hai chiều

Tags: Bộ đề 03

Câu 5: Bạn có một danh sách các nhiệt độ đo được trong ngày: `nhiet_do = [28.5, 29.0, 30.1, 27.8, 31.5, 29.0]`. Bạn muốn đếm xem có bao nhiêu lần nhiệt độ đạt mức 29.0 độ C. Cách làm nào sau đây là chính xác?

6 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 18: Thực hành dữ liệu mảng một chiều và hai chiều

Tags: Bộ đề 03

Câu 6: Cho danh sách `my_list = [1, 2, 3, 4, 5]`. Nếu bạn cố gắng truy cập phần tử `my_list[5]`, điều gì sẽ xảy ra trong Python?

7 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 18: Thực hành dữ liệu mảng một chiều và hai chiều

Tags: Bộ đề 03

Câu 7: Bạn đang xử lý dữ liệu bán hàng theo từng ngày trong tuần, lưu trong danh sách `doanh_thu_tuan = [1500, 1200, 1800, 2000, 2500, 3000, 2800]`. Bạn muốn biết doanh thu của ngày thứ 5 (Giả sử danh sách bắt đầu từ Chủ Nhật là ngày 0). Bạn cần truy cập phần tử nào?

8 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 18: Thực hành dữ liệu mảng một chiều và hai chiều

Tags: Bộ đề 03

Câu 8: Cho danh sách `numbers = [4, 1, 7, 3, 9, 2]`. Sau khi thực hiện `numbers.sort()`, danh sách `numbers` sẽ có trạng thái như thế nào?

9 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 18: Thực hành dữ liệu mảng một chiều và hai chiều

Tags: Bộ đề 03

Câu 9: Bạn đang xây dựng một ứng dụng quản lý hàng tồn kho. Bạn sử dụng một danh sách để lưu tên các mặt hàng: `ton_kho = ['Áo', 'Quần', 'Giày', 'Mũ']`. Bạn muốn kiểm tra xem mặt hàng 'Giày' có tồn tại trong danh sách hay không. Biểu thức điều kiện nào sau đây là đúng?

10 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 18: Thực hành dữ liệu mảng một chiều và hai chiều

Tags: Bộ đề 03

Câu 10: Trong Python, mảng hai chiều thường được biểu diễn bằng cấu trúc dữ liệu nào?

11 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 18: Thực hành dữ liệu mảng một chiều và hai chiều

Tags: Bộ đề 03

Câu 11: Cho ma trận điểm: `diem_hoc_sinh = [[7, 8, 6], [9, 7, 8], [8, 9, 7]]`. Mỗi hàng là điểm của một học sinh cho 3 môn. Để truy cập điểm môn thứ 2 của học sinh thứ 3 (theo thứ tự từ 0), bạn sử dụng cú pháp nào?

12 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 18: Thực hành dữ liệu mảng một chiều và hai chiều

Tags: Bộ đề 03

Câu 12: Vẫn với ma trận điểm `diem_hoc_sinh = [[7, 8, 6], [9, 7, 8], [8, 9, 7]]`. Bạn muốn tính tổng điểm của học sinh thứ nhất (hàng đầu tiên). Đoạn mã nào sau đây thực hiện đúng?

13 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 18: Thực hành dữ liệu mảng một chiều và hai chiều

Tags: Bộ đề 03

Câu 13: Cho ma trận `data = [[1, 2, 3], [4, 5, 6], [7, 8, 9]]`. Đoạn mã sau thực hiện việc gì?
```python
for row in data:
for element in row:
print(element, end=' ')
print()
```

14 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 18: Thực hành dữ liệu mảng một chiều và hai chiều

Tags: Bộ đề 03

Câu 14: Khi nào nên sử dụng mảng một chiều thay vì mảng hai chiều?

15 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 18: Thực hành dữ liệu mảng một chiều và hai chiều

Tags: Bộ đề 03

Câu 15: Giả sử bạn có một mảng hai chiều `bang_so = [[10, 20], [30, 40], [50, 60]]`. Bạn muốn tính tổng của tất cả các phần tử trong mảng này. Đoạn mã nào sau đây thực hiện đúng?

16 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 18: Thực hành dữ liệu mảng một chiều và hai chiều

Tags: Bộ đề 03

Câu 16: Một chương trình cần lưu trữ thời gian hoàn thành (đơn vị phút) của các vận động viên trong một cuộc thi chạy. Có 10 vận động viên. Cấu trúc dữ liệu mảng một chiều có kích thước bao nhiêu là phù hợp để lưu trữ dữ liệu này?

17 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 18: Thực hành dữ liệu mảng một chiều và hai chiều

Tags: Bộ đề 03

Câu 17: Bạn có danh sách `chuoi_so = ['10', '20', '30', '40']`. Đây là các chuỗi (string), không phải số. Để tính tổng các giá trị số tương ứng, bạn cần làm gì trước khi tính tổng?

18 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 18: Thực hành dữ liệu mảng một chiều và hai chiều

Tags: Bộ đề 03

Câu 18: Cho đoạn mã sau:
```python
my_list = [1, 2, 3, 4, 5]
new_list = my_list[1:4]
print(new_list)
```
Kết quả in ra màn hình sẽ là gì?

19 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 18: Thực hành dữ liệu mảng một chiều và hai chiều

Tags: Bộ đề 03

Câu 19: Bạn đang phân tích dữ liệu bán hàng theo từng quý trong 3 năm gần đây, lưu trong mảng hai chiều `doanh_so_3_nam = [[Q1_Y1, Q2_Y1, Q3_Y1, Q4_Y1], [Q1_Y2, Q2_Y2, Q3_Y2, Q4_Y2], [Q1_Y3, Q2_Y3, Q3_Y3, Q4_Y3]]`. Để tính tổng doanh số của quý 3 trong cả 3 năm, bạn cần thực hiện thao tác nào?

20 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 18: Thực hành dữ liệu mảng một chiều và hai chiều

Tags: Bộ đề 03

Câu 20: Trong bài toán quản lý điểm của nhiều học sinh (sử dụng mảng hai chiều), mỗi hàng biểu diễn điểm của một học sinh, mỗi cột biểu diễn điểm của một bài kiểm tra. Để tìm học sinh có điểm trung bình cao nhất, bạn sẽ cần tính toán gì trước tiên?

21 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 18: Thực hành dữ liệu mảng một chiều và hai chiều

Tags: Bộ đề 03

Câu 21: Cho mảng hai chiều `matrix = [[1, 2], [3, 4], [5, 6]]`. Để thêm một hàng mới `[7, 8]` vào cuối ma trận, bạn có thể sử dụng phương thức nào của danh sách?

22 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 18: Thực hành dữ liệu mảng một chiều và hai chiều

Tags: Bộ đề 03

Câu 22: Khi làm việc với mảng hai chiều trong Python, việc truy cập một phần tử bằng chỉ số `matrix[i][j]` mà `i` hoặc `j` nằm ngoài phạm vi hợp lệ sẽ gây ra lỗi gì?

23 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 18: Thực hành dữ liệu mảng một chiều và hai chiều

Tags: Bộ đề 03

Câu 23: Bạn được giao nhiệm vụ viết chương trình nhập điểm của N học sinh cho M môn học, sau đó in ra điểm trung bình của từng môn học. Dữ liệu điểm nên được lưu trữ trong cấu trúc nào để thuận tiện nhất cho việc tính điểm trung bình theo môn?

24 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 18: Thực hành dữ liệu mảng một chiều và hai chiều

Tags: Bộ đề 03

Câu 24: Để duyệt qua tất cả các phần tử của mảng hai chiều `grid` có kích thước `rows` x `cols` theo thứ tự từ trái sang phải, từ trên xuống dưới, đoạn mã nào sau đây là đúng?

25 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 18: Thực hành dữ liệu mảng một chiều và hai chiều

Tags: Bộ đề 03

Câu 25: Giả sử bạn có danh sách `numbers = [10, 5, 8, 12, 5]`. Bạn muốn xóa tất cả các lần xuất hiện của giá trị 5 khỏi danh sách. Cách nào sau đây là hiệu quả và đúng?

26 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 18: Thực hành dữ liệu mảng một chiều và hai chiều

Tags: Bộ đề 03

Câu 26: Bạn cần tạo một mảng hai chiều có kích thước 3 hàng và 4 cột, tất cả các phần tử ban đầu đều là 0. Cú pháp Python nào sau đây thực hiện đúng?

27 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 18: Thực hành dữ liệu mảng một chiều và hai chiều

Tags: Bộ đề 03

Câu 27: Cho mảng hai chiều `data = [[1, 2], [3, 4]]`. Nếu bạn thực hiện `data[0][1] = 99`, giá trị của mảng `data` sẽ là gì sau thao tác này?

28 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 18: Thực hành dữ liệu mảng một chiều và hai chiều

Tags: Bộ đề 03

Câu 28: Khi đọc dữ liệu từ một tệp văn bản mà mỗi dòng chứa nhiều giá trị cách nhau bởi dấu phẩy (CSV đơn giản), và bạn muốn lưu trữ dữ liệu này vào một mảng hai chiều, bạn thường cần thực hiện các bước nào cho mỗi dòng đọc được?

29 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 18: Thực hành dữ liệu mảng một chiều và hai chiều

Tags: Bộ đề 03

Câu 29: Bạn có một mảng hai chiều biểu diễn bản đồ đơn giản `map = [['.', '#', '.'], ['#', '.', '.'], ['.', '.', '#']]`, trong đó '.' là đường đi, '#' là vật cản. Bạn muốn đếm tổng số ô vật cản '#'. Đoạn mã nào sau đây thực hiện đúng?

30 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 18: Thực hành dữ liệu mảng một chiều và hai chiều

Tags: Bộ đề 03

Câu 30: So với việc sử dụng các biến riêng lẻ để lưu trữ một tập hợp lớn các giá trị cùng loại (ví dụ: diem1, diem2, diem3...), việc sử dụng mảng (danh sách) mang lại ưu điểm chính nào?

0

Bạn đã sẵn sàng chưa? 45 phút làm bài bắt đầu!!!

Bạn đã hết giờ làm bài! Xem kết quả các câu hỏi đã làm nhé!!!


Trắc nghiệm Tin học 11 Kết nối tri thức Bài 18: Thực hành dữ liệu mảng một chiều và hai chiều

Trắc nghiệm Tin học 11 Kết nối tri thức Bài 18: Thực hành dữ liệu mảng một chiều và hai chiều - Đề 04

Trắc nghiệm Tin học 11 Kết nối tri thức Bài 18: Thực hành dữ liệu mảng một chiều và hai chiều - Đề 04 được xây dựng với nhiều câu hỏi chất lượng, sát với nội dung chương trình học, giúp bạn dễ dàng ôn tập và kiểm tra kiến thức hiệu quả. Hãy cùng bắt đầu làm bài tập trắc nghiệm ngay để nâng cao hiểu biết và chuẩn bị tốt cho kỳ thi sắp tới!

Câu 1: Mục đích chính của bài toán tìm kiếm trong Tin học là gì?

  • A. Sắp xếp các phần tử theo một thứ tự nhất định.
  • B. Thêm hoặc xóa phần tử khỏi danh sách.
  • C. Tìm vị trí (chỉ số) của một phần tử có giá trị cụ thể trong danh sách.
  • D. Đếm số lượng phần tử trong danh sách.

Câu 2: Thuật toán tìm kiếm tuần tự (Linear Search) hoạt động dựa trên nguyên tắc nào?

  • A. Chia đôi danh sách tại mỗi bước tìm kiếm.
  • B. So sánh giá trị cần tìm với phần tử ở giữa danh sách.
  • C. Duyệt qua từng phần tử của danh sách từ đầu đến cuối, so sánh với giá trị cần tìm.
  • D. Chỉ hoạt động trên danh sách đã được sắp xếp.

Câu 3: Điều kiện tiên quyết quan trọng nhất để áp dụng hiệu quả thuật toán tìm kiếm nhị phân (Binary Search) là gì?

  • A. Danh sách phải chứa các số nguyên dương.
  • B. Danh sách phải có số lượng phần tử là số chẵn.
  • C. Danh sách phải được sắp xếp (tăng hoặc giảm dần).
  • D. Giá trị cần tìm phải là duy nhất trong danh sách.

Câu 4: Cho danh sách `[15, 8, 22, 10, 5]` và giá trị cần tìm là 10. Thuật toán tìm kiếm tuần tự sẽ thực hiện bao nhiêu phép so sánh để tìm thấy giá trị này?

  • A. 1
  • B. 3
  • C. 4
  • D. 5

Câu 5: Cho danh sách `[15, 8, 22, 10, 5]` và giá trị cần tìm là 7. Thuật toán tìm kiếm tuần tự sẽ thực hiện bao nhiêu phép so sánh trước khi kết luận không tìm thấy?

  • A. 3
  • B. 4
  • C. 5
  • D. 6

Câu 6: Độ phức tạp thời gian trong trường hợp xấu nhất của thuật toán tìm kiếm tuần tự (Linear Search) trên danh sách có n phần tử là gì?

  • A. O(1)
  • B. O(log n)
  • C. O(n)
  • D. O(n²)

Câu 7: Trong trường hợp tốt nhất, thuật toán tìm kiếm tuần tự (Linear Search) cần bao nhiêu phép so sánh để tìm thấy một phần tử trong danh sách có n phần tử?

  • A. 1
  • B. log n
  • C. n/2
  • D. n

Câu 8: Phát biểu nào sau đây mô tả đúng về thuật toán tìm kiếm nhị phân (Binary Search)?

  • A. Nó luôn nhanh hơn tìm kiếm tuần tự, bất kể danh sách có đặc điểm gì.
  • B. Nó hoạt động hiệu quả nhất trên các danh sách chưa được sắp xếp.
  • C. Nó liên tục chia đôi phạm vi tìm kiếm dựa trên việc so sánh với phần tử ở giữa.
  • D. Nó chỉ áp dụng được cho các danh sách có số lượng phần tử là lũy thừa của 2.

Câu 9: Cho danh sách đã sắp xếp `[2, 5, 8, 12, 16, 23, 38, 56, 72, 91]` và giá trị cần tìm là 23. Hãy mô tả bước so sánh đầu tiên của thuật toán tìm kiếm nhị phân. (Giả sử chỉ số từ 0 đến 9)

  • A. So sánh 23 với phần tử đầu tiên (2).
  • B. So sánh 23 với phần tử cuối cùng (91).
  • C. So sánh 23 với phần tử ở giữa (16).
  • D. So sánh 23 với phần tử ngẫu nhiên trong danh sách.

Câu 10: Sử dụng danh sách `[2, 5, 8, 12, 16, 23, 38, 56, 72, 91]` và giá trị cần tìm là 23. Thuật toán tìm kiếm nhị phân sẽ thực hiện bao nhiêu phép so sánh để tìm thấy giá trị 23? (Giả sử chỉ số từ 0 đến 9)

  • A. 1
  • B. 2
  • C. 3
  • D. 4

Câu 11: Cho danh sách đã sắp xếp `[2, 5, 8, 12, 16, 23, 38, 56, 72, 91]` và giá trị cần tìm là 10. Thuật toán tìm kiếm nhị phân sẽ thực hiện bao nhiêu phép so sánh trước khi kết luận không tìm thấy? (Giả sử chỉ số từ 0 đến 9)

  • A. 2
  • B. 3
  • C. 4
  • D. 5

Câu 12: Độ phức tạp thời gian trong trường hợp xấu nhất của thuật toán tìm kiếm nhị phân (Binary Search) trên danh sách có n phần tử là gì?

  • A. O(1)
  • B. O(log n)
  • C. O(n)
  • D. O(n log n)

Câu 13: Trong trường hợp tốt nhất, thuật toán tìm kiếm nhị phân (Binary Search) cần bao nhiêu phép so sánh để tìm thấy một phần tử trong danh sách có n phần tử?

  • A. 1
  • B. log n
  • C. n/2
  • D. n

Câu 14: Khi nào nên sử dụng thuật toán tìm kiếm nhị phân thay vì tìm kiếm tuần tự để tìm một phần tử trong danh sách?

  • A. Khi danh sách có kích thước nhỏ.
  • B. Khi danh sách chưa được sắp xếp.
  • C. Khi cần tìm kiếm nhiều lần trên một danh sách lớn đã được sắp xếp.
  • D. Khi chỉ cần biết phần tử có tồn tại hay không, không cần biết vị trí.

Câu 15: Mặc dù tìm kiếm nhị phân thường nhanh hơn, nhưng có những trường hợp nào mà tìm kiếm tuần tự (Linear Search) vẫn là lựa chọn phù hợp hoặc duy nhất?

  • A. Khi danh sách rất lớn và đã được sắp xếp.
  • B. Khi danh sách chưa được sắp xếp và chỉ cần tìm kiếm một hoặc vài lần.
  • C. Khi giá trị cần tìm nằm ở cuối danh sách đã sắp xếp.
  • D. Khi độ phức tạp thời gian O(log n) là bắt buộc.

Câu 16: Bạn có một danh sách 1000 tên học sinh chưa được sắp xếp và cần tìm xem một tên cụ thể có tồn tại trong danh sách hay không. Thuật toán nào là lựa chọn hiệu quả nhất ngay lập tức mà không cần xử lý thêm danh sách?

  • A. Tìm kiếm nhị phân.
  • B. Tìm kiếm tuần tự.
  • C. Cả hai đều hiệu quả như nhau.
  • D. Không thể tìm kiếm trên danh sách chưa sắp xếp.

Câu 17: Bạn có một danh sách 1000 mã sản phẩm đã được sắp xếp theo thứ tự tăng dần và cần tìm thông tin của một mã sản phẩm cụ thể. Thuật toán nào là lựa chọn hiệu quả nhất về tốc độ tìm kiếm?

  • A. Tìm kiếm tuần tự.
  • B. Tìm kiếm nhị phân.
  • C. Cả hai đều có tốc độ tương đương.
  • D. Chỉ có tìm kiếm tuần tự mới hoạt động trên danh sách đã sắp xếp.

Câu 18: Trong thuật toán tìm kiếm nhị phân, phần tử được chọn để so sánh ở mỗi bước (trừ bước cuối cùng) là gì?

  • A. Phần tử đầu tiên của phạm vi tìm kiếm hiện tại.
  • B. Phần tử cuối cùng của phạm vi tìm kiếm hiện tại.
  • C. Phần tử ngẫu nhiên trong phạm vi tìm kiếm hiện tại.
  • D. Phần tử ở vị trí giữa của phạm vi tìm kiếm hiện tại.

Câu 19: Một thư viện có danh sách sách được sắp xếp theo tên tác giả. Khi một người dùng muốn tìm một cuốn sách theo tên tác giả, thư viện nên sử dụng thuật toán tìm kiếm nào để tra cứu nhanh nhất?

  • A. Tìm kiếm tuần tự, vì dễ cài đặt.
  • B. Tìm kiếm nhị phân, vì danh sách đã sắp xếp và kích thước có thể lớn.
  • C. Tìm kiếm ngẫu nhiên.
  • D. Bất kỳ thuật toán nào cũng cho tốc độ như nhau.

Câu 20: Một ứng dụng quản lý danh bạ điện thoại lưu trữ các số điện thoại không theo một thứ tự cụ thể nào. Khi người dùng gõ một số điện thoại để tìm, ứng dụng có khả năng sử dụng thuật toán tìm kiếm nào hiệu quả nhất ngay lập tức?

  • A. Tìm kiếm nhị phân.
  • B. Tìm kiếm tuần tự.
  • C. Chỉ có thể tìm kiếm nếu danh bạ được sắp xếp trước.
  • D. Sử dụng một thuật toán sắp xếp trước rồi mới dùng tìm kiếm nhị phân.

Câu 21: Tại sao danh sách phải được sắp xếp khi sử dụng tìm kiếm nhị phân?

  • A. Để đảm bảo mỗi phần tử là duy nhất.
  • B. Để có thể loại bỏ một nửa phạm vi tìm kiếm dựa trên việc so sánh với phần tử ở giữa.
  • C. Để việc tính toán chỉ số phần tử giữa trở nên đơn giản hơn.
  • D. Để giảm số lượng phần tử cần duyệt.

Câu 22: Cho danh sách đã sắp xếp `[10, 20, 30, 40, 50, 60, 70]` và giá trị cần tìm là 40. Mô tả các bước so sánh của tìm kiếm nhị phân. (Giả sử chỉ số từ 0 đến 6)

  • A. So sánh với 10, sau đó 20, sau đó 30, sau đó 40.
  • B. So sánh với 50 (giữa), 40 < 50, tìm ở nửa trái, so sánh với 30 (giữa mới), 40 > 30, tìm ở nửa phải mới, so sánh với 40, tìm thấy.
  • C. So sánh với 40 (giữa), tìm thấy.
  • D. So sánh với 70, 40 < 70, tìm ở nửa trái, so sánh với 20, 40 > 20, tìm ở nửa phải, so sánh với 30, 40 > 30, tìm ở nửa phải, so sánh với 40, tìm thấy.

Câu 23: Sử dụng danh sách `[10, 20, 30, 40, 50, 60, 70]` và giá trị cần tìm là 25. Mô tả các bước so sánh của tìm kiếm nhị phân cho đến khi kết luận không tìm thấy. (Giả sử chỉ số từ 0 đến 6)

  • A. So sánh với 40, 25 < 40, tìm nửa trái; so sánh với 20, 25 > 20, tìm nửa phải mới; so sánh với 30, 25 < 30, tìm nửa trái mới; phạm vi rỗng, không tìm thấy.
  • B. So sánh với 40, 25 < 40, tìm nửa trái; so sánh với 20, 25 > 20, tìm nửa phải mới; so sánh với 20, không tìm thấy.
  • C. So sánh với 10, 25 > 10; so sánh với 20, 25 > 20; so sánh với 30, 25 < 30; không tìm thấy.
  • D. So sánh với 70, 25 < 70; so sánh với 30, 25 < 30; so sánh với 10, 25 > 10; không tìm thấy.

Câu 24: Giả sử bạn có hai danh sách, một danh sách A gồm 1000 phần tử chưa sắp xếp và một danh sách B gồm 1000 phần tử đã sắp xếp. Để tìm một phần tử X trong danh sách A, bạn sẽ sử dụng thuật toán nào và độ phức tạp trong trường hợp xấu nhất là bao nhiêu?

  • A. Tìm kiếm nhị phân, O(log 1000).
  • B. Tìm kiếm tuần tự, O(1000).
  • C. Tìm kiếm nhị phân (sau khi sắp xếp), O(1000 log 1000) + O(log 1000).
  • D. Tìm kiếm tuần tự, O(log 1000).

Câu 25: Tiếp tục từ câu 24. Để tìm một phần tử Y trong danh sách B (đã sắp xếp) gồm 1000 phần tử, bạn sẽ sử dụng thuật toán nào và độ phức tạp trong trường hợp xấu nhất là bao nhiêu?

  • A. Tìm kiếm tuần tự, O(1000).
  • B. Tìm kiếm nhị phân, O(log 1000).
  • C. Tìm kiếm nhị phân, O(1000).
  • D. Tìm kiếm tuần tự, O(log 1000).

Câu 26: Đối với một danh sách rất nhỏ (ví dụ, dưới 10 phần tử), sự khác biệt về hiệu suất giữa tìm kiếm tuần tự và tìm kiếm nhị phân có đáng kể không? Tại sao?

  • A. Có, tìm kiếm nhị phân luôn nhanh hơn đáng kể.
  • B. Không đáng kể, vì số lượng phép so sánh trong cả hai trường hợp đều rất ít.
  • C. Có, tìm kiếm tuần tự nhanh hơn vì không cần sắp xếp.
  • D. Không thể so sánh vì hai thuật toán hoạt động khác nhau.

Câu 27: Trong tìm kiếm nhị phân, nếu giá trị cần tìm nhỏ hơn phần tử ở giữa của phạm vi hiện tại, phạm vi tìm kiếm tiếp theo sẽ là phần nào của danh sách (giả sử danh sách sắp xếp tăng dần)?

  • A. Nửa bên phải của phần tử giữa (bao gồm cả phần tử giữa).
  • B. Nửa bên trái của phần tử giữa (bao gồm cả phần tử giữa).
  • C. Nửa bên phải của phần tử giữa (không bao gồm phần tử giữa).
  • D. Nửa bên trái của phần tử giữa (không bao gồm phần tử giữa).

Câu 28: Trong tìm kiếm nhị phân, nếu giá trị cần tìm lớn hơn phần tử ở giữa của phạm vi hiện tại, phạm vi tìm kiếm tiếp theo sẽ là phần nào của danh sách (giả sử danh sách sắp xếp tăng dần)?

  • A. Nửa bên phải của phần tử giữa (bao gồm cả phần tử giữa).
  • B. Nửa bên trái của phần tử giữa (bao gồm cả phần tử giữa).
  • C. Nửa bên phải của phần tử giữa (không bao gồm phần tử giữa).
  • D. Nửa bên trái của phần tử giữa (không bao gồm phần tử giữa).

Câu 29: Bạn được giao nhiệm vụ viết chương trình tìm kiếm một từ trong một tệp văn bản rất lớn (hàng triệu từ) không được sắp xếp. Thuật toán tìm kiếm nào là phù hợp nhất để thực hiện nhiệm vụ này một cách đơn giản và trực tiếp?

  • A. Tìm kiếm nhị phân.
  • B. Tìm kiếm tuần tự.
  • C. Cần phải sắp xếp lại tệp văn bản trước.
  • D. Chỉ có thể dùng cơ sở dữ liệu.

Câu 30: Nếu bạn có một danh sách các số nguyên rất lớn (hàng tỷ số) và bạn cần thực hiện rất nhiều truy vấn tìm kiếm trên danh sách này, giả sử bạn có thể chi phí thời gian ban đầu để xử lý danh sách. Bạn sẽ làm gì để tối ưu hóa tốc độ tìm kiếm cho các truy vấn sau này?

  • A. Sử dụng tìm kiếm tuần tự cho mọi truy vấn.
  • B. Sử dụng tìm kiếm nhị phân trực tiếp trên danh sách chưa sắp xếp.
  • C. Sắp xếp danh sách trước một lần, sau đó sử dụng tìm kiếm nhị phân cho các truy vấn.
  • D. Chia danh sách thành nhiều phần nhỏ và tìm kiếm tuần tự trên từng phần.

1 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 18: Thực hành dữ liệu mảng một chiều và hai chiều

Tags: Bộ đề 04

Câu 1: Mục đích chính của bài toán tìm kiếm trong Tin học là gì?

2 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 18: Thực hành dữ liệu mảng một chiều và hai chiều

Tags: Bộ đề 04

Câu 2: Thuật toán tìm kiếm tuần tự (Linear Search) hoạt động dựa trên nguyên tắc nào?

3 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 18: Thực hành dữ liệu mảng một chiều và hai chiều

Tags: Bộ đề 04

Câu 3: Điều kiện tiên quyết quan trọng nhất để áp dụng hiệu quả thuật toán tìm kiếm nhị phân (Binary Search) là gì?

4 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 18: Thực hành dữ liệu mảng một chiều và hai chiều

Tags: Bộ đề 04

Câu 4: Cho danh sách `[15, 8, 22, 10, 5]` và giá trị cần tìm là 10. Thuật toán tìm kiếm tuần tự sẽ thực hiện bao nhiêu phép so sánh để tìm thấy giá trị này?

5 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 18: Thực hành dữ liệu mảng một chiều và hai chiều

Tags: Bộ đề 04

Câu 5: Cho danh sách `[15, 8, 22, 10, 5]` và giá trị cần tìm là 7. Thuật toán tìm kiếm tuần tự sẽ thực hiện bao nhiêu phép so sánh trước khi kết luận không tìm thấy?

6 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 18: Thực hành dữ liệu mảng một chiều và hai chiều

Tags: Bộ đề 04

Câu 6: Độ phức tạp thời gian trong trường hợp xấu nhất của thuật toán tìm kiếm tuần tự (Linear Search) trên danh sách có n phần tử là gì?

7 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 18: Thực hành dữ liệu mảng một chiều và hai chiều

Tags: Bộ đề 04

Câu 7: Trong trường hợp tốt nhất, thuật toán tìm kiếm tuần tự (Linear Search) cần bao nhiêu phép so sánh để tìm thấy một phần tử trong danh sách có n phần tử?

8 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 18: Thực hành dữ liệu mảng một chiều và hai chiều

Tags: Bộ đề 04

Câu 8: Phát biểu nào sau đây mô tả đúng về thuật toán tìm kiếm nhị phân (Binary Search)?

9 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 18: Thực hành dữ liệu mảng một chiều và hai chiều

Tags: Bộ đề 04

Câu 9: Cho danh sách đã sắp xếp `[2, 5, 8, 12, 16, 23, 38, 56, 72, 91]` và giá trị cần tìm là 23. Hãy mô tả bước so sánh đầu tiên của thuật toán tìm kiếm nhị phân. (Giả sử chỉ số từ 0 đến 9)

10 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 18: Thực hành dữ liệu mảng một chiều và hai chiều

Tags: Bộ đề 04

Câu 10: Sử dụng danh sách `[2, 5, 8, 12, 16, 23, 38, 56, 72, 91]` và giá trị cần tìm là 23. Thuật toán tìm kiếm nhị phân sẽ thực hiện bao nhiêu phép so sánh để tìm thấy giá trị 23? (Giả sử chỉ số từ 0 đến 9)

11 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 18: Thực hành dữ liệu mảng một chiều và hai chiều

Tags: Bộ đề 04

Câu 11: Cho danh sách đã sắp xếp `[2, 5, 8, 12, 16, 23, 38, 56, 72, 91]` và giá trị cần tìm là 10. Thuật toán tìm kiếm nhị phân sẽ thực hiện bao nhiêu phép so sánh trước khi kết luận không tìm thấy? (Giả sử chỉ số từ 0 đến 9)

12 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 18: Thực hành dữ liệu mảng một chiều và hai chiều

Tags: Bộ đề 04

Câu 12: Độ phức tạp thời gian trong trường hợp xấu nhất của thuật toán tìm kiếm nhị phân (Binary Search) trên danh sách có n phần tử là gì?

13 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 18: Thực hành dữ liệu mảng một chiều và hai chiều

Tags: Bộ đề 04

Câu 13: Trong trường hợp tốt nhất, thuật toán tìm kiếm nhị phân (Binary Search) cần bao nhiêu phép so sánh để tìm thấy một phần tử trong danh sách có n phần tử?

14 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 18: Thực hành dữ liệu mảng một chiều và hai chiều

Tags: Bộ đề 04

Câu 14: Khi nào nên sử dụng thuật toán tìm kiếm nhị phân thay vì tìm kiếm tuần tự để tìm một phần tử trong danh sách?

15 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 18: Thực hành dữ liệu mảng một chiều và hai chiều

Tags: Bộ đề 04

Câu 15: Mặc dù tìm kiếm nhị phân thường nhanh hơn, nhưng có những trường hợp nào mà tìm kiếm tuần tự (Linear Search) vẫn là lựa chọn phù hợp hoặc duy nhất?

16 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 18: Thực hành dữ liệu mảng một chiều và hai chiều

Tags: Bộ đề 04

Câu 16: Bạn có một danh sách 1000 tên học sinh chưa được sắp xếp và cần tìm xem một tên cụ thể có tồn tại trong danh sách hay không. Thuật toán nào là lựa chọn hiệu quả nhất ngay lập tức mà không cần xử lý thêm danh sách?

17 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 18: Thực hành dữ liệu mảng một chiều và hai chiều

Tags: Bộ đề 04

Câu 17: Bạn có một danh sách 1000 mã sản phẩm đã được sắp xếp theo thứ tự tăng dần và cần tìm thông tin của một mã sản phẩm cụ thể. Thuật toán nào là lựa chọn hiệu quả nhất về tốc độ tìm kiếm?

18 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 18: Thực hành dữ liệu mảng một chiều và hai chiều

Tags: Bộ đề 04

Câu 18: Trong thuật toán tìm kiếm nhị phân, phần tử được chọn để so sánh ở mỗi bước (trừ bước cuối cùng) là gì?

19 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 18: Thực hành dữ liệu mảng một chiều và hai chiều

Tags: Bộ đề 04

Câu 19: Một thư viện có danh sách sách được sắp xếp theo tên tác giả. Khi một người dùng muốn tìm một cuốn sách theo tên tác giả, thư viện nên sử dụng thuật toán tìm kiếm nào để tra cứu nhanh nhất?

20 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 18: Thực hành dữ liệu mảng một chiều và hai chiều

Tags: Bộ đề 04

Câu 20: Một ứng dụng quản lý danh bạ điện thoại lưu trữ các số điện thoại không theo một thứ tự cụ thể nào. Khi người dùng gõ một số điện thoại để tìm, ứng dụng có khả năng sử dụng thuật toán tìm kiếm nào hiệu quả nhất ngay lập tức?

21 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 18: Thực hành dữ liệu mảng một chiều và hai chiều

Tags: Bộ đề 04

Câu 21: Tại sao danh sách phải được sắp xếp khi sử dụng tìm kiếm nhị phân?

22 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 18: Thực hành dữ liệu mảng một chiều và hai chiều

Tags: Bộ đề 04

Câu 22: Cho danh sách đã sắp xếp `[10, 20, 30, 40, 50, 60, 70]` và giá trị cần tìm là 40. Mô tả các bước so sánh của tìm kiếm nhị phân. (Giả sử chỉ số từ 0 đến 6)

23 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 18: Thực hành dữ liệu mảng một chiều và hai chiều

Tags: Bộ đề 04

Câu 23: Sử dụng danh sách `[10, 20, 30, 40, 50, 60, 70]` và giá trị cần tìm là 25. Mô tả các bước so sánh của tìm kiếm nhị phân cho đến khi kết luận không tìm thấy. (Giả sử chỉ số từ 0 đến 6)

24 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 18: Thực hành dữ liệu mảng một chiều và hai chiều

Tags: Bộ đề 04

Câu 24: Giả sử bạn có hai danh sách, một danh sách A gồm 1000 phần tử chưa sắp xếp và một danh sách B gồm 1000 phần tử đã sắp xếp. Để tìm một phần tử X trong danh sách A, bạn sẽ sử dụng thuật toán nào và độ phức tạp trong trường hợp xấu nhất là bao nhiêu?

25 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 18: Thực hành dữ liệu mảng một chiều và hai chiều

Tags: Bộ đề 04

Câu 25: Tiếp tục từ câu 24. Để tìm một phần tử Y trong danh sách B (đã sắp xếp) gồm 1000 phần tử, bạn sẽ sử dụng thuật toán nào và độ phức tạp trong trường hợp xấu nhất là bao nhiêu?

26 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 18: Thực hành dữ liệu mảng một chiều và hai chiều

Tags: Bộ đề 04

Câu 26: Đối với một danh sách rất nhỏ (ví dụ, dưới 10 phần tử), sự khác biệt về hiệu suất giữa tìm kiếm tuần tự và tìm kiếm nhị phân có đáng kể không? Tại sao?

27 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 18: Thực hành dữ liệu mảng một chiều và hai chiều

Tags: Bộ đề 04

Câu 27: Trong tìm kiếm nhị phân, nếu giá trị cần tìm nhỏ hơn phần tử ở giữa của phạm vi hiện tại, phạm vi tìm kiếm tiếp theo sẽ là phần nào của danh sách (giả sử danh sách sắp xếp tăng dần)?

28 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 18: Thực hành dữ liệu mảng một chiều và hai chiều

Tags: Bộ đề 04

Câu 28: Trong tìm kiếm nhị phân, nếu giá trị cần tìm lớn hơn phần tử ở giữa của phạm vi hiện tại, phạm vi tìm kiếm tiếp theo sẽ là phần nào của danh sách (giả sử danh sách sắp xếp tăng dần)?

29 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 18: Thực hành dữ liệu mảng một chiều và hai chiều

Tags: Bộ đề 04

Câu 29: Bạn được giao nhiệm vụ viết chương trình tìm kiếm một từ trong một tệp văn bản rất lớn (hàng triệu từ) không được sắp xếp. Thuật toán tìm kiếm nào là phù hợp nhất để thực hiện nhiệm vụ này một cách đơn giản và trực tiếp?

30 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 18: Thực hành dữ liệu mảng một chiều và hai chiều

Tags: Bộ đề 04

Câu 30: Nếu bạn có một danh sách các số nguyên rất lớn (hàng tỷ số) và bạn cần thực hiện rất nhiều truy vấn tìm kiếm trên danh sách này, giả sử bạn có thể chi phí thời gian ban đầu để xử lý danh sách. Bạn sẽ làm gì để tối ưu hóa tốc độ tìm kiếm cho các truy vấn sau này?

0

Bạn đã sẵn sàng chưa? 45 phút làm bài bắt đầu!!!

Bạn đã hết giờ làm bài! Xem kết quả các câu hỏi đã làm nhé!!!


Trắc nghiệm Tin học 11 Kết nối tri thức Bài 18: Thực hành dữ liệu mảng một chiều và hai chiều

Trắc nghiệm Tin học 11 Kết nối tri thức Bài 18: Thực hành dữ liệu mảng một chiều và hai chiều - Đề 05

Trắc nghiệm Tin học 11 Kết nối tri thức Bài 18: Thực hành dữ liệu mảng một chiều và hai chiều - Đề 05 được xây dựng với nhiều câu hỏi chất lượng, sát với nội dung chương trình học, giúp bạn dễ dàng ôn tập và kiểm tra kiến thức hiệu quả. Hãy cùng bắt đầu làm bài tập trắc nghiệm ngay để nâng cao hiểu biết và chuẩn bị tốt cho kỳ thi sắp tới!

Câu 1: Trong Python, để nhập một dòng chứa nhiều số nguyên cách nhau bởi dấu cách từ bàn phím và lưu chúng vào một danh sách (list) dưới dạng số nguyên, đoạn mã nào sau đây là phù hợp nhất?

  • A. numbers = input().split()
  • B. numbers = list(map(int, input()))
  • C. numbers = list(map(int, input().split()))
  • D. numbers = [int(input()) for _ in range(n)]

Câu 2: Cho danh sách `scores = [7.5, 8.0, 6.5, 9.0, 7.0]`. Để tính tổng các phần tử trong danh sách này mà không sử dụng hàm `sum()`, bạn cần sử dụng cấu trúc lặp nào?

  • A. Vòng lặp `while` với chỉ số tăng dần.
  • B. Vòng lặp `for` duyệt qua từng phần tử của danh sách.
  • C. Vòng lặp `for` duyệt qua chỉ số của danh sách.
  • D. Cả B và C đều phù hợp.

Câu 3: Bạn có một danh sách `data = [15, 2, 8, 25, 10]`. Để tìm giá trị nhỏ nhất trong danh sách này mà không dùng hàm `min()`, bạn khởi tạo biến `min_value` bằng giá trị nào trước khi bắt đầu duyệt?

  • A. Giá trị của phần tử đầu tiên trong danh sách (`data[0]`).
  • B. Một số rất lớn (ví dụ: `float("inf")`).
  • C. Số 0.
  • D. Không cần khởi tạo, chỉ cần so sánh hai phần tử liền kề.

Câu 4: Xét đoạn mã Python sau:
```python
scores = [85, 90, 78, 92, 88]
total = 0
for score in scores:
total += score
average = total / len(scores)
print(average)
```
Đoạn mã này thực hiện chức năng gì trên danh sách `scores`?

  • A. Tìm điểm cao nhất.
  • B. Tìm điểm thấp nhất.
  • C. Tính điểm trung bình.
  • D. Đếm số lượng điểm lớn hơn 80.

Câu 5: Khi xử lý một danh sách (mảng một chiều), việc kiểm tra xem danh sách có rỗng hay không trước khi thực hiện các phép tính như tìm trung bình, min, max là quan trọng vì sao?

  • A. Để tránh lỗi `TypeError` khi truy cập phần tử.
  • B. Để đảm bảo tất cả phần tử đều là số.
  • C. Để tránh lỗi `ValueError` khi tính toán.
  • D. Để tránh lỗi chia cho 0 (`ZeroDivisionError`) khi tính trung bình hoặc lỗi khi tìm min/max trên tập rỗng.

Câu 6: Bạn cần lưu trữ điểm của 3 môn học cho 5 học sinh. Cấu trúc dữ liệu mảng hai chiều nào trong Python là phù hợp nhất cho mục đích này?

  • A. Một danh sách chứa 5 danh sách con, mỗi danh sách con có 3 phần tử.
  • B. Một danh sách chứa 3 danh sách con, mỗi danh sách con có 5 phần tử.
  • C. Một danh sách chỉ chứa 15 phần tử.
  • D. Ba danh sách riêng biệt, mỗi danh sách có 5 phần tử.

Câu 7: Cho mảng hai chiều `matrix = [[10, 20, 30], [40, 50, 60], [70, 80, 90]]`. Phần tử tại hàng có chỉ số 1 và cột có chỉ số 2 là giá trị nào?

  • A. 20
  • B. 40
  • C. 60
  • D. 80

Câu 8: Để duyệt qua TẤT CẢ các phần tử trong một mảng hai chiều `matrix` có `rows` hàng và `cols` cột trong Python, bạn thường sử dụng cấu trúc vòng lặp nào?

  • A. Hai vòng lặp `for` lồng nhau: vòng ngoài duyệt qua các hàng, vòng trong duyệt qua các cột của hàng hiện tại.
  • B. Hai vòng lặp `while` lồng nhau.
  • C. Một vòng lặp `for` duy nhất duyệt qua tất cả các phần tử.
  • D. Chỉ cần một vòng lặp `for` duyệt qua các hàng.

Câu 9: Bạn có mảng hai chiều `scores = [[7, 8, 9], [6, 7, 8], [8, 9, 10]]` lưu điểm của 3 học sinh (mỗi hàng là một học sinh) cho 3 môn (mỗi cột là một môn). Để tính tổng điểm của học sinh thứ 2 (chỉ số 1), bạn cần làm gì?

  • A. Duyệt qua tất cả các phần tử trong mảng và cộng dồn.
  • B. Truy cập `scores[1][0] + scores[1][1] + scores[1][2]`.
  • C. Duyệt qua các phần tử của danh sách con `scores[1]` và cộng dồn.
  • D. Sử dụng hàm `sum(scores)`.

Câu 10: Vẫn với mảng `scores` ở Câu 9. Để tính điểm trung bình môn thứ 3 (chỉ số 2) của cả lớp, bạn cần làm gì?

  • A. Tính tổng các phần tử trong hàng thứ 2 (`scores[1]`) và chia cho 3.
  • B. Tính tổng tất cả các phần tử trong mảng và chia cho tổng số học sinh.
  • C. Duyệt qua các phần tử của danh sách con `scores[2]` và tính trung bình.
  • D. Duyệt qua từng hàng, lấy phần tử tại cột có chỉ số 2, tính tổng các phần tử đó và chia cho số lượng hàng.

Câu 11: Cho đoạn mã sau để tìm điểm cao nhất trong một danh sách `points`:
```python
max_point = points[0]
for p in points:
if p > max_point:
max_point = p
```
Đoạn mã này sẽ gặp lỗi nếu:

  • A. Danh sách `points` rỗng.
  • B. Danh sách `points` chỉ có một phần tử.
  • C. Tất cả các phần tử trong `points` đều âm.
  • D. Danh sách `points` chứa các số thực.

Câu 12: Bạn đang viết chương trình để quản lý điểm của N học sinh, mỗi học sinh có M bài kiểm tra. Bạn sử dụng một mảng hai chiều `student_scores` với kích thước N x M. Để truy cập điểm bài kiểm tra thứ `j` (chỉ số `j-1`) của học sinh thứ `i` (chỉ số `i-1`), bạn sử dụng cú pháp nào?

  • A. `student_scores[j-1][i-1]`
  • B. `student_scores[i-1][j-1]`
  • C. `student_scores[i][j]`
  • D. `student_scores[j][i]`

Câu 13: Khi làm việc với mảng hai chiều `matrix`, bạn cần tính tổng các phần tử trên đường chéo chính (các phần tử mà chỉ số hàng bằng chỉ số cột). Giả sử `matrix` là ma trận vuông kích thước N x N. Cấu trúc lặp nào phù hợp để thực hiện việc này?

  • A. Một vòng lặp `for i in range(N):` và truy cập `matrix[i][i]`.
  • B. Hai vòng lặp `for` lồng nhau, kiểm tra điều kiện `i == j`.
  • C. Duyệt qua tất cả các phần tử và cộng dồn.
  • D. Sử dụng hàm `sum()` trên từng hàng.

Câu 14: Bạn có danh sách `temperatures = [25.5, 26.0, 24.8, 27.1, 26.5]`. Bạn muốn tạo một danh sách mới chỉ chứa các nhiệt độ lớn hơn 26.0. Phương pháp nào sau đây là hiệu quả nhất trong Python?

  • A. Duyệt qua danh sách, dùng `if` kiểm tra và `append` vào danh sách mới.
  • B. Sử dụng vòng lặp `while` với chỉ số.
  • C. Sử dụng kỹ thuật slicing.
  • D. Sử dụng list comprehension với điều kiện lọc.

Câu 15: Cho mảng hai chiều `data = [[1, 2], [3, 4], [5, 6]]`. Để in ra phần tử `4`, bạn sử dụng cú pháp nào?

  • A. `print(data[1])`
  • B. `print(data[1][1])`
  • C. `print(data[0][1])`
  • D. `print(data[2][0])`

Câu 16: Bạn đang xử lý dữ liệu điểm của học sinh được lưu trong mảng hai chiều `class_scores` (mỗi hàng là một học sinh, mỗi cột là một môn). Bạn muốn tìm chỉ số (index) của học sinh có điểm trung bình cao nhất. Sau khi tính được danh sách điểm trung bình `avg_scores`, bạn cần làm gì tiếp theo?

  • A. Sử dụng hàm `max(avg_scores)` để tìm điểm trung bình cao nhất.
  • B. Duyệt qua danh sách `avg_scores` và tìm giá trị lớn nhất.
  • C. Duyệt qua danh sách `avg_scores`, theo dõi giá trị lớn nhất và chỉ số tương ứng.
  • D. Sắp xếp danh sách `avg_scores` và lấy chỉ số của phần tử cuối cùng.

Câu 17: Phân tích đoạn mã sau:
```python
matrix = [[1, 2], [3, 4]]
for row in matrix:
for element in row:
print(element, end=" ")
```
Kết quả in ra màn hình của đoạn mã này là gì?

  • A. 1 2 3 4
  • B. 1 3 2 4
  • C. [[1, 2], [3, 4]]
  • D. Lỗi cú pháp.

Câu 18: Giả sử bạn có danh sách `numbers = [10, 5, 12, 5, 8]` và bạn muốn đếm số lần xuất hiện của số 5 trong danh sách này. Bạn có thể sử dụng phương thức nào của danh sách?

  • A. `numbers.index(5)`
  • B. `numbers.count(5)`
  • C. `numbers.find(5)`
  • D. `len(numbers)`

Câu 19: Bạn cần tạo một mảng hai chiều kích thước 3x4 (3 hàng, 4 cột) mà tất cả các phần tử ban đầu đều là 0. Cú pháp nào sau đây là đúng và hiệu quả?

  • A. matrix = [[0] * 3] * 4
  • B. matrix = [[0 for i in range(3)] for j in range(4)]
  • C. matrix = [[0 for j in range(4)] for i in range(3)]
  • D. matrix = [0 for i in range(3) for j in range(4)]

Câu 20: Cho danh sách `data = [4, 1, 7, 3, 9]`. Sau khi thực hiện `data.sort()`, nội dung của danh sách `data` sẽ là gì?

  • A. [1, 3, 4, 7, 9]
  • B. [9, 7, 4, 3, 1]
  • C. [4, 1, 7, 3, 9]
  • D. Lỗi vì danh sách chứa số nguyên.

Câu 21: Bạn có mảng hai chiều `scores = [[8, 9, 7], [7, 8, 9], [9, 7, 8]]`. Bạn muốn tạo một danh sách mới `first_subject_scores` chỉ chứa điểm môn đầu tiên của tất cả học sinh. Cú pháp list comprehension nào sau đây thực hiện đúng yêu cầu đó?

  • A. [row[0] for row in scores if row]
  • B. [row[0] for row in scores]
  • C. [scores[0][col] for col in range(len(scores[0]))]
  • D. [scores[row][0] for row in range(len(scores)) if scores[row]]

Câu 22: Giả sử bạn cần tìm học sinh có điểm cao nhất trong MỘT MÔN CỤ THỂ (ví dụ: môn thứ 2 - chỉ số 1) trong mảng hai chiều `class_scores` (mỗi hàng là học sinh, mỗi cột là môn). Bạn cần duyệt qua cấu trúc dữ liệu này như thế nào?

  • A. Duyệt qua từng hàng (học sinh) và lấy phần tử tại cột chỉ số 1 để so sánh và tìm giá trị lớn nhất.
  • B. Duyệt qua từng cột (môn) và lấy phần tử tại hàng chỉ số 1.
  • C. Duyệt qua tất cả các phần tử và tìm giá trị lớn nhất.
  • D. Tính điểm trung bình của từng học sinh và so sánh.

Câu 23: Cho danh sách `items = ["apple", "banana", "cherry"]`. Cú pháp `items[1:3]` sẽ trả về kết quả gì?

  • A. ["apple", "banana"]
  • B. ["apple", "banana", "cherry"]
  • C. ["banana", "cherry"]
  • D. ["cherry"]

Câu 24: Khi làm việc với mảng hai chiều `matrix`, nếu bạn muốn tính tổng các phần tử của TỪNG HÀNG, bạn sẽ sử dụng cấu trúc lặp như thế nào?

  • A. Một vòng lặp ngoài duyệt qua các hàng (danh sách con), và bên trong tính tổng cho mỗi danh sách con đó.
  • B. Một vòng lặp ngoài duyệt qua các cột, và bên trong tính tổng cho mỗi cột.
  • C. Hai vòng lặp lồng nhau duyệt qua tất cả phần tử.
  • D. Sử dụng hàm `sum(matrix)` trực tiếp.

Câu 25: Bạn cần kiểm tra xem trong danh sách điểm `exam_scores` có bất kỳ điểm nào dưới 5.0 (điểm liệt) hay không. Cấu trúc điều kiện và lặp nào phù hợp để thực hiện việc này và dừng lại ngay khi tìm thấy một điểm dưới 5.0?

  • A. Duyệt toàn bộ danh sách, đếm số điểm dưới 5.0.
  • B. Duyệt danh sách, sử dụng `if score < 5.0:` và `break` khi điều kiện đúng.
  • C. Sử dụng hàm `min(exam_scores)` và kiểm tra xem nó có nhỏ hơn 5.0 không.
  • D. Sắp xếp danh sách và kiểm tra phần tử đầu tiên.

Câu 26: Cho mảng hai chiều `data = [[1, 2, 3], [4, 5, 6]]`. Bạn muốn thêm một hàng mới `[7, 8, 9]` vào cuối mảng này. Thao tác nào sau đây là đúng?

  • A. `data.append([7, 8, 9])`
  • B. `data.extend([7, 8, 9])`
  • C. `data.insert(2, [7, 8, 9])`
  • D. `data[2] = [7, 8, 9]`

Câu 27: Khi tính điểm trung bình cho N học sinh từ mảng hai chiều điểm (N hàng, M cột), bạn cần lặp N lần để xử lý từng học sinh. Trong mỗi lần lặp đó, bạn cần làm gì với danh sách điểm của học sinh hiện tại?

  • A. Tìm điểm cao nhất.
  • B. Tìm điểm thấp nhất.
  • C. Tính tổng các điểm.
  • D. Tính tổng các điểm và chia cho số lượng môn (M).

Câu 28: Bạn có danh sách `numbers = [1, 2, 3, 4, 5]`. Để loại bỏ phần tử cuối cùng khỏi danh sách này, bạn sử dụng phương thức nào?

  • A. `numbers.remove(5)`
  • B. `numbers.pop()`
  • C. `del numbers[-1]`
  • D. Cả B và C đều đúng.

Câu 29: Trong một bài toán thực tế, bạn cần lưu trữ danh sách các sản phẩm bán được trong từng ngày của một tuần. Mỗi ngày có thể bán được số lượng sản phẩm khác nhau. Cấu trúc dữ liệu nào phù hợp nhất để lưu trữ dữ liệu này?

  • A. Một mảng một chiều.
  • B. Một mảng hai chiều với số cột cố định.
  • C. Một danh sách các danh sách con, trong đó mỗi danh sách con có thể có độ dài khác nhau.
  • D. Một bộ từ điển.

Câu 30: Cho danh sách `data = [10, 20, 30, 40, 50]`. Để truy cập và in ra các phần tử từ chỉ số 1 đến chỉ số 3 (bao gồm cả 3), bạn sử dụng cú pháp slicing nào?

  • A. `data[1:3]`
  • B. `data[1:4-1]`
  • C. `data[1:3+1]`
  • D. Cả A và C đều đúng.

1 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 18: Thực hành dữ liệu mảng một chiều và hai chiều

Tags: Bộ đề 05

Câu 1: Trong Python, để nhập một dòng chứa nhiều số nguyên cách nhau bởi dấu cách từ bàn phím và lưu chúng vào một danh sách (list) dưới dạng số nguyên, đoạn mã nào sau đây là phù hợp nhất?

2 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 18: Thực hành dữ liệu mảng một chiều và hai chiều

Tags: Bộ đề 05

Câu 2: Cho danh sách `scores = [7.5, 8.0, 6.5, 9.0, 7.0]`. Để tính tổng các phần tử trong danh sách này mà không sử dụng hàm `sum()`, bạn cần sử dụng cấu trúc lặp nào?

3 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 18: Thực hành dữ liệu mảng một chiều và hai chiều

Tags: Bộ đề 05

Câu 3: Bạn có một danh sách `data = [15, 2, 8, 25, 10]`. Để tìm giá trị nhỏ nhất trong danh sách này mà không dùng hàm `min()`, bạn khởi tạo biến `min_value` bằng giá trị nào trước khi bắt đầu duyệt?

4 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 18: Thực hành dữ liệu mảng một chiều và hai chiều

Tags: Bộ đề 05

Câu 4: Xét đoạn mã Python sau:
```python
scores = [85, 90, 78, 92, 88]
total = 0
for score in scores:
total += score
average = total / len(scores)
print(average)
```
Đoạn mã này thực hiện chức năng gì trên danh sách `scores`?

5 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 18: Thực hành dữ liệu mảng một chiều và hai chiều

Tags: Bộ đề 05

Câu 5: Khi xử lý một danh sách (mảng một chiều), việc kiểm tra xem danh sách có rỗng hay không trước khi thực hiện các phép tính như tìm trung bình, min, max là quan trọng vì sao?

6 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 18: Thực hành dữ liệu mảng một chiều và hai chiều

Tags: Bộ đề 05

Câu 6: Bạn cần lưu trữ điểm của 3 môn học cho 5 học sinh. Cấu trúc dữ liệu mảng hai chiều nào trong Python là phù hợp nhất cho mục đích này?

7 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 18: Thực hành dữ liệu mảng một chiều và hai chiều

Tags: Bộ đề 05

Câu 7: Cho mảng hai chiều `matrix = [[10, 20, 30], [40, 50, 60], [70, 80, 90]]`. Phần tử tại hàng có chỉ số 1 và cột có chỉ số 2 là giá trị nào?

8 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 18: Thực hành dữ liệu mảng một chiều và hai chiều

Tags: Bộ đề 05

Câu 8: Để duyệt qua TẤT CẢ các phần tử trong một mảng hai chiều `matrix` có `rows` hàng và `cols` cột trong Python, bạn thường sử dụng cấu trúc vòng lặp nào?

9 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 18: Thực hành dữ liệu mảng một chiều và hai chiều

Tags: Bộ đề 05

Câu 9: Bạn có mảng hai chiều `scores = [[7, 8, 9], [6, 7, 8], [8, 9, 10]]` lưu điểm của 3 học sinh (mỗi hàng là một học sinh) cho 3 môn (mỗi cột là một môn). Để tính tổng điểm của học sinh thứ 2 (chỉ số 1), bạn cần làm gì?

10 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 18: Thực hành dữ liệu mảng một chiều và hai chiều

Tags: Bộ đề 05

Câu 10: Vẫn với mảng `scores` ở Câu 9. Để tính điểm trung bình môn thứ 3 (chỉ số 2) của cả lớp, bạn cần làm gì?

11 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 18: Thực hành dữ liệu mảng một chiều và hai chiều

Tags: Bộ đề 05

Câu 11: Cho đoạn mã sau để tìm điểm cao nhất trong một danh sách `points`:
```python
max_point = points[0]
for p in points:
if p > max_point:
max_point = p
```
Đoạn mã này sẽ gặp lỗi nếu:

12 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 18: Thực hành dữ liệu mảng một chiều và hai chiều

Tags: Bộ đề 05

Câu 12: Bạn đang viết chương trình để quản lý điểm của N học sinh, mỗi học sinh có M bài kiểm tra. Bạn sử dụng một mảng hai chiều `student_scores` với kích thước N x M. Để truy cập điểm bài kiểm tra thứ `j` (chỉ số `j-1`) của học sinh thứ `i` (chỉ số `i-1`), bạn sử dụng cú pháp nào?

13 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 18: Thực hành dữ liệu mảng một chiều và hai chiều

Tags: Bộ đề 05

Câu 13: Khi làm việc với mảng hai chiều `matrix`, bạn cần tính tổng các phần tử trên đường chéo chính (các phần tử mà chỉ số hàng bằng chỉ số cột). Giả sử `matrix` là ma trận vuông kích thước N x N. Cấu trúc lặp nào phù hợp để thực hiện việc này?

14 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 18: Thực hành dữ liệu mảng một chiều và hai chiều

Tags: Bộ đề 05

Câu 14: Bạn có danh sách `temperatures = [25.5, 26.0, 24.8, 27.1, 26.5]`. Bạn muốn tạo một danh sách mới chỉ chứa các nhiệt độ lớn hơn 26.0. Phương pháp nào sau đây là hiệu quả nhất trong Python?

15 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 18: Thực hành dữ liệu mảng một chiều và hai chiều

Tags: Bộ đề 05

Câu 15: Cho mảng hai chiều `data = [[1, 2], [3, 4], [5, 6]]`. Để in ra phần tử `4`, bạn sử dụng cú pháp nào?

16 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 18: Thực hành dữ liệu mảng một chiều và hai chiều

Tags: Bộ đề 05

Câu 16: Bạn đang xử lý dữ liệu điểm của học sinh được lưu trong mảng hai chiều `class_scores` (mỗi hàng là một học sinh, mỗi cột là một môn). Bạn muốn tìm chỉ số (index) của học sinh có điểm trung bình cao nhất. Sau khi tính được danh sách điểm trung bình `avg_scores`, bạn cần làm gì tiếp theo?

17 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 18: Thực hành dữ liệu mảng một chiều và hai chiều

Tags: Bộ đề 05

Câu 17: Phân tích đoạn mã sau:
```python
matrix = [[1, 2], [3, 4]]
for row in matrix:
for element in row:
print(element, end=' ')
```
Kết quả in ra màn hình của đoạn mã này là gì?

18 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 18: Thực hành dữ liệu mảng một chiều và hai chiều

Tags: Bộ đề 05

Câu 18: Giả sử bạn có danh sách `numbers = [10, 5, 12, 5, 8]` và bạn muốn đếm số lần xuất hiện của số 5 trong danh sách này. Bạn có thể sử dụng phương thức nào của danh sách?

19 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 18: Thực hành dữ liệu mảng một chiều và hai chiều

Tags: Bộ đề 05

Câu 19: Bạn cần tạo một mảng hai chiều kích thước 3x4 (3 hàng, 4 cột) mà tất cả các phần tử ban đầu đều là 0. Cú pháp nào sau đây là đúng và hiệu quả?

20 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 18: Thực hành dữ liệu mảng một chiều và hai chiều

Tags: Bộ đề 05

Câu 20: Cho danh sách `data = [4, 1, 7, 3, 9]`. Sau khi thực hiện `data.sort()`, nội dung của danh sách `data` sẽ là gì?

21 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 18: Thực hành dữ liệu mảng một chiều và hai chiều

Tags: Bộ đề 05

Câu 21: Bạn có mảng hai chiều `scores = [[8, 9, 7], [7, 8, 9], [9, 7, 8]]`. Bạn muốn tạo một danh sách mới `first_subject_scores` chỉ chứa điểm môn đầu tiên của tất cả học sinh. Cú pháp list comprehension nào sau đây thực hiện đúng yêu cầu đó?

22 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 18: Thực hành dữ liệu mảng một chiều và hai chiều

Tags: Bộ đề 05

Câu 22: Giả sử bạn cần tìm học sinh có điểm cao nhất trong MỘT MÔN CỤ THỂ (ví dụ: môn thứ 2 - chỉ số 1) trong mảng hai chiều `class_scores` (mỗi hàng là học sinh, mỗi cột là môn). Bạn cần duyệt qua cấu trúc dữ liệu này như thế nào?

23 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 18: Thực hành dữ liệu mảng một chiều và hai chiều

Tags: Bộ đề 05

Câu 23: Cho danh sách `items = ['apple', 'banana', 'cherry']`. Cú pháp `items[1:3]` sẽ trả về kết quả gì?

24 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 18: Thực hành dữ liệu mảng một chiều và hai chiều

Tags: Bộ đề 05

Câu 24: Khi làm việc với mảng hai chiều `matrix`, nếu bạn muốn tính tổng các phần tử của TỪNG HÀNG, bạn sẽ sử dụng cấu trúc lặp như thế nào?

25 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 18: Thực hành dữ liệu mảng một chiều và hai chiều

Tags: Bộ đề 05

Câu 25: Bạn cần kiểm tra xem trong danh sách điểm `exam_scores` có bất kỳ điểm nào dưới 5.0 (điểm liệt) hay không. Cấu trúc điều kiện và lặp nào phù hợp để thực hiện việc này và dừng lại ngay khi tìm thấy một điểm dưới 5.0?

26 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 18: Thực hành dữ liệu mảng một chiều và hai chiều

Tags: Bộ đề 05

Câu 26: Cho mảng hai chiều `data = [[1, 2, 3], [4, 5, 6]]`. Bạn muốn thêm một hàng mới `[7, 8, 9]` vào cuối mảng này. Thao tác nào sau đây là đúng?

27 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 18: Thực hành dữ liệu mảng một chiều và hai chiều

Tags: Bộ đề 05

Câu 27: Khi tính điểm trung bình cho N học sinh từ mảng hai chiều điểm (N hàng, M cột), bạn cần lặp N lần để xử lý từng học sinh. Trong mỗi lần lặp đó, bạn cần làm gì với danh sách điểm của học sinh hiện tại?

28 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 18: Thực hành dữ liệu mảng một chiều và hai chiều

Tags: Bộ đề 05

Câu 28: Bạn có danh sách `numbers = [1, 2, 3, 4, 5]`. Để loại bỏ phần tử cuối cùng khỏi danh sách này, bạn sử dụng phương thức nào?

29 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 18: Thực hành dữ liệu mảng một chiều và hai chiều

Tags: Bộ đề 05

Câu 29: Trong một bài toán thực tế, bạn cần lưu trữ danh sách các sản phẩm bán được trong từng ngày của một tuần. Mỗi ngày có thể bán được số lượng sản phẩm khác nhau. Cấu trúc dữ liệu nào phù hợp nhất để lưu trữ dữ liệu này?

30 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 18: Thực hành dữ liệu mảng một chiều và hai chiều

Tags: Bộ đề 05

Câu 30: Cho danh sách `data = [10, 20, 30, 40, 50]`. Để truy cập và in ra các phần tử từ chỉ số 1 đến chỉ số 3 (bao gồm cả 3), bạn sử dụng cú pháp slicing nào?

0

Bạn đã sẵn sàng chưa? 45 phút làm bài bắt đầu!!!

Bạn đã hết giờ làm bài! Xem kết quả các câu hỏi đã làm nhé!!!


Trắc nghiệm Tin học 11 Kết nối tri thức Bài 18: Thực hành dữ liệu mảng một chiều và hai chiều

Trắc nghiệm Tin học 11 Kết nối tri thức Bài 18: Thực hành dữ liệu mảng một chiều và hai chiều - Đề 06

Trắc nghiệm Tin học 11 Kết nối tri thức Bài 18: Thực hành dữ liệu mảng một chiều và hai chiều - Đề 06 được xây dựng với nhiều câu hỏi chất lượng, sát với nội dung chương trình học, giúp bạn dễ dàng ôn tập và kiểm tra kiến thức hiệu quả. Hãy cùng bắt đầu làm bài tập trắc nghiệm ngay để nâng cao hiểu biết và chuẩn bị tốt cho kỳ thi sắp tới!

Câu 1: Cho danh sách điểm kiểm tra môn Tin học của một học sinh: `diem = [8.5, 7.0, 9.0, 6.5, 8.0]`.
Để tính tổng điểm của học sinh này, đoạn mã Python nào sau đây là đúng và hiệu quả nhất?

  • A. tong_diem = 0
    for i in range(len(diem)):
    tong_diem += diem[i]
  • B. tong_diem = sum(diem[0] + diem[1] + diem[2] + diem[3] + diem[4])
  • C. tong_diem = sum(diem)
  • D. tong_diem = diem.sum()

Câu 2: Vẫn với danh sách `diem = [8.5, 7.0, 9.0, 6.5, 8.0]`. Để tìm điểm kiểm tra cao nhất mà học sinh đạt được, sử dụng hàm nào của Python là phù hợp nhất?

  • A. avg(diem)
  • B. max(diem)
  • C. highest(diem)
  • D. find_max(diem)

Câu 3: Cho danh sách điểm `diem = [8.5, 7.0, 9.0, 6.5, 8.0]`. Nếu muốn truy cập vào điểm kiểm tra thứ 3 trong danh sách (giả sử thứ tự tính từ 1), bạn sẽ sử dụng chỉ số nào trong Python?

  • A. diem[3]
  • B. diem[2]
  • C. diem[4]
  • D. diem[1]

Câu 4: Một chương trình yêu cầu người dùng nhập các điểm kiểm tra cách nhau bởi dấu cách, ví dụ:

  • A. Sử dụng `input()` để lấy chuỗi, sau đó dùng `split()` để tách thành danh sách chuỗi, cuối cùng dùng `int()` để chuyển từng phần tử sang số nguyên.
  • B. Sử dụng `input()` để lấy chuỗi, sau đó dùng `split()` để tách thành danh sách chuỗi, cuối cùng dùng một vòng lặp và `str()` để chuyển từng phần tử sang chuỗi.
  • C. Sử dụng `input()` để lấy chuỗi, sau đó dùng `split()` để tách thành danh sách chuỗi, cuối cùng dùng một vòng lặp hoặc list comprehension kết hợp `float()` để chuyển từng phần tử sang số thực.
  • D. Sử dụng `input()` để lấy chuỗi, sau đó dùng `join()` để tách thành danh sách chuỗi, cuối cùng dùng `float()` để chuyển từng phần tử sang số thực.

Câu 5: Xét đoạn mã Python sau:
`diem = [8.5, 7.0, 9.0, 6.5, 8.0]`
`print(diem[-1])`
Kết quả in ra màn hình là gì?

  • A. 8.5
  • B. Lỗi (IndexError)
  • C. 6.5
  • D. 8.0

Câu 6: Cho danh sách điểm `diem = [8.5, 7.0, 9.0, 6.5, 8.0]`. Để chèn thêm điểm 7.5 vào vị trí thứ 2 (sau 8.5, trước 7.0), sử dụng phương thức nào của danh sách trong Python?

  • A. diem.insert(1, 7.5)
  • B. diem.append(7.5)
  • C. diem.add(1, 7.5)
  • D. diem[1] = 7.5

Câu 7: Cho danh sách điểm `diem = [8.5, 7.0, 9.0, 6.5, 8.0]`. Đoạn mã nào sau đây sẽ in ra tất cả các điểm trong danh sách, mỗi điểm trên một dòng?

  • A. print(diem)
  • B. for i in range(len(diem)):
    print(i)
  • C. for d in diem:
    print(d)
  • D. while diem:
    print(diem.pop())

Câu 8: Một mảng hai chiều (list of lists) được dùng để lưu trữ điểm của 3 học sinh trên 4 bài kiểm tra như sau:
`diem_lop = [[8.5, 7.0, 9.0, 6.5], [7.5, 8.0, 7.0, 9.0], [6.0, 6.5, 7.0, 7.5]]`
Điểm của học sinh thứ 2 (chỉ số 1) trong bài kiểm tra thứ 3 (chỉ số 2) là bao nhiêu?

  • A. diem_lop[2][3] là 7.5
  • B. diem_lop[1][2] là 8.0
  • C. diem_lop[1][2] là 7.0
  • D. diem_lop[2][1] là 6.5

Câu 9: Vẫn với mảng hai chiều `diem_lop = [[8.5, 7.0, 9.0, 6.5], [7.5, 8.0, 7.0, 9.0], [6.0, 6.5, 7.0, 7.5]]`. Để tính điểm trung bình của học sinh thứ nhất (chỉ số 0), đoạn mã nào sau đây là đúng?

  • A. diem_hs1 = diem_lop[0]
    tb_hs1 = sum(diem_hs1) / len(diem_hs1)
  • B. tb_hs1 = sum(diem_lop[1]) / len(diem_lop[1])
  • C. tb_hs1 = sum(diem_lop[0][0] + diem_lop[0][1] + diem_lop[0][2] + diem_lop[0][3]) / 4
  • D. tb_hs1 = diem_lop[0].mean()

Câu 10: Xét mảng hai chiều `diem_lop = [[8.5, 7.0, 9.0, 6.5], [7.5, 8.0, 7.0, 9.0], [6.0, 6.5, 7.0, 7.5]]`. Để tính điểm trung bình của tất cả học sinh trong lớp, bạn cần thực hiện các bước nào?

  • A. Tính tổng điểm của mỗi học sinh, sau đó tính trung bình các tổng đó.
  • B. Tính tổng điểm của tất cả các bài kiểm tra của tất cả học sinh, sau đó chia cho tổng số bài kiểm tra (số học sinh * số bài kiểm tra).
  • C. Tính điểm trung bình của mỗi học sinh, sau đó tính tổng các điểm trung bình đó.
  • D. Tìm điểm cao nhất và thấp nhất trong lớp, sau đó lấy trung bình cộng của hai điểm này.

Câu 11: Cho mảng hai chiều `data = [[1, 2, 3], [4, 5, 6], [7, 8, 9]]`. Đoạn mã nào sau đây sẽ tính tổng các phần tử trên đường chéo chính (1 + 5 + 9)?

  • A. tong = 0
    for row in data:
    tong += sum(row)
  • B. tong = 0
    for i in range(len(data)):
    tong += data[i][len(data)-1-i]
  • C. tong = 0
    for i in range(len(data[0])):
    tong += data[0][i] + data[1][i] + data[2][i]
  • D. tong = 0
    for i in range(len(data)):
    tong += data[i][i]

Câu 12: Khi làm việc với mảng một chiều `my_list`, lỗi `IndexError: list index out of range` xảy ra khi nào?

  • A. Bạn cố gắng truy cập một phần tử bằng chỉ số âm quá giới hạn hoặc chỉ số dương lớn hơn hoặc bằng số lượng phần tử.
  • B. Bạn cố gắng thêm một phần tử vào danh sách rỗng.
  • C. Bạn cố gắng xóa một phần tử không tồn tại trong danh sách.
  • D. Bạn sử dụng vòng lặp `for item in my_list:` nhưng danh sách rỗng.

Câu 13: Cho danh sách `numbers = [10, 20, 30, 40, 50]`. Đoạn mã nào sau đây sẽ in ra `20 30 40`?

  • A. print(numbers[1:3])
  • B. print(*numbers[1:4])
  • C. print(numbers[2:5])
  • D. print(numbers[1], numbers[2], numbers[3], sep=" ")

Câu 14: Bạn muốn viết chương trình cho phép người dùng cập nhật điểm cho học sinh thứ 3 (chỉ số 2) ở bài kiểm tra thứ 4 (chỉ số 3) trong mảng hai chiều `diem_lop`. Trước khi thực hiện cập nhật, bạn cần kiểm tra điều gì để tránh lỗi?

  • A. Kiểm tra xem điểm nhập vào có phải là số nguyên dương không.
  • B. Kiểm tra xem mảng `diem_lop` có rỗng không.
  • C. Kiểm tra xem số lượng học sinh có lớn hơn hoặc bằng 3 không.
  • D. Kiểm tra xem số lượng học sinh (số hàng) có lớn hơn chỉ số 2 và số lượng bài kiểm tra (số cột trong hàng đó) có lớn hơn chỉ số 3 không.

Câu 15: Cho mảng hai chiều `matrix = [[1, 2], [3, 4], [5, 6]]`. Kích thước của mảng này (số hàng x số cột) là bao nhiêu?

  • A. 2 x 3
  • B. 3 x 2
  • C. 6
  • D. Không thể xác định vì các hàng có thể có độ dài khác nhau.

Câu 16: Bạn cần tìm vị trí (chỉ số) của điểm 7.0 đầu tiên xuất hiện trong danh sách `diem = [8.5, 7.0, 9.0, 6.5, 7.0, 8.0]`. Phương thức nào của danh sách Python giúp thực hiện điều này?

  • A. diem.index(7.0)
  • B. diem.find(7.0)
  • C. diem.locate(7.0)
  • D. diem.search(7.0)

Câu 17: Cho mảng hai chiều `data = [[10, 20, 30], [40, 50, 60]]`. Đoạn mã nào sau đây sẽ in ra tổng của cột thứ hai (20 + 50)?

  • A. tong_cot2 = sum(data[1])
  • B. tong_cot2 = data[0][1] + data[1][1] + data[2][1]
  • C. tong_cot2 = 0
    for row in data:
    tong_cot2 += row[1]
  • D. tong_cot2 = sum(data[0][1], data[1][1])

Câu 18: Khi nhập dữ liệu điểm từ người dùng dưới dạng chuỗi và chuyển sang danh sách số, tại sao việc sử dụng `float()` thay vì `int()` lại phù hợp hơn trong nhiều trường hợp?

  • A. `int()` nhanh hơn `float()`.
  • B. Điểm kiểm tra thường có thể là số thập phân (ví dụ: 8.5, 7.25), `float()` xử lý được cả số nguyên và số thập phân, trong khi `int()` chỉ xử lý số nguyên.
  • C. `float()` sử dụng ít bộ nhớ hơn `int()`.
  • D. `int()` không thể xử lý được bất kỳ chuỗi số nào.

Câu 19: Cho danh sách `scores = [9.0, 8.0, 9.0, 7.5, 9.0]`. Để đếm số lần điểm 9.0 xuất hiện trong danh sách này, sử dụng phương thức nào của danh sách Python?

  • A. scores.find(9.0)
  • B. scores.index(9.0)
  • C. scores.sum(9.0)
  • D. scores.count(9.0)

Câu 20: Bạn có một danh sách điểm `diem = [8.5, 7.0, 9.0, 6.5, 8.0]`. Bạn muốn xóa điểm 6.5 khỏi danh sách. Phương thức nào sau đây sẽ thực hiện điều đó?

  • A. diem.remove(6.5)
  • B. diem.pop(6.5)
  • C. del diem[6.5]
  • D. diem.delete(6.5)

Câu 21: Xét đoạn mã Python sau:
`my_list = [1, 2, 3]`
`my_list.append([4, 5])`
`print(len(my_list))`
Kết quả in ra màn hình là gì?

  • A. 5
  • B. 4
  • C. 6
  • D. Lỗi cú pháp

Câu 22: Vẫn với danh sách `my_list` sau khi thực hiện đoạn mã ở Câu 21 (`my_list` hiện là `[1, 2, 3, [4, 5]]`). Để truy cập vào số 5, bạn sẽ sử dụng cú pháp nào?

  • A. my_list[4]
  • B. my_list[3][1]
  • C. my_list[3][1]
  • D. my_list[3][0]

Câu 23: Bạn có danh sách tên học sinh `ten_hs = ["An", "Binh", "Hoa"]` và danh sách điểm trung bình tương ứng `dtb_hs = [8.5, 7.8, 9.2]`. Để in ra tên học sinh có điểm trung bình cao nhất, bạn cần làm gì?

  • A. Tìm điểm trung bình cao nhất trong `dtb_hs`, sau đó tìm vị trí (chỉ số) của điểm đó trong `dtb_hs` và dùng chỉ số đó để truy cập vào `ten_hs`.
  • B. Sắp xếp cả hai danh sách `ten_hs` và `dtb_hs` theo thứ tự giảm dần của điểm trung bình, sau đó lấy phần tử đầu tiên của `ten_hs`.
  • C. Sử dụng hàm `max(ten_hs)` để tìm tên học sinh có điểm trung bình cao nhất.
  • D. Tìm điểm trung bình cao nhất trong `dtb_hs`, sau đó tìm chỉ số của điểm đó trong `dtb_hs`. Sử dụng chỉ số này để lấy tên tương ứng từ `ten_hs`.

Câu 24: Cho một mảng hai chiều `table` biểu diễn dữ liệu điểm. Để duyệt qua từng phần tử trong mảng này, đoạn mã nào sau đây là đúng?

  • A. for row in table:
    for element in row:
    print(element)
  • B. for element in table:
    print(element)
  • C. for i in range(len(table)):
    print(table[i])
  • D. for row in table[0]:
    for element in row:
    print(element)

Câu 25: Một danh sách `numbers = [1, 5, 3, 8, 2]`. Sau khi thực hiện `numbers.sort()`, nội dung của danh sách `numbers` sẽ là gì?

  • A. [1, 5, 3, 8, 2]
  • B. [8, 5, 3, 2, 1]
  • C. [1, 2, 3, 5, 8]
  • D. None

Câu 26: Cho danh sách `data = [10, 20, 30, 40, 50]`. Đoạn mã `data[1:4] = [25, 35]` sẽ thay đổi danh sách `data` thành:

  • A. [10, 20, 30, 40, 50, 25, 35]
  • B. [10, 25, 35, 50]
  • C. [10, 25, 35]
  • D. [10, 25, 35, 40, 50]

Câu 27: Khi sử dụng mảng hai chiều để lưu trữ dữ liệu điểm, mỗi hàng thường biểu diễn thông tin của một đối tượng (ví dụ: một học sinh), và mỗi cột biểu diễn một thuộc tính (ví dụ: điểm của một bài kiểm tra). Điều này giúp tổ chức dữ liệu theo cấu trúc nào?

  • A. Bảng (giống bảng tính hoặc cơ sở dữ liệu đơn giản)
  • B. Cây (Tree)
  • C. Đồ thị (Graph)
  • D. Danh sách liên kết (Linked List)

Câu 28: Bạn cần viết một hàm nhận vào một danh sách điểm và trả về điểm trung bình. Nếu danh sách rỗng, hàm nên trả về giá trị nào để tránh lỗi chia cho 0 và thể hiện rằng không có điểm để tính trung bình?

  • A. 0
  • B. Một chuỗi thông báo lỗi, ví dụ:
  • C. Một giá trị âm lớn, ví dụ: -999
  • D. Kiểm tra độ dài danh sách trước khi chia. Nếu rỗng, trả về 0 hoặc thông báo phù hợp.

Câu 29: Cho mảng hai chiều `grid = [[1, 2, 3], [4, 5, 6]]`. Đoạn mã nào sau đây sẽ in ra tất cả các phần tử theo thứ tự cột trước, hàng sau (1, 4, 2, 5, 3, 6)?

  • A. for col in range(len(grid[0])):
    for row in range(len(grid)):
    print(grid[row][col])
  • B. for row in range(len(grid)):
    for col in range(len(grid[0])):
    print(grid[row][col])
  • C. for col in grid[0]:
    for row in grid:
    print(row[col])
  • D. for row in grid:
    print(row)

Câu 30: Khi lưu trữ tên học sinh và điểm của họ, ví dụ: `[["An", 8.5], ["Binh", 7.8], ["Hoa", 9.2]]`, cấu trúc dữ liệu này là một dạng của mảng hai chiều. Mỗi "hàng" trong mảng này có thể chứa các loại dữ liệu khác nhau (chuỗi và số). Điều này cho thấy tính linh hoạt nào của danh sách trong Python?

  • A. Danh sách có kích thước cố định.
  • B. Các phần tử trong danh sách phải cùng kiểu dữ liệu.
  • C. Các phần tử trong danh sách có thể có kiểu dữ liệu khác nhau.
  • D. Chỉ có thể lưu trữ số trong danh sách.

1 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 18: Thực hành dữ liệu mảng một chiều và hai chiều

Tags: Bộ đề 06

Câu 1: Cho danh sách điểm kiểm tra môn Tin học của một học sinh: `diem = [8.5, 7.0, 9.0, 6.5, 8.0]`.
Để tính tổng điểm của học sinh này, đoạn mã Python nào sau đây là đúng và hiệu quả nhất?

2 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 18: Thực hành dữ liệu mảng một chiều và hai chiều

Tags: Bộ đề 06

Câu 2: Vẫn với danh sách `diem = [8.5, 7.0, 9.0, 6.5, 8.0]`. Để tìm điểm kiểm tra cao nhất mà học sinh đạt được, sử dụng hàm nào của Python là phù hợp nhất?

3 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 18: Thực hành dữ liệu mảng một chiều và hai chiều

Tags: Bộ đề 06

Câu 3: Cho danh sách điểm `diem = [8.5, 7.0, 9.0, 6.5, 8.0]`. Nếu muốn truy cập vào điểm kiểm tra thứ 3 trong danh sách (giả sử thứ tự tính từ 1), bạn sẽ sử dụng chỉ số nào trong Python?

4 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 18: Thực hành dữ liệu mảng một chiều và hai chiều

Tags: Bộ đề 06

Câu 4: Một chương trình yêu cầu người dùng nhập các điểm kiểm tra cách nhau bởi dấu cách, ví dụ: "7.5 8.0 6.0 9.5". Để chuyển chuỗi nhập này thành một danh sách các số thực (float) trong Python, cần thực hiện các bước nào?

5 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 18: Thực hành dữ liệu mảng một chiều và hai chiều

Tags: Bộ đề 06

Câu 5: Xét đoạn mã Python sau:
`diem = [8.5, 7.0, 9.0, 6.5, 8.0]`
`print(diem[-1])`
Kết quả in ra màn hình là gì?

6 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 18: Thực hành dữ liệu mảng một chiều và hai chiều

Tags: Bộ đề 06

Câu 6: Cho danh sách điểm `diem = [8.5, 7.0, 9.0, 6.5, 8.0]`. Để chèn thêm điểm 7.5 vào vị trí thứ 2 (sau 8.5, trước 7.0), sử dụng phương thức nào của danh sách trong Python?

7 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 18: Thực hành dữ liệu mảng một chiều và hai chiều

Tags: Bộ đề 06

Câu 7: Cho danh sách điểm `diem = [8.5, 7.0, 9.0, 6.5, 8.0]`. Đoạn mã nào sau đây sẽ in ra tất cả các điểm trong danh sách, mỗi điểm trên một dòng?

8 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 18: Thực hành dữ liệu mảng một chiều và hai chiều

Tags: Bộ đề 06

Câu 8: Một mảng hai chiều (list of lists) được dùng để lưu trữ điểm của 3 học sinh trên 4 bài kiểm tra như sau:
`diem_lop = [[8.5, 7.0, 9.0, 6.5], [7.5, 8.0, 7.0, 9.0], [6.0, 6.5, 7.0, 7.5]]`
Điểm của học sinh thứ 2 (chỉ số 1) trong bài kiểm tra thứ 3 (chỉ số 2) là bao nhiêu?

9 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 18: Thực hành dữ liệu mảng một chiều và hai chiều

Tags: Bộ đề 06

Câu 9: Vẫn với mảng hai chiều `diem_lop = [[8.5, 7.0, 9.0, 6.5], [7.5, 8.0, 7.0, 9.0], [6.0, 6.5, 7.0, 7.5]]`. Để tính điểm trung bình của học sinh thứ nhất (chỉ số 0), đoạn mã nào sau đây là đúng?

10 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 18: Thực hành dữ liệu mảng một chiều và hai chiều

Tags: Bộ đề 06

Câu 10: Xét mảng hai chiều `diem_lop = [[8.5, 7.0, 9.0, 6.5], [7.5, 8.0, 7.0, 9.0], [6.0, 6.5, 7.0, 7.5]]`. Để tính điểm trung bình của *tất cả* học sinh trong lớp, bạn cần thực hiện các bước nào?

11 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 18: Thực hành dữ liệu mảng một chiều và hai chiều

Tags: Bộ đề 06

Câu 11: Cho mảng hai chiều `data = [[1, 2, 3], [4, 5, 6], [7, 8, 9]]`. Đoạn mã nào sau đây sẽ tính tổng các phần tử trên đường chéo chính (1 + 5 + 9)?

12 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 18: Thực hành dữ liệu mảng một chiều và hai chiều

Tags: Bộ đề 06

Câu 12: Khi làm việc với mảng một chiều `my_list`, lỗi `IndexError: list index out of range` xảy ra khi nào?

13 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 18: Thực hành dữ liệu mảng một chiều và hai chiều

Tags: Bộ đề 06

Câu 13: Cho danh sách `numbers = [10, 20, 30, 40, 50]`. Đoạn mã nào sau đây sẽ in ra `20 30 40`?

14 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 18: Thực hành dữ liệu mảng một chiều và hai chiều

Tags: Bộ đề 06

Câu 14: Bạn muốn viết chương trình cho phép người dùng cập nhật điểm cho học sinh thứ 3 (chỉ số 2) ở bài kiểm tra thứ 4 (chỉ số 3) trong mảng hai chiều `diem_lop`. Trước khi thực hiện cập nhật, bạn cần kiểm tra điều gì để tránh lỗi?

15 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 18: Thực hành dữ liệu mảng một chiều và hai chiều

Tags: Bộ đề 06

Câu 15: Cho mảng hai chiều `matrix = [[1, 2], [3, 4], [5, 6]]`. Kích thước của mảng này (số hàng x số cột) là bao nhiêu?

16 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 18: Thực hành dữ liệu mảng một chiều và hai chiều

Tags: Bộ đề 06

Câu 16: Bạn cần tìm vị trí (chỉ số) của điểm 7.0 đầu tiên xuất hiện trong danh sách `diem = [8.5, 7.0, 9.0, 6.5, 7.0, 8.0]`. Phương thức nào của danh sách Python giúp thực hiện điều này?

17 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 18: Thực hành dữ liệu mảng một chiều và hai chiều

Tags: Bộ đề 06

Câu 17: Cho mảng hai chiều `data = [[10, 20, 30], [40, 50, 60]]`. Đoạn mã nào sau đây sẽ in ra tổng của cột thứ hai (20 + 50)?

18 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 18: Thực hành dữ liệu mảng một chiều và hai chiều

Tags: Bộ đề 06

Câu 18: Khi nhập dữ liệu điểm từ người dùng dưới dạng chuỗi và chuyển sang danh sách số, tại sao việc sử dụng `float()` thay vì `int()` lại phù hợp hơn trong nhiều trường hợp?

19 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 18: Thực hành dữ liệu mảng một chiều và hai chiều

Tags: Bộ đề 06

Câu 19: Cho danh sách `scores = [9.0, 8.0, 9.0, 7.5, 9.0]`. Để đếm số lần điểm 9.0 xuất hiện trong danh sách này, sử dụng phương thức nào của danh sách Python?

20 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 18: Thực hành dữ liệu mảng một chiều và hai chiều

Tags: Bộ đề 06

Câu 20: Bạn có một danh sách điểm `diem = [8.5, 7.0, 9.0, 6.5, 8.0]`. Bạn muốn xóa điểm 6.5 khỏi danh sách. Phương thức nào sau đây sẽ thực hiện điều đó?

21 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 18: Thực hành dữ liệu mảng một chiều và hai chiều

Tags: Bộ đề 06

Câu 21: Xét đoạn mã Python sau:
`my_list = [1, 2, 3]`
`my_list.append([4, 5])`
`print(len(my_list))`
Kết quả in ra màn hình là gì?

22 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 18: Thực hành dữ liệu mảng một chiều và hai chiều

Tags: Bộ đề 06

Câu 22: Vẫn với danh sách `my_list` sau khi thực hiện đoạn mã ở Câu 21 (`my_list` hiện là `[1, 2, 3, [4, 5]]`). Để truy cập vào số 5, bạn sẽ sử dụng cú pháp nào?

23 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 18: Thực hành dữ liệu mảng một chiều và hai chiều

Tags: Bộ đề 06

Câu 23: Bạn có danh sách tên học sinh `ten_hs = ['An', 'Binh', 'Hoa']` và danh sách điểm trung bình tương ứng `dtb_hs = [8.5, 7.8, 9.2]`. Để in ra tên học sinh có điểm trung bình cao nhất, bạn cần làm gì?

24 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 18: Thực hành dữ liệu mảng một chiều và hai chiều

Tags: Bộ đề 06

Câu 24: Cho một mảng hai chiều `table` biểu diễn dữ liệu điểm. Để duyệt qua *từng phần tử* trong mảng này, đoạn mã nào sau đây là đúng?

25 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 18: Thực hành dữ liệu mảng một chiều và hai chiều

Tags: Bộ đề 06

Câu 25: Một danh sách `numbers = [1, 5, 3, 8, 2]`. Sau khi thực hiện `numbers.sort()`, nội dung của danh sách `numbers` sẽ là gì?

26 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 18: Thực hành dữ liệu mảng một chiều và hai chiều

Tags: Bộ đề 06

Câu 26: Cho danh sách `data = [10, 20, 30, 40, 50]`. Đoạn mã `data[1:4] = [25, 35]` sẽ thay đổi danh sách `data` thành:

27 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 18: Thực hành dữ liệu mảng một chiều và hai chiều

Tags: Bộ đề 06

Câu 27: Khi sử dụng mảng hai chiều để lưu trữ dữ liệu điểm, mỗi hàng thường biểu diễn thông tin của một đối tượng (ví dụ: một học sinh), và mỗi cột biểu diễn một thuộc tính (ví dụ: điểm của một bài kiểm tra). Điều này giúp tổ chức dữ liệu theo cấu trúc nào?

28 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 18: Thực hành dữ liệu mảng một chiều và hai chiều

Tags: Bộ đề 06

Câu 28: Bạn cần viết một hàm nhận vào một danh sách điểm và trả về điểm trung bình. Nếu danh sách rỗng, hàm nên trả về giá trị nào để tránh lỗi chia cho 0 và thể hiện rằng không có điểm để tính trung bình?

29 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 18: Thực hành dữ liệu mảng một chiều và hai chiều

Tags: Bộ đề 06

Câu 29: Cho mảng hai chiều `grid = [[1, 2, 3], [4, 5, 6]]`. Đoạn mã nào sau đây sẽ in ra tất cả các phần tử theo thứ tự cột trước, hàng sau (1, 4, 2, 5, 3, 6)?

30 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 18: Thực hành dữ liệu mảng một chiều và hai chiều

Tags: Bộ đề 06

Câu 30: Khi lưu trữ tên học sinh và điểm của họ, ví dụ: `[['An', 8.5], ['Binh', 7.8], ['Hoa', 9.2]]`, cấu trúc dữ liệu này là một dạng của mảng hai chiều. Mỗi 'hàng' trong mảng này có thể chứa các loại dữ liệu khác nhau (chuỗi và số). Điều này cho thấy tính linh hoạt nào của danh sách trong Python?

0

Bạn đã sẵn sàng chưa? 45 phút làm bài bắt đầu!!!

Bạn đã hết giờ làm bài! Xem kết quả các câu hỏi đã làm nhé!!!


Trắc nghiệm Tin học 11 Kết nối tri thức Bài 18: Thực hành dữ liệu mảng một chiều và hai chiều

Trắc nghiệm Tin học 11 Kết nối tri thức Bài 18: Thực hành dữ liệu mảng một chiều và hai chiều - Đề 07

Trắc nghiệm Tin học 11 Kết nối tri thức Bài 18: Thực hành dữ liệu mảng một chiều và hai chiều - Đề 07 được xây dựng với nhiều câu hỏi chất lượng, sát với nội dung chương trình học, giúp bạn dễ dàng ôn tập và kiểm tra kiến thức hiệu quả. Hãy cùng bắt đầu làm bài tập trắc nghiệm ngay để nâng cao hiểu biết và chuẩn bị tốt cho kỳ thi sắp tới!

Câu 1: Trong Python, cấu trúc dữ liệu nào thường được sử dụng để biểu diễn mảng một chiều (danh sách các phần tử cùng loại hoặc khác loại)?

  • A. Tuple
  • B. List
  • C. Dictionary
  • D. Set

Câu 2: Giả sử bạn cần lưu trữ điểm thi của 5 môn học cho một học sinh. Cấu trúc dữ liệu mảng một chiều nào sau đây phù hợp nhất để lưu trữ dữ liệu này?

  • A. Một danh sách chứa 5 số thực (điểm).
  • B. Một danh sách chứa 5 danh sách con, mỗi danh sách con chứa 1 điểm.
  • C. Một từ điển với tên môn học làm khóa và điểm số làm giá trị.
  • D. Một chuỗi ký tự biểu diễn các điểm cách nhau bởi dấu phẩy.

Câu 3: Đoạn chương trình Python sau thực hiện chức năng gì?
`diem = [7.5, 8.0, 6.5, 9.0]
tong_diem = sum(diem)
print(tong_diem)`

  • A. Tìm điểm cao nhất trong danh sách.
  • B. Tìm điểm thấp nhất trong danh sách.
  • C. Tính tổng các điểm trong danh sách.
  • D. Tính điểm trung bình của các điểm trong danh sách.

Câu 4: Để truy cập phần tử thứ 3 (với chỉ số bắt đầu từ 0) trong một danh sách có tên `du_lieu`, cú pháp Python đúng là gì?

  • A. du_lieu[3]
  • B. du_lieu[2]
  • C. du_lieu.get(3)
  • D. du_lieu(2)

Câu 5: Cần sử dụng cấu trúc dữ liệu mảng hai chiều (danh sách các danh sách) trong trường hợp nào sau đây?

  • A. Lưu trữ danh sách các tên học sinh.
  • B. Lưu trữ danh sách các bài thơ.
  • C. Lưu trữ nhiệt độ trung bình của một thành phố trong 30 ngày.
  • D. Lưu trữ điểm thi của tất cả học sinh trong lớp cho nhiều môn học khác nhau.

Câu 6: Giả sử bạn có một mảng hai chiều `ma_tran = [[1, 2, 3], [4, 5, 6], [7, 8, 9]]`. Giá trị của phần tử tại vị trí hàng 1, cột 2 (theo chỉ số từ 0) là bao nhiêu?

  • A. 2
  • B. 5
  • C. 6
  • D. 8

Câu 7: Để tính tổng điểm của tất cả các môn cho tất cả học sinh trong một mảng hai chiều `diem_lop` (trong đó mỗi hàng là điểm của một học sinh), bạn cần sử dụng cấu trúc lặp nào?

  • A. Hai vòng lặp `for` lồng nhau.
  • B. Chỉ một vòng lặp `for`.
  • C. Hàm `sum()` áp dụng trực tiếp cho mảng hai chiều.
  • D. Phương thức `append()`.

Câu 8: Khi xử lý mảng một chiều, việc kiểm tra chỉ số truy cập (index) có nằm trong phạm vi hợp lệ của mảng hay không là quan trọng để tránh lỗi gì?

  • A. SyntaxError
  • B. TypeError
  • C. ValueError
  • D. IndexError

Câu 9: Bạn có danh sách `so_lieu = [15, 22, 18, 30, 25]`. Đoạn mã nào sau đây tìm và in ra giá trị lớn nhất trong danh sách này?

  • A. print(sum(so_lieu))
  • B. print(max(so_lieu))
  • C. print(min(so_lieu))
  • D. print(avg(so_lieu))

Câu 10: Cho mảng hai chiều biểu diễn bảng điểm của 3 học sinh (mỗi hàng là 1 học sinh) với 4 môn học (mỗi cột là 1 môn):
`bang_diem = [[7, 8, 9, 6], [8, 7, 8, 9], [9, 9, 8, 7]]`
Làm thế nào để tính điểm trung bình của học sinh thứ 2 (chỉ số 1)?

  • A. sum(bang_diem[2]) / len(bang_diem[2])
  • B. sum(bang_diem[1]) / len(bang_diem)
  • C. sum(bang_diem[1]) / len(bang_diem[1])
  • D. sum(bang_diem) / len(bang_diem)

Câu 11: Khi đọc dữ liệu điểm từ một chuỗi nhập vào như

  • A. join()
  • B. split()
  • C. strip()
  • D. replace()

Câu 12: Sau khi tách chuỗi điểm thành danh sách các chuỗi con (ví dụ: `["7.5", "8.0", "6.5"]`), bạn cần làm gì tiếp theo để có được danh sách các số thực có thể tính toán được?

  • A. Chuyển đổi từng chuỗi con sang kiểu số thực (float) hoặc số nguyên (int).
  • B. Sử dụng hàm `sum()` trực tiếp trên danh sách chuỗi.
  • C. Sử dụng phương thức `join()` để nối lại thành một chuỗi số.
  • D. Không cần làm gì thêm, có thể tính toán trực tiếp.

Câu 13: Bạn muốn tìm chỉ số (vị trí) của điểm cao nhất trong danh sách `diem = [7.5, 8.0, 6.5, 9.0]`. Đoạn mã nào sau đây thực hiện đúng yêu cầu đó?

  • A. print(diem.index(max))
  • B. print(max(diem.index()))
  • C. print(diem.index(9.0))
  • D. print(diem.index(max(diem)))

Câu 14: Trong trường hợp mảng một chiều rỗng (không có phần tử nào), việc cố gắng tìm điểm cao nhất hoặc thấp nhất bằng các hàm `max()` hoặc `min()` sẽ gây ra lỗi gì?

  • A. IndexError
  • B. TypeError
  • C. ValueError
  • D. SyntaxError

Câu 15: Để duyệt qua tất cả các phần tử trong mảng một chiều `danh_sach` và thực hiện một hành động với từng phần tử (ví dụ: in ra giá trị), cấu trúc lặp nào sau đây là phù hợp nhất và thường dùng trong Python?

  • A. Vòng lặp `for element in danh_sach:`
  • B. Vòng lặp `while i < len(danh_sach):`
  • C. Vòng lặp `for i in range(len(danh_sach)):`
  • D. Tất cả các cách trên đều phù hợp.

Câu 16: Giả sử mảng hai chiều `bang_diem` lưu điểm của học sinh (hàng) và môn học (cột). Để lấy ra danh sách điểm của một môn học cụ thể (ví dụ: môn thứ 3, chỉ số 2) của tất cả học sinh, bạn cần thực hiện thao tác nào?

  • A. Truy cập trực tiếp `bang_diem[2]`.
  • B. Duyệt qua từng hàng và lấy phần tử tại chỉ số 2 của mỗi hàng.
  • C. Sử dụng hàm `sum(bang_diem[2])`.
  • D. Không thể thực hiện được với cấu trúc mảng hai chiều.

Câu 17: Khi tính điểm trung bình của một danh sách điểm, công thức đúng là gì?

  • A. Tổng các điểm chia cho số lượng điểm.
  • B. Điểm cao nhất trừ đi điểm thấp nhất.
  • C. Chỉ lấy điểm cao nhất.
  • D. Tổng các điểm nhân với số lượng điểm.

Câu 18: Bạn cần viết chương trình nhập vào số lượng học sinh và số lượng môn học, sau đó nhập điểm cho từng học sinh từng môn. Cấu trúc dữ liệu nào phù hợp nhất để lưu trữ toàn bộ điểm này?

  • A. Một mảng một chiều lớn chứa tất cả điểm.
  • B. Nhiều mảng một chiều riêng biệt, mỗi mảng cho một học sinh.
  • C. Một mảng hai chiều, trong đó các hàng biểu diễn học sinh và các cột biểu diễn môn học.
  • D. Sử dụng từ điển để lưu trữ điểm.

Câu 19: Cho danh sách `diem_so = [9, 7, 8, 9, 6, 9]`. Kết quả của `diem_so.count(9)` là bao nhiêu?

  • A. 1
  • B. 2
  • C. 3
  • D. 4

Câu 20: Khi làm việc với mảng hai chiều `ma_tran` kích thước M x N (M hàng, N cột), để truy cập phần tử ở hàng thứ `i` và cột thứ `j` (với chỉ số bắt đầu từ 0), cú pháp đúng là gì?

  • A. ma_tran[i][j]
  • B. ma_tran[i, j]
  • C. ma_tran(i)(j)
  • D. ma_tran[j][i]

Câu 21: Bạn có danh sách `nhiet_do = [25.5, 26.0, 24.8, 27.1, 25.9]`. Làm thế nào để thêm một giá trị nhiệt độ mới là 28.5 vào cuối danh sách này?

  • A. nhiet_do.insert(28.5)
  • B. nhiet_do.append(28.5)
  • C. nhiet_do.remove(28.5)
  • D. nhiet_do + 28.5

Câu 22: Cho mảng hai chiều `data = [[10, 20], [30, 40]]`. Đoạn mã nào sau đây sẽ in ra giá trị 40?

  • A. print(data[0][1])
  • B. print(data[1][0])
  • C. print(data[1][1])
  • D. print(data[0][0])

Câu 23: Bạn cần tính tổng các phần tử trên đường chéo chính của một ma trận vuông `ma_tran_vuong` kích thước N x N. Cấu trúc lặp và truy cập phần tử nào là phù hợp?

  • A. Duyệt qua tất cả phần tử và cộng dồn.
  • B. Duyệt qua từng hàng và cộng dồn phần tử đầu tiên của mỗi hàng.
  • C. Duyệt qua từng cột và cộng dồn phần tử cuối cùng của mỗi cột.
  • D. Duyệt qua các chỉ số `i` từ 0 đến N-1 và cộng dồn `ma_tran_vuong[i][i]`.

Câu 24: Giả sử bạn có danh sách `gia_tri = [100, 50, 120, 80, 150]`. Bạn muốn xóa phần tử có giá trị 120 khỏi danh sách này. Phương thức nào sau đây thực hiện điều đó?

  • A. gia_tri.remove(120)
  • B. gia_tri.pop(120)
  • C. del gia_tri[120]
  • D. gia_tri.delete(120)

Câu 25: Điểm khác biệt cơ bản giữa mảng một chiều và mảng hai chiều là gì?

  • A. Mảng một chiều chỉ lưu số, mảng hai chiều lưu cả số và chữ.
  • B. Mảng một chiều có kích thước cố định, mảng hai chiều có kích thước linh hoạt.
  • C. Mảng một chiều được truy cập bằng một chỉ số, mảng hai chiều được truy cập bằng hai chỉ số (hàng và cột).
  • D. Mảng một chiều chỉ có thể lưu trữ dữ liệu đồng nhất, mảng hai chiều có thể lưu trữ dữ liệu không đồng nhất.

Câu 26: Giả sử bạn cần cập nhật điểm môn Toán (cột 0) của học sinh thứ 3 (hàng 2) trong mảng hai chiều `bang_diem` thành 10.0. Cú pháp Python đúng là gì?

  • A. bang_diem[0][2] = 10.0
  • B. bang_diem[2][0] = 10.0
  • C. bang_diem.update(2, 0, 10.0)
  • D. bang_diem[10.0] = [2][0]

Câu 27: Đoạn mã sau có lỗi không? Nếu có, lỗi gì?
`my_list = [1, 2, 3]
print(my_list[3])`

  • A. Có lỗi, lỗi `IndexError` do truy cập chỉ số ngoài phạm vi.
  • B. Có lỗi, lỗi `TypeError` do sai kiểu dữ liệu.
  • C. Không có lỗi, chương trình in ra giá trị cuối cùng.
  • D. Không có lỗi, chương trình in ra giá trị đầu tiên.

Câu 28: Bạn muốn tạo một mảng hai chiều kích thước 3x5 (3 hàng, 5 cột) với tất cả các phần tử ban đầu bằng 0. Cách nào sau đây thực hiện điều đó một cách hiệu quả trong Python?

  • A. ma_tran = [[0]3]5
  • B. ma_tran = [[0 for i in range(3)] for j in range(5)]
  • C. ma_tran = [0, 0, 0, 0, 0] * 3
  • D. ma_tran = [[0 for j in range(5)] for i in range(3)]

Câu 29: Cho mảng một chiều `danh_so = [10, 5, 20, 15]`. Sau khi thực hiện `danh_so.sort()`, nội dung của `danh_so` là gì?

  • A. [10, 5, 20, 15]
  • B. [5, 10, 15, 20]
  • C. [20, 15, 10, 5]
  • D. [10, 20, 5, 15]

Câu 30: Trong bài toán quản lý điểm học sinh, việc sử dụng mảng hai chiều thay vì nhiều mảng một chiều riêng lẻ mang lại lợi ích chính nào?

  • A. Giúp tổ chức dữ liệu một cách có cấu trúc (dạng bảng) và dễ dàng truy cập dữ liệu theo cả học sinh và môn học.
  • B. Tiết kiệm bộ nhớ hơn so với sử dụng nhiều mảng một chiều.
  • C. Chỉ có thể lưu trữ dữ liệu số.
  • D. Không có lợi ích đáng kể, chỉ là cách biểu diễn khác.

1 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 18: Thực hành dữ liệu mảng một chiều và hai chiều

Tags: Bộ đề 07

Câu 1: Trong Python, cấu trúc dữ liệu nào thường được sử dụng để biểu diễn mảng một chiều (danh sách các phần tử cùng loại hoặc khác loại)?

2 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 18: Thực hành dữ liệu mảng một chiều và hai chiều

Tags: Bộ đề 07

Câu 2: Giả sử bạn cần lưu trữ điểm thi của 5 môn học cho một học sinh. Cấu trúc dữ liệu mảng một chiều nào sau đây phù hợp nhất để lưu trữ dữ liệu này?

3 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 18: Thực hành dữ liệu mảng một chiều và hai chiều

Tags: Bộ đề 07

Câu 3: Đoạn chương trình Python sau thực hiện chức năng gì?
`diem = [7.5, 8.0, 6.5, 9.0]
tong_diem = sum(diem)
print(tong_diem)`

4 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 18: Thực hành dữ liệu mảng một chiều và hai chiều

Tags: Bộ đề 07

Câu 4: Để truy cập phần tử thứ 3 (với chỉ số bắt đầu từ 0) trong một danh sách có tên `du_lieu`, cú pháp Python đúng là gì?

5 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 18: Thực hành dữ liệu mảng một chiều và hai chiều

Tags: Bộ đề 07

Câu 5: Cần sử dụng cấu trúc dữ liệu mảng hai chiều (danh sách các danh sách) trong trường hợp nào sau đây?

6 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 18: Thực hành dữ liệu mảng một chiều và hai chiều

Tags: Bộ đề 07

Câu 6: Giả sử bạn có một mảng hai chiều `ma_tran = [[1, 2, 3], [4, 5, 6], [7, 8, 9]]`. Giá trị của phần tử tại vị trí hàng 1, cột 2 (theo chỉ số từ 0) là bao nhiêu?

7 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 18: Thực hành dữ liệu mảng một chiều và hai chiều

Tags: Bộ đề 07

Câu 7: Để tính tổng điểm của tất cả các môn cho *tất cả* học sinh trong một mảng hai chiều `diem_lop` (trong đó mỗi hàng là điểm của một học sinh), bạn cần sử dụng cấu trúc lặp nào?

8 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 18: Thực hành dữ liệu mảng một chiều và hai chiều

Tags: Bộ đề 07

Câu 8: Khi xử lý mảng một chiều, việc kiểm tra chỉ số truy cập (index) có nằm trong phạm vi hợp lệ của mảng hay không là quan trọng để tránh lỗi gì?

9 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 18: Thực hành dữ liệu mảng một chiều và hai chiều

Tags: Bộ đề 07

Câu 9: Bạn có danh sách `so_lieu = [15, 22, 18, 30, 25]`. Đoạn mã nào sau đây tìm và in ra giá trị lớn nhất trong danh sách này?

10 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 18: Thực hành dữ liệu mảng một chiều và hai chiều

Tags: Bộ đề 07

Câu 10: Cho mảng hai chiều biểu diễn bảng điểm của 3 học sinh (mỗi hàng là 1 học sinh) với 4 môn học (mỗi cột là 1 môn):
`bang_diem = [[7, 8, 9, 6], [8, 7, 8, 9], [9, 9, 8, 7]]`
Làm thế nào để tính điểm trung bình của học sinh thứ 2 (chỉ số 1)?

11 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 18: Thực hành dữ liệu mảng một chiều và hai chiều

Tags: Bộ đề 07

Câu 11: Khi đọc dữ liệu điểm từ một chuỗi nhập vào như "7.5 8.0 6.5", phương thức nào của chuỗi trong Python giúp tách chuỗi này thành danh sách các chuỗi con (ví dụ: `['7.5', '8.0', '6.5']`)?

12 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 18: Thực hành dữ liệu mảng một chiều và hai chiều

Tags: Bộ đề 07

Câu 12: Sau khi tách chuỗi điểm thành danh sách các chuỗi con (ví dụ: `['7.5', '8.0', '6.5']`), bạn cần làm gì tiếp theo để có được danh sách các số thực có thể tính toán được?

13 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 18: Thực hành dữ liệu mảng một chiều và hai chiều

Tags: Bộ đề 07

Câu 13: Bạn muốn tìm chỉ số (vị trí) của điểm cao nhất trong danh sách `diem = [7.5, 8.0, 6.5, 9.0]`. Đoạn mã nào sau đây thực hiện đúng yêu cầu đó?

14 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 18: Thực hành dữ liệu mảng một chiều và hai chiều

Tags: Bộ đề 07

Câu 14: Trong trường hợp mảng một chiều rỗng (không có phần tử nào), việc cố gắng tìm điểm cao nhất hoặc thấp nhất bằng các hàm `max()` hoặc `min()` sẽ gây ra lỗi gì?

15 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 18: Thực hành dữ liệu mảng một chiều và hai chiều

Tags: Bộ đề 07

Câu 15: Để duyệt qua tất cả các phần tử trong mảng một chiều `danh_sach` và thực hiện một hành động với từng phần tử (ví dụ: in ra giá trị), cấu trúc lặp nào sau đây là phù hợp nhất và thường dùng trong Python?

16 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 18: Thực hành dữ liệu mảng một chiều và hai chiều

Tags: Bộ đề 07

Câu 16: Giả sử mảng hai chiều `bang_diem` lưu điểm của học sinh (hàng) và môn học (cột). Để lấy ra danh sách điểm của *một* môn học cụ thể (ví dụ: môn thứ 3, chỉ số 2) của tất cả học sinh, bạn cần thực hiện thao tác nào?

17 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 18: Thực hành dữ liệu mảng một chiều và hai chiều

Tags: Bộ đề 07

Câu 17: Khi tính điểm trung bình của một danh sách điểm, công thức đúng là gì?

18 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 18: Thực hành dữ liệu mảng một chiều và hai chiều

Tags: Bộ đề 07

Câu 18: Bạn cần viết chương trình nhập vào số lượng học sinh và số lượng môn học, sau đó nhập điểm cho từng học sinh từng môn. Cấu trúc dữ liệu nào phù hợp nhất để lưu trữ toàn bộ điểm này?

19 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 18: Thực hành dữ liệu mảng một chiều và hai chiều

Tags: Bộ đề 07

Câu 19: Cho danh sách `diem_so = [9, 7, 8, 9, 6, 9]`. Kết quả của `diem_so.count(9)` là bao nhiêu?

20 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 18: Thực hành dữ liệu mảng một chiều và hai chiều

Tags: Bộ đề 07

Câu 20: Khi làm việc với mảng hai chiều `ma_tran` kích thước M x N (M hàng, N cột), để truy cập phần tử ở hàng thứ `i` và cột thứ `j` (với chỉ số bắt đầu từ 0), cú pháp đúng là gì?

21 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 18: Thực hành dữ liệu mảng một chiều và hai chiều

Tags: Bộ đề 07

Câu 21: Bạn có danh sách `nhiet_do = [25.5, 26.0, 24.8, 27.1, 25.9]`. Làm thế nào để thêm một giá trị nhiệt độ mới là 28.5 vào cuối danh sách này?

22 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 18: Thực hành dữ liệu mảng một chiều và hai chiều

Tags: Bộ đề 07

Câu 22: Cho mảng hai chiều `data = [[10, 20], [30, 40]]`. Đoạn mã nào sau đây sẽ in ra giá trị 40?

23 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 18: Thực hành dữ liệu mảng một chiều và hai chiều

Tags: Bộ đề 07

Câu 23: Bạn cần tính tổng các phần tử trên đường chéo chính của một ma trận vuông `ma_tran_vuong` kích thước N x N. Cấu trúc lặp và truy cập phần tử nào là phù hợp?

24 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 18: Thực hành dữ liệu mảng một chiều và hai chiều

Tags: Bộ đề 07

Câu 24: Giả sử bạn có danh sách `gia_tri = [100, 50, 120, 80, 150]`. Bạn muốn xóa phần tử có giá trị 120 khỏi danh sách này. Phương thức nào sau đây thực hiện điều đó?

25 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 18: Thực hành dữ liệu mảng một chiều và hai chiều

Tags: Bộ đề 07

Câu 25: Điểm khác biệt cơ bản giữa mảng một chiều và mảng hai chiều là gì?

26 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 18: Thực hành dữ liệu mảng một chiều và hai chiều

Tags: Bộ đề 07

Câu 26: Giả sử bạn cần cập nhật điểm môn Toán (cột 0) của học sinh thứ 3 (hàng 2) trong mảng hai chiều `bang_diem` thành 10.0. Cú pháp Python đúng là gì?

27 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 18: Thực hành dữ liệu mảng một chiều và hai chiều

Tags: Bộ đề 07

Câu 27: Đoạn mã sau có lỗi không? Nếu có, lỗi gì?
`my_list = [1, 2, 3]
print(my_list[3])`

28 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 18: Thực hành dữ liệu mảng một chiều và hai chiều

Tags: Bộ đề 07

Câu 28: Bạn muốn tạo một mảng hai chiều kích thước 3x5 (3 hàng, 5 cột) với tất cả các phần tử ban đầu bằng 0. Cách nào sau đây thực hiện điều đó một cách hiệu quả trong Python?

29 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 18: Thực hành dữ liệu mảng một chiều và hai chiều

Tags: Bộ đề 07

Câu 29: Cho mảng một chiều `danh_so = [10, 5, 20, 15]`. Sau khi thực hiện `danh_so.sort()`, nội dung của `danh_so` là gì?

30 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 18: Thực hành dữ liệu mảng một chiều và hai chiều

Tags: Bộ đề 07

Câu 30: Trong bài toán quản lý điểm học sinh, việc sử dụng mảng hai chiều thay vì nhiều mảng một chiều riêng lẻ mang lại lợi ích chính nào?

0

Bạn đã sẵn sàng chưa? 45 phút làm bài bắt đầu!!!

Bạn đã hết giờ làm bài! Xem kết quả các câu hỏi đã làm nhé!!!


Trắc nghiệm Tin học 11 Kết nối tri thức Bài 18: Thực hành dữ liệu mảng một chiều và hai chiều

Trắc nghiệm Tin học 11 Kết nối tri thức Bài 18: Thực hành dữ liệu mảng một chiều và hai chiều - Đề 08

Trắc nghiệm Tin học 11 Kết nối tri thức Bài 18: Thực hành dữ liệu mảng một chiều và hai chiều - Đề 08 được xây dựng với nhiều câu hỏi chất lượng, sát với nội dung chương trình học, giúp bạn dễ dàng ôn tập và kiểm tra kiến thức hiệu quả. Hãy cùng bắt đầu làm bài tập trắc nghiệm ngay để nâng cao hiểu biết và chuẩn bị tốt cho kỳ thi sắp tới!

Câu 1: Khi quản lý danh sách điểm kiểm tra của một môn học cho một học sinh duy nhất, cấu trúc dữ liệu mảng một chiều (danh sách trong Python) phù hợp nhất vì:

  • A. Nó cho phép lưu trữ nhiều loại dữ liệu khác nhau.
  • B. Nó lưu trữ một tập hợp các giá trị cùng loại (điểm) theo một thứ tự nhất định, mỗi điểm được truy cập bằng một chỉ số duy nhất.
  • C. Nó có thể lưu trữ dữ liệu dưới dạng bảng với hàng và cột.
  • D. Nó tự động sắp xếp các điểm theo thứ tự tăng dần.

Câu 2: Cho danh sách điểm `diem = [7.5, 8.0, 6.5, 9.0, 7.0]`. Đoạn mã Python nào sau đây tính tổng các điểm một cách hiệu quả nhất?

  • A. tong_diem = sum(diem)
  • B. tong_diem = 0
    for d in diem:
    tong_diem += d
  • C. tong_diem = diem[0] + diem[1] + diem[2] + diem[3] + diem[4]
  • D. tong_diem = diem.sum()

Câu 3: Để tìm điểm kiểm tra cao nhất trong danh sách `diem = [7.5, 8.0, 6.5, 9.0, 7.0]`, bạn nên sử dụng hàm nào trong Python?

  • A. average(diem)
  • B. min(diem)
  • C. max(diem)
  • D. len(diem)

Câu 4: Giả sử bạn đã nhập một chuỗi điểm cách nhau bởi dấu cách, ví dụ: "8.5 7.0 9.0 6.0". Làm thế nào để chuyển chuỗi này thành một danh sách các số thực (float) trong Python để xử lý?

  • A. diem_str.split().astype(float)
  • B. [float(diem_str)]
  • C. list(diem_str)
  • D. [float(d) for d in diem_str.split()]

Câu 5: Khi xử lý mảng một chiều, việc kiểm tra chỉ số truy cập (index) có hợp lệ hay không trước khi truy cập phần tử là quan trọng để:

  • A. Tránh lỗi IndexError (lỗi chỉ số nằm ngoài phạm vi của mảng).
  • B. Đảm bảo các phần tử trong mảng được sắp xếp đúng.
  • C. Tăng tốc độ thực thi chương trình.
  • D. Thay đổi kích thước của mảng một cách linh hoạt.

Câu 6: Bạn cần lưu trữ điểm của 3 bài kiểm tra cho 5 học sinh khác nhau. Cấu trúc dữ liệu mảng hai chiều (list of lists) trong Python sẽ được tổ chức như thế nào là hợp lý?

  • A. Một danh sách chứa 5 danh sách con, mỗi danh sách con chứa 3 điểm của một bài kiểm tra.
  • B. Một danh sách chứa 3 danh sách con, mỗi danh sách con chứa điểm của tất cả học sinh cho một bài kiểm tra.
  • C. Một danh sách chứa 5 danh sách con, mỗi danh sách con chứa 3 điểm của một học sinh.
  • D. Một danh sách duy nhất chứa 15 điểm liên tiếp.

Câu 7: Cho mảng hai chiều `diem_lop = [[7, 8, 9], [6, 7, 8], [8, 9, 10]]` (mỗi hàng là điểm của một học sinh cho 3 bài kiểm tra). Để truy cập điểm bài kiểm tra thứ 2 (chỉ số 1) của học sinh thứ 3 (chỉ số 2), cú pháp Python đúng là gì?

  • A. diem_lop[1][2]
  • B. diem_lop[2][1]
  • C. diem_lop[3][2]
  • D. diem_lop[2, 1]

Câu 8: Để tính điểm trung bình của học sinh thứ nhất (chỉ số 0) trong mảng hai chiều `diem_lop = [[7, 8, 9], [6, 7, 8], [8, 9, 10]]`, bạn cần thực hiện các bước nào?

  • A. Lấy danh sách điểm của học sinh đó (hàng 0), tính tổng các phần tử trong danh sách đó và chia cho số lượng phần tử.
  • B. Lấy tất cả các điểm ở cột 0, tính tổng và chia cho số lượng cột.
  • C. Lấy tất cả các điểm ở hàng 0, tìm điểm cao nhất và thấp nhất rồi tính trung bình cộng.
  • D. Tính tổng tất cả các điểm trong mảng hai chiều và chia cho tổng số học sinh.

Câu 9: Bạn muốn tìm học sinh có điểm trung bình cao nhất trong lớp. Với mảng hai chiều `diem_lop` lưu điểm của N học sinh (N hàng), bạn sẽ cần làm gì?

  • A. Tính tổng điểm của mỗi học sinh và tìm học sinh có tổng điểm cao nhất.
  • B. Tìm điểm cao nhất trong toàn bộ mảng hai chiều và xác định học sinh có điểm đó.
  • C. Sắp xếp các hàng của mảng hai chiều dựa trên điểm bài kiểm tra cuối cùng.
  • D. Tính điểm trung bình cho từng học sinh, lưu trữ các điểm trung bình này (ví dụ: vào một danh sách mới), sau đó tìm chỉ số của điểm trung bình lớn nhất trong danh sách đó.

Câu 10: Đoạn mã Python nào sau đây có thể được sử dụng để in ra điểm của bài kiểm tra thứ nhất (chỉ số 0) của TẤT CẢ học sinh trong mảng hai chiều `diem_lop`?

  • A. print(diem_lop[0])
  • B. for diem in diem_lop[0]:
    print(diem)
  • C. for hoc_sinh_diem in diem_lop:
    print(hoc_sinh_diem[0])
  • D. print(diem_lop[:, 0])

Câu 11: Để khởi tạo một mảng hai chiều có kích thước 5x3 (5 hàng, 3 cột) với tất cả các phần tử ban đầu là 0, cách nào sau đây là đúng và tránh được việc các hàng tham chiếu cùng một danh sách?

  • A. mang_2d = [[0] * 3] * 5
  • B. mang_2d = [[0 for _ in range(3)] for _ in range(5)]
  • C. mang_2d = [[0, 0, 0], [0, 0, 0], [0, 0, 0], [0, 0, 0], [0, 0, 0]]
  • D. mang_2d = [[0] * 5 for _ in range(3)]

Câu 12: Giả sử mảng hai chiều `diem_lop` có 5 học sinh và mỗi học sinh có 3 điểm. Để thêm điểm của một bài kiểm tra thứ 4 (cột mới) cho tất cả học sinh, bạn sẽ làm gì?

  • A. Duyệt qua từng danh sách con (hàng) trong `diem_lop` và sử dụng phương thức `append()` để thêm điểm mới vào cuối mỗi danh sách con.
  • B. Tạo một danh sách mới chứa 5 điểm của bài kiểm tra thứ 4 và gán nó làm cột thứ 3 của `diem_lop`.
  • C. Sử dụng phương thức `extend()` trên `diem_lop` với danh sách điểm mới.
  • D. Không thể thêm cột mới vào mảng hai chiều sau khi đã tạo.

Câu 13: Cho mảng hai chiều `du_lieu = [[10, 20, 30], [40, 50, 60]]`. Đoạn mã nào sau đây sẽ tính tổng của các phần tử trên cột thứ hai (chỉ số 1)?

  • A. tong_cot = sum(du_lieu[1])
  • B. tong_cot = 0
    for hang in du_lieu:
    tong_cot += hang[1]
  • C. tong_cot = du_lieu[0][1] + du_lieu[1][1]
  • D. tong_cot = sum(hang[1] for hang in du_lieu)

Câu 14: Khi nào việc sử dụng mảng hai chiều trở nên cần thiết và hiệu quả hơn so với mảng một chiều?

  • A. Khi bạn chỉ cần lưu trữ một danh sách các mục.
  • B. Khi thứ tự của các phần tử không quan trọng.
  • C. Khi bạn cần lưu trữ dữ liệu chỉ có một thuộc tính duy nhất.
  • D. Khi bạn cần lưu trữ dữ liệu có cấu trúc dạng bảng (hàng và cột), ví dụ: dữ liệu điểm của nhiều học sinh cho nhiều môn học.

Câu 15: Giả sử bạn có một danh sách `so_lieu = [5, 12, 8, 25, 3]`. Đoạn mã nào sau đây sẽ in ra tất cả các phần tử lớn hơn 10?

  • A. for x in so_lieu:
    if x > 10:
    print(x)
  • B. print(so_lieu > 10)
  • C. if so_lieu > 10:
    print(so_lieu)
  • D. print(so_lieu[so_lieu > 10])

Câu 16: Để nhập số lượng phần tử N từ người dùng và sau đó nhập N số nguyên vào một danh sách, cấu trúc vòng lặp nào thường được sử dụng?

  • A. Vòng lặp while với điều kiện luôn đúng.
  • B. Vòng lặp for duyệt qua danh sách đã có.
  • C. Vòng lặp for với `range(N)`.
  • D. Vòng lặp do-while (không có trong Python).

Câu 17: Phân tích đoạn mã sau: `diem = [8, 7, 9, 8, 10]`. Giá trị của `diem[len(diem) - 1]` là gì?

  • A. 8
  • B. 7
  • C. 9
  • D. 10

Câu 18: Giả sử bạn cần tính điểm trung bình của mỗi học sinh trong mảng hai chiều `diem_lop` (mỗi hàng là một học sinh). Bạn sẽ sử dụng cấu trúc vòng lặp nào?

  • A. Một vòng lặp ngoài để duyệt qua từng hàng (từng học sinh) và một vòng lặp trong để duyệt qua từng phần tử (từng điểm) trong hàng đó để tính tổng.
  • B. Một vòng lặp duy nhất duyệt qua tất cả các phần tử của mảng hai chiều.
  • C. Một vòng lặp ngoài duyệt qua các cột và một vòng lặp trong duyệt qua các hàng.
  • D. Chỉ cần sử dụng hàm `sum()` trên toàn bộ mảng hai chiều.

Câu 19: Để đếm số lượng học sinh có điểm trung bình môn Tin học lớn hơn hoặc bằng 8.0, khi dữ liệu được lưu trong mảng hai chiều `diem_lop` (hàng là học sinh, cột là môn học, giả sử môn Tin học ở cột chỉ số `tin_hoc_index`), bạn cần thực hiện các bước nào?

  • A. Duyệt qua từng cột, tính trung bình cột đó và kiểm tra.
  • B. Duyệt qua từng phần tử, kiểm tra giá trị và đếm nếu >= 8.0.
  • C. Duyệt qua từng hàng (từng học sinh), tính điểm trung bình cho học sinh đó dựa trên tất cả các môn, và đếm nếu trung bình đó >= 8.0.
  • D. Duyệt qua từng hàng (từng học sinh), truy cập điểm môn Tin học của học sinh đó (`hang[tin_hoc_index]`), và đếm nếu điểm đó >= 8.0.

Câu 20: Cho mảng hai chiều `bang_so = [[1, 2, 3], [4, 5, 6], [7, 8, 9]]`. Đoạn mã nào sau đây sẽ tính tổng các phần tử trên đường chéo chính (1, 5, 9)?

  • A. tong = bang_so[0][0] + bang_so[1][1] + bang_so[2][2]
  • B. tong = sum(bang_so)
  • C. tong = 0
    for i in range(len(bang_so)):
    tong += bang_so[i][len(bang_so) - 1 - i]
  • D. tong = 0
    for i in range(len(bang_so)):
    tong += bang_so[i][i]

Câu 21: Khi đọc dữ liệu từ một tệp văn bản mà mỗi dòng chứa các số cách nhau bởi dấu phẩy và mỗi dòng tương ứng với dữ liệu của một học sinh (nhiều môn), cấu trúc dữ liệu nào phù hợp nhất để lưu trữ dữ liệu này sau khi đọc?

  • A. Mảng một chiều.
  • B. Mảng hai chiều.
  • C. Bộ từ điển (dictionary).
  • D. Một chuỗi ký tự duy nhất.

Câu 22: Phân tích sự khác biệt cơ bản về cách truy cập dữ liệu giữa mảng một chiều và mảng hai chiều.

  • A. Mảng một chiều dùng một chỉ số để truy cập phần tử, còn mảng hai chiều dùng hai chỉ số (chỉ số hàng và chỉ số cột).
  • B. Mảng một chiều chỉ lưu số, mảng hai chiều có thể lưu cả văn bản.
  • C. Mảng hai chiều nhanh hơn mảng một chiều trong mọi thao tác.
  • D. Mảng một chiều có kích thước cố định, mảng hai chiều có thể thay đổi kích thước linh hoạt.

Câu 23: Cho danh sách `diem = [6.0, 7.0, 8.0, 7.0, 9.0]`. Bạn muốn đếm số lần điểm 7.0 xuất hiện. Đoạn mã nào sau đây thực hiện đúng việc này?

  • A. so_lan = diem.find(7.0)
  • B. so_lan = diem.index(7.0)
  • C. so_lan = diem.count(7.0)
  • D. so_lan = sum(1 for d in diem if d == 7.0)

Câu 24: Trong Python, mảng hai chiều thực chất là "danh sách của các danh sách". Điều này có ý nghĩa gì khi thao tác với dữ liệu?

  • A. Mỗi "hàng" của mảng hai chiều là một đối tượng danh sách độc lập, cho phép các hàng có thể có số lượng cột khác nhau (mặc dù trong bài toán điểm số thường cố định).
  • B. Tất cả các phần tử trong mảng hai chiều phải cùng kiểu dữ liệu.
  • C. Kích thước của mảng hai chiều là cố định sau khi khởi tạo.
  • D. Việc truy cập phần tử luôn mất cùng một khoảng thời gian, bất kể vị trí của nó.

Câu 25: Bạn đang viết chương trình xử lý điểm và cần đảm bảo rằng điểm nhập vào là một số không âm. Nếu người dùng nhập điểm âm khi điền vào mảng một chiều, bạn nên:

  • A. Tự động chuyển điểm âm thành điểm dương tương ứng.
  • B. Hiển thị thông báo lỗi và yêu cầu người dùng nhập lại giá trị hợp lệ.
  • C. Bỏ qua điểm âm đó và không thêm vào danh sách.
  • D. Thay thế điểm âm bằng giá trị 0.

Câu 26: Để tính điểm trung bình của một BÀI KIỂM TRA cụ thể (ví dụ: bài kiểm tra thứ 2, chỉ số 1) cho TẤT CẢ học sinh trong mảng hai chiều `diem_lop`, bạn cần làm gì?

  • A. Duyệt qua từng hàng, lấy phần tử ở cột chỉ số 1, tính tổng các phần tử này và chia cho số lượng hàng (số học sinh).
  • B. Duyệt qua từng cột, lấy phần tử ở hàng chỉ số 1, tính tổng và chia cho số lượng cột.
  • C. Tính tổng tất cả các điểm trong mảng hai chiều và chia cho tổng số bài kiểm tra.
  • D. Sử dụng hàm `average()` trên cột chỉ số 1 của mảng hai chiều.

Câu 27: Khi làm việc với mảng hai chiều, việc sử dụng các vòng lặp lồng nhau (nested loops) là phổ biến. Vòng lặp ngoài thường dùng để duyệt qua cái gì và vòng lặp trong dùng để duyệt qua cái gì?

  • A. Vòng ngoài duyệt cột, vòng trong duyệt hàng.
  • B. Vòng ngoài duyệt phần tử, vòng trong duyệt mảng.
  • C. Vòng ngoài duyệt giá trị, vòng trong duyệt chỉ số.
  • D. Vòng ngoài duyệt hàng, vòng trong duyệt cột (hoặc ngược lại, tùy bài toán cụ thể).

Câu 28: Cho mảng hai chiều `ma_tran = [[1, 0, 1], [0, 1, 0], [1, 0, 1]]`. Bạn muốn kiểm tra xem ma trận này có phải là ma trận đối xứng qua đường chéo chính hay không. Ý tưởng thuật toán nào sau đây là đúng?

  • A. Kiểm tra xem tổng các phần tử trên mỗi hàng có bằng nhau không.
  • B. Kiểm tra xem tổng các phần tử trên mỗi cột có bằng nhau không.
  • C. So sánh phần tử ở vị trí (i, j) với phần tử ở vị trí (j, i) cho tất cả các cặp (i, j) phù hợp (ví dụ: i < j).
  • D. Kiểm tra xem tất cả các phần tử có bằng nhau không.

Câu 29: Trong bài toán quản lý điểm, nếu bạn cần lưu trữ cả tên học sinh và điểm của họ, bạn nên sử dụng cấu trúc dữ liệu nào thay vì chỉ mảng hai chiều đơn thuần lưu điểm?

  • A. Vẫn dùng mảng hai chiều, nhưng lưu tên học sinh ở hàng đầu tiên.
  • B. Sử dụng hai mảng một chiều riêng biệt: một cho tên, một cho điểm.
  • C. Sử dụng mảng ba chiều.
  • D. Sử dụng danh sách các đối tượng (ví dụ: mỗi đối tượng là một học sinh có thuộc tính tên và danh sách điểm) hoặc một cấu trúc kết hợp như danh sách các từ điển (list of dictionaries).

Câu 30: Khi bạn cần xử lý dữ liệu điểm của một lớp lớn với hàng trăm học sinh và nhiều môn học, việc sử dụng thư viện chuyên dụng cho tính toán số liệu như NumPy trong Python (với cấu trúc `numpy.array`) thay vì danh sách lồng nhau có ưu điểm gì?

  • A. Thường cung cấp hiệu suất tính toán nhanh hơn đáng kể cho các phép toán trên toàn bộ mảng hoặc ma trận.
  • B. Dễ dàng thay đổi kích thước mảng hơn danh sách lồng nhau.
  • C. Tiêu tốn ít bộ nhớ hơn cho cùng một lượng dữ liệu.
  • D. Cho phép lưu trữ các kiểu dữ liệu khác nhau trong cùng một mảng NumPy.

1 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 18: Thực hành dữ liệu mảng một chiều và hai chiều

Tags: Bộ đề 08

Câu 1: Khi quản lý danh sách điểm kiểm tra của một môn học cho một học sinh duy nhất, cấu trúc dữ liệu mảng một chiều (danh sách trong Python) phù hợp nhất vì:

2 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 18: Thực hành dữ liệu mảng một chiều và hai chiều

Tags: Bộ đề 08

Câu 2: Cho danh sách điểm `diem = [7.5, 8.0, 6.5, 9.0, 7.0]`. Đoạn mã Python nào sau đây tính tổng các điểm một cách hiệu quả nhất?

3 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 18: Thực hành dữ liệu mảng một chiều và hai chiều

Tags: Bộ đề 08

Câu 3: Để tìm điểm kiểm tra cao nhất trong danh sách `diem = [7.5, 8.0, 6.5, 9.0, 7.0]`, bạn nên sử dụng hàm nào trong Python?

4 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 18: Thực hành dữ liệu mảng một chiều và hai chiều

Tags: Bộ đề 08

Câu 4: Giả sử bạn đã nhập một chuỗi điểm cách nhau bởi dấu cách, ví dụ: '8.5 7.0 9.0 6.0'. Làm thế nào để chuyển chuỗi này thành một danh sách các số thực (float) trong Python để xử lý?

5 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 18: Thực hành dữ liệu mảng một chiều và hai chiều

Tags: Bộ đề 08

Câu 5: Khi xử lý mảng một chiều, việc kiểm tra chỉ số truy cập (index) có hợp lệ hay không trước khi truy cập phần tử là quan trọng để:

6 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 18: Thực hành dữ liệu mảng một chiều và hai chiều

Tags: Bộ đề 08

Câu 6: Bạn cần lưu trữ điểm của 3 bài kiểm tra cho 5 học sinh khác nhau. Cấu trúc dữ liệu mảng hai chiều (list of lists) trong Python sẽ được tổ chức như thế nào là hợp lý?

7 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 18: Thực hành dữ liệu mảng một chiều và hai chiều

Tags: Bộ đề 08

Câu 7: Cho mảng hai chiều `diem_lop = [[7, 8, 9], [6, 7, 8], [8, 9, 10]]` (mỗi hàng là điểm của một học sinh cho 3 bài kiểm tra). Để truy cập điểm bài kiểm tra thứ 2 (chỉ số 1) của học sinh thứ 3 (chỉ số 2), cú pháp Python đúng là gì?

8 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 18: Thực hành dữ liệu mảng một chiều và hai chiều

Tags: Bộ đề 08

Câu 8: Để tính điểm trung bình của học sinh thứ nhất (chỉ số 0) trong mảng hai chiều `diem_lop = [[7, 8, 9], [6, 7, 8], [8, 9, 10]]`, bạn cần thực hiện các bước nào?

9 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 18: Thực hành dữ liệu mảng một chiều và hai chiều

Tags: Bộ đề 08

Câu 9: Bạn muốn tìm học sinh có điểm trung bình cao nhất trong lớp. Với mảng hai chiều `diem_lop` lưu điểm của N học sinh (N hàng), bạn sẽ cần làm gì?

10 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 18: Thực hành dữ liệu mảng một chiều và hai chiều

Tags: Bộ đề 08

Câu 10: Đoạn mã Python nào sau đây có thể được sử dụng để in ra điểm của bài kiểm tra thứ nhất (chỉ số 0) của TẤT CẢ học sinh trong mảng hai chiều `diem_lop`?

11 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 18: Thực hành dữ liệu mảng một chiều và hai chiều

Tags: Bộ đề 08

Câu 11: Để khởi tạo một mảng hai chiều có kích thước 5x3 (5 hàng, 3 cột) với tất cả các phần tử ban đầu là 0, cách nào sau đây là đúng và tránh được việc các hàng tham chiếu cùng một danh sách?

12 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 18: Thực hành dữ liệu mảng một chiều và hai chiều

Tags: Bộ đề 08

Câu 12: Giả sử mảng hai chiều `diem_lop` có 5 học sinh và mỗi học sinh có 3 điểm. Để thêm điểm của một bài kiểm tra thứ 4 (cột mới) cho tất cả học sinh, bạn sẽ làm gì?

13 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 18: Thực hành dữ liệu mảng một chiều và hai chiều

Tags: Bộ đề 08

Câu 13: Cho mảng hai chiều `du_lieu = [[10, 20, 30], [40, 50, 60]]`. Đoạn mã nào sau đây sẽ tính tổng của các phần tử trên cột thứ hai (chỉ số 1)?

14 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 18: Thực hành dữ liệu mảng một chiều và hai chiều

Tags: Bộ đề 08

Câu 14: Khi nào việc sử dụng mảng hai chiều trở nên cần thiết và hiệu quả hơn so với mảng một chiều?

15 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 18: Thực hành dữ liệu mảng một chiều và hai chiều

Tags: Bộ đề 08

Câu 15: Giả sử bạn có một danh sách `so_lieu = [5, 12, 8, 25, 3]`. Đoạn mã nào sau đây sẽ in ra tất cả các phần tử lớn hơn 10?

16 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 18: Thực hành dữ liệu mảng một chiều và hai chiều

Tags: Bộ đề 08

Câu 16: Để nhập số lượng phần tử N từ người dùng và sau đó nhập N số nguyên vào một danh sách, cấu trúc vòng lặp nào thường được sử dụng?

17 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 18: Thực hành dữ liệu mảng một chiều và hai chiều

Tags: Bộ đề 08

Câu 17: Phân tích đoạn mã sau: `diem = [8, 7, 9, 8, 10]`. Giá trị của `diem[len(diem) - 1]` là gì?

18 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 18: Thực hành dữ liệu mảng một chiều và hai chiều

Tags: Bộ đề 08

Câu 18: Giả sử bạn cần tính điểm trung bình của mỗi học sinh trong mảng hai chiều `diem_lop` (mỗi hàng là một học sinh). Bạn sẽ sử dụng cấu trúc vòng lặp nào?

19 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 18: Thực hành dữ liệu mảng một chiều và hai chiều

Tags: Bộ đề 08

Câu 19: Để đếm số lượng học sinh có điểm trung bình môn Tin học lớn hơn hoặc bằng 8.0, khi dữ liệu được lưu trong mảng hai chiều `diem_lop` (hàng là học sinh, cột là môn học, giả sử môn Tin học ở cột chỉ số `tin_hoc_index`), bạn cần thực hiện các bước nào?

20 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 18: Thực hành dữ liệu mảng một chiều và hai chiều

Tags: Bộ đề 08

Câu 20: Cho mảng hai chiều `bang_so = [[1, 2, 3], [4, 5, 6], [7, 8, 9]]`. Đoạn mã nào sau đây sẽ tính tổng các phần tử trên đường chéo chính (1, 5, 9)?

21 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 18: Thực hành dữ liệu mảng một chiều và hai chiều

Tags: Bộ đề 08

Câu 21: Khi đọc dữ liệu từ một tệp văn bản mà mỗi dòng chứa các số cách nhau bởi dấu phẩy và mỗi dòng tương ứng với dữ liệu của một học sinh (nhiều môn), cấu trúc dữ liệu nào phù hợp nhất để lưu trữ dữ liệu này sau khi đọc?

22 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 18: Thực hành dữ liệu mảng một chiều và hai chiều

Tags: Bộ đề 08

Câu 22: Phân tích sự khác biệt cơ bản về cách truy cập dữ liệu giữa mảng một chiều và mảng hai chiều.

23 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 18: Thực hành dữ liệu mảng một chiều và hai chiều

Tags: Bộ đề 08

Câu 23: Cho danh sách `diem = [6.0, 7.0, 8.0, 7.0, 9.0]`. Bạn muốn đếm số lần điểm 7.0 xuất hiện. Đoạn mã nào sau đây thực hiện đúng việc này?

24 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 18: Thực hành dữ liệu mảng một chiều và hai chiều

Tags: Bộ đề 08

Câu 24: Trong Python, mảng hai chiều thực chất là 'danh sách của các danh sách'. Điều này có ý nghĩa gì khi thao tác với dữ liệu?

25 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 18: Thực hành dữ liệu mảng một chiều và hai chiều

Tags: Bộ đề 08

Câu 25: Bạn đang viết chương trình xử lý điểm và cần đảm bảo rằng điểm nhập vào là một số không âm. Nếu người dùng nhập điểm âm khi điền vào mảng một chiều, bạn nên:

26 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 18: Thực hành dữ liệu mảng một chiều và hai chiều

Tags: Bộ đề 08

Câu 26: Để tính điểm trung bình của một BÀI KIỂM TRA cụ thể (ví dụ: bài kiểm tra thứ 2, chỉ số 1) cho TẤT CẢ học sinh trong mảng hai chiều `diem_lop`, bạn cần làm gì?

27 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 18: Thực hành dữ liệu mảng một chiều và hai chiều

Tags: Bộ đề 08

Câu 27: Khi làm việc với mảng hai chiều, việc sử dụng các vòng lặp lồng nhau (nested loops) là phổ biến. Vòng lặp ngoài thường dùng để duyệt qua cái gì và vòng lặp trong dùng để duyệt qua cái gì?

28 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 18: Thực hành dữ liệu mảng một chiều và hai chiều

Tags: Bộ đề 08

Câu 28: Cho mảng hai chiều `ma_tran = [[1, 0, 1], [0, 1, 0], [1, 0, 1]]`. Bạn muốn kiểm tra xem ma trận này có phải là ma trận đối xứng qua đường chéo chính hay không. Ý tưởng thuật toán nào sau đây là đúng?

29 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 18: Thực hành dữ liệu mảng một chiều và hai chiều

Tags: Bộ đề 08

Câu 29: Trong bài toán quản lý điểm, nếu bạn cần lưu trữ cả tên học sinh và điểm của họ, bạn nên sử dụng cấu trúc dữ liệu nào thay vì chỉ mảng hai chiều đơn thuần lưu điểm?

30 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 18: Thực hành dữ liệu mảng một chiều và hai chiều

Tags: Bộ đề 08

Câu 30: Khi bạn cần xử lý dữ liệu điểm của một lớp lớn với hàng trăm học sinh và nhiều môn học, việc sử dụng thư viện chuyên dụng cho tính toán số liệu như NumPy trong Python (với cấu trúc `numpy.array`) thay vì danh sách lồng nhau có ưu điểm gì?

0

Bạn đã sẵn sàng chưa? 45 phút làm bài bắt đầu!!!

Bạn đã hết giờ làm bài! Xem kết quả các câu hỏi đã làm nhé!!!


Trắc nghiệm Tin học 11 Kết nối tri thức Bài 18: Thực hành dữ liệu mảng một chiều và hai chiều

Trắc nghiệm Tin học 11 Kết nối tri thức Bài 18: Thực hành dữ liệu mảng một chiều và hai chiều - Đề 09

Trắc nghiệm Tin học 11 Kết nối tri thức Bài 18: Thực hành dữ liệu mảng một chiều và hai chiều - Đề 09 được xây dựng với nhiều câu hỏi chất lượng, sát với nội dung chương trình học, giúp bạn dễ dàng ôn tập và kiểm tra kiến thức hiệu quả. Hãy cùng bắt đầu làm bài tập trắc nghiệm ngay để nâng cao hiểu biết và chuẩn bị tốt cho kỳ thi sắp tới!

Câu 1: Bài toán tìm kiếm trong Tin học là gì?

  • A. Tìm kiếm một đối tượng trong không gian 3 chiều.
  • B. Sắp xếp các phần tử theo một thứ tự nhất định.
  • C. Thực hiện các phép tính toán học phức tạp trên dữ liệu.
  • D. Xác định xem một đối tượng cụ thể có tồn tại trong một tập hợp hay không và nếu có thì vị trí của nó.

Câu 2: Giả sử bạn có một danh sách 1000 số nguyên chưa được sắp xếp. Bạn cần tìm xem số 42 có tồn tại trong danh sách này hay không. Thuật toán tìm kiếm nào phù hợp nhất và hiệu quả nhất trong trường hợp này?

  • A. Tìm kiếm tuần tự (Linear Search)
  • B. Tìm kiếm nhị phân (Binary Search)
  • C. Tìm kiếm theo chiều sâu (Depth-First Search)
  • D. Tìm kiếm theo chiều rộng (Breadth-First Search)

Câu 3: Thuật toán tìm kiếm tuần tự (Linear Search) hoạt động như thế nào?

  • A. So sánh phần tử cần tìm với phần tử ở giữa danh sách và thu hẹp phạm vi tìm kiếm.
  • B. Kiểm tra ngẫu nhiên các phần tử trong danh sách cho đến khi tìm thấy.
  • C. Duyệt qua từng phần tử của danh sách từ đầu đến cuối, so sánh với phần tử cần tìm.
  • D. Chia danh sách thành hai nửa và tìm kiếm trong cả hai nửa cùng lúc.

Câu 4: Điều kiện tiên quyết quan trọng nhất để áp dụng thuật toán tìm kiếm nhị phân (Binary Search) một cách hiệu quả là gì?

  • A. Các phần tử trong danh sách phải là số nguyên.
  • B. Các phần tử trong danh sách phải được sắp xếp theo một thứ tự (tăng dần hoặc giảm dần).
  • C. Số lượng phần tử trong danh sách phải là số chẵn.
  • D. Tất cả các phần tử trong danh sách phải là duy nhất (không trùng lặp).

Câu 5: Cho danh sách đã sắp xếp: `[5, 12, 23, 38, 45, 60, 71, 85, 90]`. Bạn sử dụng tìm kiếm nhị phân để tìm số 60. Các phần tử nào sẽ được so sánh với 60 trong quá trình tìm kiếm?

  • A. 5, 12, 23, 38, 45, 60
  • B. 90, 85, 71, 60
  • C. 45, 71, 60
  • D. 23, 60

Câu 6: Độ phức tạp thời gian (time complexity) của thuật toán tìm kiếm tuần tự (Linear Search) trong trường hợp xấu nhất (worst-case) là bao nhiêu, với N là số lượng phần tử trong danh sách?

  • A. O(N)
  • B. O(log N)
  • C. O(1)
  • D. O(N^2)

Câu 7: Độ phức tạp thời gian (time complexity) của thuật toán tìm kiếm nhị phân (Binary Search) trong trường hợp xấu nhất (worst-case) là bao nhiêu, với N là số lượng phần tử trong danh sách?

  • A. O(N)
  • B. O(log N)
  • C. O(N log N)
  • D. O(sqrt(N))

Câu 8: Khi nào nên ưu tiên sử dụng thuật toán tìm kiếm tuần tự thay vì tìm kiếm nhị phân?

  • A. Khi danh sách có kích thước rất lớn.
  • B. Khi danh sách đã được sắp xếp.
  • C. Khi cần tìm kiếm nhiều lần trên cùng một danh sách.
  • D. Khi danh sách chưa được sắp xếp và việc sắp xếp tốn kém hơn thời gian tìm kiếm.

Câu 9: Thuật toán tìm kiếm nhị phân hoạt động dựa trên nguyên tắc nào?

  • A. Chia để trị (Divide and Conquer)
  • B. Tham lam (Greedy)
  • C. Quy hoạch động (Dynamic Programming)
  • D. Brute Force

Câu 10: Trong tìm kiếm nhị phân, nếu phần tử cần tìm nhỏ hơn phần tử tại vị trí giữa (mid), thì bước tiếp theo của thuật toán là gì?

  • A. Tiếp tục tìm kiếm trong nửa bên phải của danh sách.
  • B. Tiếp tục tìm kiếm trong nửa bên trái của danh sách.
  • C. Dừng tìm kiếm và thông báo không tìm thấy.
  • D. So sánh với phần tử đầu tiên của danh sách.

Câu 11: Cho danh sách `[15, 8, 22, 3, 10]`. Bạn sử dụng tìm kiếm tuần tự để tìm số 22. Cần bao nhiêu phép so sánh (so sánh phần tử cần tìm với phần tử trong danh sách) để tìm thấy?

  • A. 1
  • B. 2
  • C. 3
  • D. 5

Câu 12: Cho danh sách đã sắp xếp `[10, 20, 30, 40, 50, 60, 70]`. Bạn sử dụng tìm kiếm nhị phân để tìm số 35. Thuật toán sẽ kết thúc ở đâu và với kết quả nào?

  • A. Tìm thấy tại vị trí index 3.
  • B. Tìm thấy tại vị trí index 2.
  • C. Tìm thấy tại vị trí index 4.
  • D. Không tìm thấy phần tử.

Câu 13: So sánh hiệu quả giữa tìm kiếm tuần tự và tìm kiếm nhị phân trên một danh sách có N phần tử trong trường hợp trung bình (average-case)?

  • A. Tìm kiếm tuần tự hiệu quả hơn nhiều.
  • B. Tìm kiếm nhị phân hiệu quả hơn nhiều, đặc biệt với N lớn.
  • C. Cả hai đều có hiệu quả tương đương.
  • D. Hiệu quả phụ thuộc vào giá trị cụ thể của các phần tử.

Câu 14: Nếu một thuật toán tìm kiếm có độ phức tạp O(log N), điều này có ý nghĩa gì về mặt hiệu suất khi kích thước dữ liệu tăng lên?

  • A. Thời gian thực hiện tăng chậm hơn nhiều so với kích thước dữ liệu.
  • B. Thời gian thực hiện tăng tuyến tính với kích thước dữ liệu.
  • C. Thời gian thực hiện tăng theo bình phương kích thước dữ liệu.
  • D. Thời gian thực hiện không phụ thuộc vào kích thước dữ liệu.

Câu 15: Trong Python, để thực hiện tìm kiếm tuần tự trên một danh sách `my_list` để tìm giá trị `target`, đoạn mã nào thể hiện đúng logic cơ bản?

  • A. ```python
    if target in my_list:
    print("Found")
    ```
  • B. ```python
    for i in range(len(my_list) // 2):
    if my_list[i] == target:
    print("Found")
    break
    ```
  • C. ```python
    found = False
    for item in my_list:
    if item == target:
    found = True
    break
    if found:
    print("Found")
    ```
  • D. ```python
    low, high = 0, len(my_list) - 1
    while low <= high: mid = (low + high) // 2 if my_list[mid] == target: print("Found") break elif my_list[mid] < target: low = mid + 1 else: high = mid - 1 ```

Câu 16: Đoạn mã Python sau thực hiện thuật toán tìm kiếm nào?
```python
def search(arr, x):
l, r = 0, len(arr) - 1
while l <= r: mid = (l + r) // 2 if arr[mid] == x: return mid elif arr[mid] < x: l = mid + 1 else: r = mid - 1 return -1 ```

  • A. Tìm kiếm tuần tự
  • B. Tìm kiếm nhị phân
  • C. Tìm kiếm theo chiều sâu
  • D. Tìm kiếm theo chiều rộng

Câu 17: Một công ty cần lưu trữ danh sách khách hàng đã đăng ký nhận bản tin. Số lượng khách hàng lên tới hàng triệu. Mỗi khách hàng có một mã ID duy nhất. Khi một khách hàng truy cập trang web, hệ thống cần kiểm tra nhanh xem mã ID của họ có trong danh sách hay không để hiển thị nội dung phù hợp. Cấu trúc dữ liệu và thuật toán tìm kiếm nào là lựa chọn tối ưu nhất cho bài toán kiểm tra sự tồn tại (membership testing) này?

  • A. Danh sách (list) và tìm kiếm tuần tự.
  • B. Danh sách đã sắp xếp (sorted list) và tìm kiếm nhị phân.
  • C. Tập hợp (set) hoặc từ điển (dictionary) và kiểm tra sự tồn tại (using "in").
  • D. Cây nhị phân tìm kiếm (Binary Search Tree).

Câu 18: Tại sao việc sắp xếp dữ liệu là bước quan trọng trước khi áp dụng thuật toán tìm kiếm nhị phân?

  • A. Vì thuật toán tìm kiếm nhị phân dựa vào việc so sánh phần tử cần tìm với phần tử ở giữa và loại bỏ một nửa danh sách, điều này chỉ khả thi khi dữ liệu có thứ tự.
  • B. Vì việc sắp xếp giúp giảm số lượng phần tử cần xem xét trong trường hợp xấu nhất của tìm kiếm nhị phân.
  • C. Vì dữ liệu đã sắp xếp giúp thuật toán tìm kiếm nhị phân luôn tìm thấy phần tử cần tìm.
  • D. Vì việc sắp xếp giúp tăng độ phức tạp thời gian của thuật toán tìm kiếm nhị phân.

Câu 19: Trong trường hợp tốt nhất (best-case), thuật toán tìm kiếm tuần tự cần bao nhiêu phép so sánh để tìm thấy phần tử cần tìm trong danh sách N phần tử?

  • A. 1
  • B. log N
  • C. N/2
  • D. N

Câu 20: Trong trường hợp tốt nhất (best-case), thuật toán tìm kiếm nhị phân cần bao nhiêu phép so sánh để tìm thấy phần tử cần tìm trong danh sách N phần tử?

  • A. 1
  • B. log N
  • C. N/2
  • D. N

Câu 21: Bạn được giao nhiệm vụ xây dựng chức năng tìm kiếm tên sản phẩm trong một danh mục gồm khoảng 50 sản phẩm. Danh mục này thường xuyên được cập nhật (thêm/xóa sản phẩm). Thuật toán tìm kiếm nào là lựa chọn hợp lý nhất cân nhắc giữa tốc độ tìm kiếm và chi phí duy trì (sắp xếp)?

  • A. Tìm kiếm tuần tự trên danh sách chưa sắp xếp.
  • B. Tìm kiếm nhị phân trên danh sách đã sắp xếp.
  • C. Sử dụng cấu trúc dữ liệu băm (hash table).
  • D. Sử dụng cây nhị phân tìm kiếm cân bằng.

Câu 22: Giả sử bạn có một tệp văn bản chứa 100.000 từ, mỗi từ trên một dòng và đã được sắp xếp theo thứ tự bảng chữ cái. Bạn cần tìm kiếm nhanh xem một từ cụ thể có tồn tại trong tệp hay không. Thuật toán nào sẽ cho tốc độ tìm kiếm nhanh nhất?

  • A. Tìm kiếm tuần tự.
  • B. Tìm kiếm nhị phân.
  • C. Tìm kiếm theo chiều sâu.
  • D. Tìm kiếm theo chiều rộng.

Câu 23: Một danh sách có 2^k phần tử. Số phép so sánh tối đa mà thuật toán tìm kiếm nhị phân cần thực hiện để tìm kiếm một phần tử (hoặc xác định nó không tồn tại) trong trường hợp xấu nhất là khoảng bao nhiêu?

  • A. 2^k
  • B. k/2
  • C. k + 1
  • D. 2k

Câu 24: Đâu là một ví dụ về bài toán tìm kiếm trong thực tế?

  • A. Tính tổng các số trong một dãy.
  • B. Vẽ biểu đồ từ dữ liệu.
  • C. Nén một tệp tin.
  • D. Tra cứu số điện thoại của một người trong danh bạ.

Câu 25: Khi triển khai tìm kiếm nhị phân, biến "mid" thường được tính như thế nào để tránh tràn số với các chỉ số (index) lớn?

  • A. `mid = (low + high) / 2`
  • B. `mid = low + (high - low) / 2`
  • C. `mid = high - (high - low) / 2`
  • D. `mid = low * high / 2`

Câu 26: Thuật toán tìm kiếm nào không yêu cầu dữ liệu đầu vào phải được sắp xếp?

  • A. Tìm kiếm tuần tự
  • B. Tìm kiếm nhị phân
  • C. Cả hai thuật toán trên
  • D. Không có thuật toán tìm kiếm nào không yêu cầu sắp xếp

Câu 27: Một thư viện có hệ thống quản lý sách bằng máy tính. Mỗi sách có một mã ISBN duy nhất. Thủ thư thường xuyên cần tra cứu thông tin sách dựa trên mã ISBN. Số lượng sách rất lớn (hàng triệu cuốn). Hệ thống cần trả về kết quả tra cứu cực nhanh. Thuật toán tìm kiếm nào (kết hợp với cấu trúc dữ liệu phù hợp) là lựa chọn tốt nhất?

  • A. Tìm kiếm tuần tự trên danh sách sách.
  • B. Tìm kiếm nhị phân trên danh sách sách đã sắp xếp theo ISBN.
  • C. Sử dụng bảng băm (hash table) hoặc từ điển (dictionary) với ISBN làm khóa.
  • D. Sử dụng tìm kiếm tuần tự trên danh sách sách được sắp xếp theo tên sách.

Câu 28: Khi tìm kiếm nhị phân trên một danh sách đã sắp xếp tăng dần, nếu phần tử tại vị trí "mid" lớn hơn phần tử cần tìm, thì ta biết chắc chắn rằng phần tử cần tìm (nếu có) sẽ nằm ở đâu?

  • A. Ở nửa bên phải của vị trí "mid".
  • B. Ở nửa bên trái của vị trí "mid".
  • C. Chính xác tại vị trí "mid".
  • D. Không thể xác định được vị trí.

Câu 29: Giả sử bạn có một mảng gồm N phần tử. Bạn muốn tìm tất cả các vị trí mà một giá trị X xuất hiện trong mảng đó. Thuật toán tìm kiếm tuần tự có ưu điểm gì so với tìm kiếm nhị phân trong trường hợp này (nếu mảng không chắc chắn đã được sắp xếp và giá trị X có thể lặp lại)?

  • A. Tìm kiếm tuần tự nhanh hơn tìm kiếm nhị phân.
  • B. Tìm kiếm tuần tự chỉ cần ít bộ nhớ hơn.
  • C. Tìm kiếm tuần tự có thể dừng ngay khi tìm thấy lần xuất hiện đầu tiên.
  • D. Tìm kiếm tuần tự dễ dàng tìm thấy tất cả các lần xuất hiện bằng cách tiếp tục duyệt sau khi tìm thấy một lần.

Câu 30: Một hệ thống cần thường xuyên thực hiện cả việc thêm/xóa các phần tử và tìm kiếm nhanh chóng. Cấu trúc dữ liệu nào sau đây, khi kết hợp với thuật toán tìm kiếm phù hợp, có thể cân bằng tốt giữa hiệu quả của các thao tác này?

  • A. Danh sách liên kết (Linked List) và tìm kiếm tuần tự.
  • B. Mảng tĩnh (Static Array) và tìm kiếm nhị phân.
  • C. Cây nhị phân tìm kiếm cân bằng (Balanced Binary Search Tree) hoặc Bảng băm (Hash Table).
  • D. Ngăn xếp (Stack) và tìm kiếm tuần tự.

1 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 18: Thực hành dữ liệu mảng một chiều và hai chiều

Tags: Bộ đề 09

Câu 1: Bài toán tìm kiếm trong Tin học là gì?

2 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 18: Thực hành dữ liệu mảng một chiều và hai chiều

Tags: Bộ đề 09

Câu 2: Giả sử bạn có một danh sách 1000 số nguyên chưa được sắp xếp. Bạn cần tìm xem số 42 có tồn tại trong danh sách này hay không. Thuật toán tìm kiếm nào phù hợp nhất và hiệu quả nhất trong trường hợp này?

3 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 18: Thực hành dữ liệu mảng một chiều và hai chiều

Tags: Bộ đề 09

Câu 3: Thuật toán tìm kiếm tuần tự (Linear Search) hoạt động như thế nào?

4 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 18: Thực hành dữ liệu mảng một chiều và hai chiều

Tags: Bộ đề 09

Câu 4: Điều kiện tiên quyết quan trọng nhất để áp dụng thuật toán tìm kiếm nhị phân (Binary Search) một cách hiệu quả là gì?

5 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 18: Thực hành dữ liệu mảng một chiều và hai chiều

Tags: Bộ đề 09

Câu 5: Cho danh sách đã sắp xếp: `[5, 12, 23, 38, 45, 60, 71, 85, 90]`. Bạn sử dụng tìm kiếm nhị phân để tìm số 60. Các phần tử nào sẽ được so sánh với 60 trong quá trình tìm kiếm?

6 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 18: Thực hành dữ liệu mảng một chiều và hai chiều

Tags: Bộ đề 09

Câu 6: Độ phức tạp thời gian (time complexity) của thuật toán tìm kiếm tuần tự (Linear Search) trong trường hợp xấu nhất (worst-case) là bao nhiêu, với N là số lượng phần tử trong danh sách?

7 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 18: Thực hành dữ liệu mảng một chiều và hai chiều

Tags: Bộ đề 09

Câu 7: Độ phức tạp thời gian (time complexity) của thuật toán tìm kiếm nhị phân (Binary Search) trong trường hợp xấu nhất (worst-case) là bao nhiêu, với N là số lượng phần tử trong danh sách?

8 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 18: Thực hành dữ liệu mảng một chiều và hai chiều

Tags: Bộ đề 09

Câu 8: Khi nào nên ưu tiên sử dụng thuật toán tìm kiếm tuần tự thay vì tìm kiếm nhị phân?

9 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 18: Thực hành dữ liệu mảng một chiều và hai chiều

Tags: Bộ đề 09

Câu 9: Thuật toán tìm kiếm nhị phân hoạt động dựa trên nguyên tắc nào?

10 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 18: Thực hành dữ liệu mảng một chiều và hai chiều

Tags: Bộ đề 09

Câu 10: Trong tìm kiếm nhị phân, nếu phần tử cần tìm nhỏ hơn phần tử tại vị trí giữa (mid), thì bước tiếp theo của thuật toán là gì?

11 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 18: Thực hành dữ liệu mảng một chiều và hai chiều

Tags: Bộ đề 09

Câu 11: Cho danh sách `[15, 8, 22, 3, 10]`. Bạn sử dụng tìm kiếm tuần tự để tìm số 22. Cần bao nhiêu phép so sánh (so sánh phần tử cần tìm với phần tử trong danh sách) để tìm thấy?

12 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 18: Thực hành dữ liệu mảng một chiều và hai chiều

Tags: Bộ đề 09

Câu 12: Cho danh sách đã sắp xếp `[10, 20, 30, 40, 50, 60, 70]`. Bạn sử dụng tìm kiếm nhị phân để tìm số 35. Thuật toán sẽ kết thúc ở đâu và với kết quả nào?

13 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 18: Thực hành dữ liệu mảng một chiều và hai chiều

Tags: Bộ đề 09

Câu 13: So sánh hiệu quả giữa tìm kiếm tuần tự và tìm kiếm nhị phân trên một danh sách có N phần tử trong trường hợp trung bình (average-case)?

14 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 18: Thực hành dữ liệu mảng một chiều và hai chiều

Tags: Bộ đề 09

Câu 14: Nếu một thuật toán tìm kiếm có độ phức tạp O(log N), điều này có ý nghĩa gì về mặt hiệu suất khi kích thước dữ liệu tăng lên?

15 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 18: Thực hành dữ liệu mảng một chiều và hai chiều

Tags: Bộ đề 09

Câu 15: Trong Python, để thực hiện tìm kiếm tuần tự trên một danh sách `my_list` để tìm giá trị `target`, đoạn mã nào thể hiện đúng logic cơ bản?

16 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 18: Thực hành dữ liệu mảng một chiều và hai chiều

Tags: Bộ đề 09

Câu 16: Đoạn mã Python sau thực hiện thuật toán tìm kiếm nào?
```python
def search(arr, x):
l, r = 0, len(arr) - 1
while l <= r: mid = (l + r) // 2 if arr[mid] == x: return mid elif arr[mid] < x: l = mid + 1 else: r = mid - 1 return -1 ```

17 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 18: Thực hành dữ liệu mảng một chiều và hai chiều

Tags: Bộ đề 09

Câu 17: Một công ty cần lưu trữ danh sách khách hàng đã đăng ký nhận bản tin. Số lượng khách hàng lên tới hàng triệu. Mỗi khách hàng có một mã ID duy nhất. Khi một khách hàng truy cập trang web, hệ thống cần kiểm tra nhanh xem mã ID của họ có trong danh sách hay không để hiển thị nội dung phù hợp. Cấu trúc dữ liệu và thuật toán tìm kiếm nào là lựa chọn tối ưu nhất cho bài toán kiểm tra sự tồn tại (membership testing) này?

18 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 18: Thực hành dữ liệu mảng một chiều và hai chiều

Tags: Bộ đề 09

Câu 18: Tại sao việc sắp xếp dữ liệu là bước quan trọng trước khi áp dụng thuật toán tìm kiếm nhị phân?

19 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 18: Thực hành dữ liệu mảng một chiều và hai chiều

Tags: Bộ đề 09

Câu 19: Trong trường hợp tốt nhất (best-case), thuật toán tìm kiếm tuần tự cần bao nhiêu phép so sánh để tìm thấy phần tử cần tìm trong danh sách N phần tử?

20 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 18: Thực hành dữ liệu mảng một chiều và hai chiều

Tags: Bộ đề 09

Câu 20: Trong trường hợp tốt nhất (best-case), thuật toán tìm kiếm nhị phân cần bao nhiêu phép so sánh để tìm thấy phần tử cần tìm trong danh sách N phần tử?

21 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 18: Thực hành dữ liệu mảng một chiều và hai chiều

Tags: Bộ đề 09

Câu 21: Bạn được giao nhiệm vụ xây dựng chức năng tìm kiếm tên sản phẩm trong một danh mục gồm khoảng 50 sản phẩm. Danh mục này thường xuyên được cập nhật (thêm/xóa sản phẩm). Thuật toán tìm kiếm nào là lựa chọn hợp lý nhất cân nhắc giữa tốc độ tìm kiếm và chi phí duy trì (sắp xếp)?

22 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 18: Thực hành dữ liệu mảng một chiều và hai chiều

Tags: Bộ đề 09

Câu 22: Giả sử bạn có một tệp văn bản chứa 100.000 từ, mỗi từ trên một dòng và đã được sắp xếp theo thứ tự bảng chữ cái. Bạn cần tìm kiếm nhanh xem một từ cụ thể có tồn tại trong tệp hay không. Thuật toán nào sẽ cho tốc độ tìm kiếm nhanh nhất?

23 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 18: Thực hành dữ liệu mảng một chiều và hai chiều

Tags: Bộ đề 09

Câu 23: Một danh sách có 2^k phần tử. Số phép so sánh tối đa mà thuật toán tìm kiếm nhị phân cần thực hiện để tìm kiếm một phần tử (hoặc xác định nó không tồn tại) trong trường hợp xấu nhất là khoảng bao nhiêu?

24 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 18: Thực hành dữ liệu mảng một chiều và hai chiều

Tags: Bộ đề 09

Câu 24: Đâu là một ví dụ về bài toán tìm kiếm trong thực tế?

25 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 18: Thực hành dữ liệu mảng một chiều và hai chiều

Tags: Bộ đề 09

Câu 25: Khi triển khai tìm kiếm nhị phân, biến 'mid' thường được tính như thế nào để tránh tràn số với các chỉ số (index) lớn?

26 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 18: Thực hành dữ liệu mảng một chiều và hai chiều

Tags: Bộ đề 09

Câu 26: Thuật toán tìm kiếm nào không yêu cầu dữ liệu đầu vào phải được sắp xếp?

27 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 18: Thực hành dữ liệu mảng một chiều và hai chiều

Tags: Bộ đề 09

Câu 27: Một thư viện có hệ thống quản lý sách bằng máy tính. Mỗi sách có một mã ISBN duy nhất. Thủ thư thường xuyên cần tra cứu thông tin sách dựa trên mã ISBN. Số lượng sách rất lớn (hàng triệu cuốn). Hệ thống cần trả về kết quả tra cứu cực nhanh. Thuật toán tìm kiếm nào (kết hợp với cấu trúc dữ liệu phù hợp) là lựa chọn tốt nhất?

28 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 18: Thực hành dữ liệu mảng một chiều và hai chiều

Tags: Bộ đề 09

Câu 28: Khi tìm kiếm nhị phân trên một danh sách đã sắp xếp tăng dần, nếu phần tử tại vị trí 'mid' lớn hơn phần tử cần tìm, thì ta biết chắc chắn rằng phần tử cần tìm (nếu có) sẽ nằm ở đâu?

29 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 18: Thực hành dữ liệu mảng một chiều và hai chiều

Tags: Bộ đề 09

Câu 29: Giả sử bạn có một mảng gồm N phần tử. Bạn muốn tìm tất cả các vị trí mà một giá trị X xuất hiện trong mảng đó. Thuật toán tìm kiếm tuần tự có ưu điểm gì so với tìm kiếm nhị phân trong trường hợp này (nếu mảng không chắc chắn đã được sắp xếp và giá trị X có thể lặp lại)?

30 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 18: Thực hành dữ liệu mảng một chiều và hai chiều

Tags: Bộ đề 09

Câu 30: Một hệ thống cần thường xuyên thực hiện cả việc thêm/xóa các phần tử và tìm kiếm nhanh chóng. Cấu trúc dữ liệu nào sau đây, khi kết hợp với thuật toán tìm kiếm phù hợp, có thể cân bằng tốt giữa hiệu quả của các thao tác này?

0

Bạn đã sẵn sàng chưa? 45 phút làm bài bắt đầu!!!

Bạn đã hết giờ làm bài! Xem kết quả các câu hỏi đã làm nhé!!!


Trắc nghiệm Tin học 11 Kết nối tri thức Bài 18: Thực hành dữ liệu mảng một chiều và hai chiều

Trắc nghiệm Tin học 11 Kết nối tri thức Bài 18: Thực hành dữ liệu mảng một chiều và hai chiều - Đề 10

Trắc nghiệm Tin học 11 Kết nối tri thức Bài 18: Thực hành dữ liệu mảng một chiều và hai chiều - Đề 10 được xây dựng với nhiều câu hỏi chất lượng, sát với nội dung chương trình học, giúp bạn dễ dàng ôn tập và kiểm tra kiến thức hiệu quả. Hãy cùng bắt đầu làm bài tập trắc nghiệm ngay để nâng cao hiểu biết và chuẩn bị tốt cho kỳ thi sắp tới!

Câu 1: Trong Python, cấu trúc dữ liệu nào thường được sử dụng để biểu diễn mảng một chiều?

  • A. Tuple
  • B. List
  • C. Dictionary
  • D. Set

Câu 2: Cho danh sách (mảng một chiều) `diem_so = [7.5, 8.0, 6.5, 9.0, 7.0]`. Để truy cập vào điểm số 6.5, bạn sẽ sử dụng chỉ số nào?

  • A. diem_so[2.5]
  • B. diem_so[6.5]
  • C. diem_so[2]
  • D. diem_so[3]

Câu 3: Vẫn với danh sách `diem_so = [7.5, 8.0, 6.5, 9.0, 7.0]`, chỉ số âm `-1` sẽ truy cập vào phần tử nào?

  • A. 7.5 (phần tử đầu tiên)
  • B. 8.0 (phần tử thứ hai)
  • C. 6.5 (phần tử thứ ba)
  • D. 7.0 (phần tử cuối cùng)

Câu 4: Bạn cần tính tổng tất cả các phần tử trong một danh sách `numbers = [10, 20, 30, 40]`. Đoạn mã Python nào sau đây thực hiện đúng việc này?

  • A. total = 0
    for num in numbers:
    total += num
  • B. total = numbers.sum()
  • C. total = sum(numbers[0] + numbers[-1])
  • D. total = numbers[0] + numbers[1] + numbers[2] + numbers[3]

Câu 5: Cho danh sách `nhiet_do = [25.5, 26.0, 24.8, 27.1, 25.9]`. Bạn muốn tìm nhiệt độ cao nhất trong danh sách này. Hàm nào của Python có thể giúp bạn thực hiện nhanh chóng?

  • A. avg()
  • B. sum()
  • C. max()
  • D. min()

Câu 6: Một chương trình cần đọc một danh sách các số nguyên từ người dùng, sau đó in ra chỉ những số chẵn. Cấu trúc điều khiển lặp nào phù hợp nhất để duyệt qua danh sách và kiểm tra từng phần tử?

  • A. Vòng lặp `for`
  • B. Vòng lặp `while` không điều kiện
  • C. Sử dụng hàm `filter()` mà không cần lặp
  • D. Sử dụng đệ quy

Câu 7: Bạn có một danh sách `diem_danh = [True, True, False, True, False]`. Làm thế nào để đếm số lần học sinh có mặt (giá trị `True`) trong danh sách này?

  • A. diem_danh.count(False)
  • B. diem_danh.count(True)
  • C. sum(diem_danh)
  • D. len(diem_danh)

Câu 8: Để biểu diễn một bảng tính đơn giản với các hàng và cột dữ liệu, cấu trúc dữ liệu nào trong Python (sử dụng list) là phù hợp nhất?

  • A. Một danh sách các tuple
  • B. Một danh sách các dictionary
  • C. Một danh sách các danh sách (mảng hai chiều)
  • D. Một danh sách các set

Câu 9: Cho mảng hai chiều `ma_tran = [[1, 2, 3], [4, 5, 6], [7, 8, 9]]`. Để truy cập vào phần tử có giá trị 5, bạn sử dụng chỉ số nào?

  • A. ma_tran[1][1]
  • B. ma_tran[5]
  • C. ma_tran[2][2]
  • D. ma_tran[1, 1]

Câu 10: Để duyệt qua tất cả các phần tử trong một mảng hai chiều `bang_so = [[1, 2], [3, 4]]`, bạn cần sử dụng cấu trúc lặp nào?

  • A. Chỉ một vòng lặp `for` đơn giản.
  • B. Một vòng lặp `while` duy nhất.
  • C. Sử dụng hàm `map()`.
  • D. Các vòng lặp lồng nhau (nested loops).

Câu 11: Cho mảng hai chiều `diem_lop = [[7, 8, 9], [6, 7, 8], [8, 9, 10]]` (mỗi hàng là điểm của một học sinh cho 3 bài kiểm tra). Để tính tổng điểm bài kiểm tra thứ hai (cột thứ 1) của tất cả học sinh, bạn sẽ truy cập các phần tử như thế nào trong vòng lặp?

  • A. Duyệt qua từng hàng `row` trong `diem_lop` và lấy `row[1]` để cộng dồn.
  • B. Duyệt qua từng cột `col` và lấy `diem_lop[col][1]` để cộng dồn.
  • C. Duyệt qua từng phần tử `element` và kiểm tra chỉ số cột của nó.
  • D. Chỉ cần lấy `diem_lop[0][1] + diem_lop[1][1] + diem_lop[2][1]`.

Câu 12: Khi làm việc với mảng một chiều trong Python, việc truy cập một phần tử bằng chỉ số vượt quá phạm vi hợp lệ (ví dụ: `my_list[len(my_list)]`) sẽ gây ra lỗi gì?

  • A. KeyError
  • B. IndexError
  • C. TypeError
  • D. ValueError

Câu 13: Một ứng dụng quản lý sách trong thư viện cần lưu trữ tên sách. Cấu trúc mảng một chiều có phù hợp để lưu trữ danh sách các tên sách không? Vì sao?

  • A. Có, vì tên sách là các mục dữ liệu độc lập và có thể được lưu trữ theo thứ tự.
  • B. Không, vì mảng một chiều chỉ lưu trữ số.
  • C. Không, vì mỗi cuốn sách có nhiều thông tin (tác giả, năm xuất bản) cần lưu trữ cùng.
  • D. Có, nhưng chỉ khi số lượng sách là cố định.

Câu 14: Một trò chơi caro trên máy tính cần biểu diễn bàn cờ 3x3. Cấu trúc dữ liệu mảng hai chiều nào sau đây là cách biểu diễn hợp lý nhất cho bàn cờ này?

  • A. `ban_co = [0, 0, 0, 0, 0, 0, 0, 0, 0]`
  • B. `ban_co = {(0,0):0, (0,1):0, ... (2,2):0}`
  • C. `ban_co = [[0, 0, 0], [0, 0, 0], [0, 0, 0]]`
  • D. `ban_co = set([(0,0), (0,1), ... (2,2)])`

Câu 15: Khi sử dụng mảng hai chiều `bang = [[10, 20], [30, 40]]`, biểu thức `bang[0]` sẽ trả về kết quả là gì?

  • A. 10 (phần tử đầu tiên của hàng đầu tiên)
  • B. [10, 20] (hàng đầu tiên)
  • C. 30 (phần tử đầu tiên của hàng thứ hai)
  • D. [[10, 20], [30, 40]] (toàn bộ mảng)

Câu 16: Cho đoạn mã Python sau: `data = [1, 2, 3, 4, 5]
result = data[1:4]`. Giá trị của biến `result` sau khi thực thi đoạn mã là gì?

  • A. [1, 2, 3, 4]
  • B. [2, 3, 4, 5]
  • C. [2, 3, 4]
  • D. [1, 2, 3]

Câu 17: Bạn cần cập nhật giá trị tại vị trí hàng 1, cột 2 (chỉ số bắt đầu từ 0) trong mảng hai chiều `matrix = [[1, 2, 3], [4, 5, 6], [7, 8, 9]]` thành giá trị 100. Lệnh nào sau đây thực hiện đúng?

  • A. matrix[2][1] = 100
  • B. matrix[1][2] = 100
  • C. matrix[1, 2] = 100
  • D. matrix[2, 1] = 100

Câu 18: Khi nào thì việc sử dụng mảng hai chiều trở nên hữu ích và hiệu quả hơn mảng một chiều?

  • A. Khi dữ liệu cần lưu trữ là một chuỗi ký tự dài.
  • B. Khi dữ liệu chỉ bao gồm các giá trị số nguyên.
  • C. Khi thứ tự của các phần tử là quan trọng.
  • D. Khi dữ liệu có cấu trúc dạng bảng hoặc lưới, có mối quan hệ hàng-cột rõ ràng.

Câu 19: Giả sử bạn có một mảng hai chiều `scores = [[80, 90, 75], [65, 70, 85], [95, 88, 92]]` biểu diễn điểm của 3 học sinh (hàng) cho 3 môn học (cột). Làm thế nào để tính điểm trung bình của học sinh thứ hai (hàng có chỉ số 1)?

  • A. Tính tổng các phần tử trong `scores[1]` và chia cho số lượng phần tử trong `scores[1]`.
  • B. Tính tổng tất cả các phần tử trong `scores` và chia cho tổng số học sinh.
  • C. Chỉ cần lấy `scores[1][1]` vì đó là điểm trung bình.
  • D. Sử dụng hàm `avg(scores[1])` trực tiếp.

Câu 20: Cho mảng hai chiều `khoi_luong = [[50, 55, 60], [45, 52, 58], [62, 68, 70]]`. Đoạn mã nào sau đây tìm được giá trị lớn nhất trong toàn bộ mảng?

  • A. max_val = max(khoi_luong)
  • B. max_val = max(max(khoi_luong[0]), max(khoi_luong[1]), max(khoi_luong[2]))
  • C. max_val = -float("inf")
    for row in khoi_luong:
    for element in row:
    if element > max_val:
    max_val = element
  • D. max_val = khoi_luong[0][0]
    for i in range(len(khoi_luong)):
    for j in range(len(khoi_luong[i])):
    max_val = max(max_val, khoi_luong[i][j])

Câu 21: Một danh sách `data = [10, 5, 20, 15]`. Sau khi thực hiện lệnh `data.sort()`, nội dung của danh sách `data` sẽ là gì?

  • A. [5, 10, 15, 20]
  • B. [10, 5, 20, 15]
  • C. [20, 15, 10, 5]
  • D. [10, 20, 15, 5]

Câu 22: Cho đoạn mã: `my_list = [1, 2, 3]
my_list.append(4)
my_list.insert(0, 0)`. Nội dung cuối cùng của `my_list` là gì?

  • A. [1, 2, 3, 4, 0]
  • B. [0, 1, 2, 3]
  • C. [1, 2, 3, 0, 4]
  • D. [0, 1, 2, 3, 4]

Câu 23: Để xóa phần tử cuối cùng ra khỏi danh sách `items = ["apple", "banana", "cherry"]` và lấy giá trị của nó, bạn sử dụng phương thức nào?

  • A. items.remove("cherry")
  • B. del items[-1]
  • C. items.pop()
  • D. items.clear()

Câu 24: Bạn cần viết chương trình để quản lý lịch trình các chuyến bay hàng ngày của một hãng hàng không, với thông tin về giờ đi và giờ đến cho mỗi chuyến. Cấu trúc dữ liệu mảng nào phù hợp nhất để lưu trữ dữ liệu này?

  • A. Mảng một chiều lưu trữ xen kẽ giờ đi và giờ đến.
  • B. Mảng hai chiều, trong đó mỗi hàng là một chuyến bay và các cột là giờ đi, giờ đến.
  • C. Một danh sách các dictionary, mỗi dictionary là thông tin một chuyến bay.
  • D. Một set các cặp (giờ đi, giờ đến).

Câu 25: Cho mảng hai chiều `grid = [[1, 0, 1], [0, 1, 0], [1, 0, 1]]`. Đoạn mã nào sau đây sẽ in ra các phần tử trên đường chéo chính (1, 1, 1)?

  • A. for i in range(len(grid)):
    print(grid[i][i])
  • B. for i in range(len(grid)):
    print(grid[0][i])
  • C. for row in grid:
    print(row[0])
  • D. print(grid[0][0], grid[1][1], grid[2][2])

Câu 26: Giả sử bạn cần lưu trữ ma trận kề của một đồ thị có 5 đỉnh. Ma trận kề là một ma trận vuông N x N (ở đây N=5), trong đó phần tử ở hàng i, cột j cho biết có cạnh nối từ đỉnh i đến đỉnh j hay không. Cấu trúc dữ liệu nào phù hợp nhất?

  • A. Một danh sách 5 phần tử.
  • B. Một dictionary với các cặp khóa-giá trị.
  • C. Một mảng hai chiều 5x5.
  • D. Một set các cặp đỉnh (i, j).

Câu 27: Khi xử lý mảng hai chiều, việc sử dụng vòng lặp lồng nhau giúp bạn làm gì?

  • A. Chỉ duyệt qua các phần tử ở hàng đầu tiên.
  • B. Chỉ duyệt qua các phần tử ở cột cuối cùng.
  • C. Thực hiện thao tác trên toàn bộ mảng cùng một lúc mà không cần truy cập riêng lẻ.
  • D. Truy cập và xử lý từng phần tử riêng lẻ trong mảng dựa trên chỉ số hàng và cột của nó.

Câu 28: Bạn có một danh sách `so_lieu = [10, 12, 10, 15, 12, 10]`. Bạn muốn tìm số lần xuất hiện của giá trị 10 trong danh sách này. Lệnh nào sau đây thực hiện đúng?

  • A. count_10 = so_lieu.count(10)
  • B. count_10 = so_lieu.index(10)
  • C. count_10 = len(so_lieu) - so_lieu.count(12)
  • D. count_10 = sum(so_lieu == 10)

Câu 29: Cho đoạn mã: `matrix = [[1, 2], [3, 4]]
for row in matrix:
for element in row:
print(element, end=" ")`. Kết quả in ra màn hình sẽ là gì?

  • A. 1 3 2 4
  • B. 1 2 3 4
  • C. 1
    2
    3
    4
  • D. [[1, 2], [3, 4]]

Câu 30: Để tính tổng các phần tử trên một cột cụ thể (ví dụ cột có chỉ số `j`) của mảng hai chiều `my_matrix`, bạn cần lặp qua các ______ và truy cập phần tử tại chỉ số cột `j`.

  • A. hàng (rows)
  • B. cột (columns)
  • C. từng phần tử (elements)
  • D. chỉ số (indices)

1 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 18: Thực hành dữ liệu mảng một chiều và hai chiều

Tags: Bộ đề 10

Câu 1: Trong Python, cấu trúc dữ liệu nào thường được sử dụng để biểu diễn mảng một chiều?

2 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 18: Thực hành dữ liệu mảng một chiều và hai chiều

Tags: Bộ đề 10

Câu 2: Cho danh sách (mảng một chiều) `diem_so = [7.5, 8.0, 6.5, 9.0, 7.0]`. Để truy cập vào điểm số 6.5, bạn sẽ sử dụng chỉ số nào?

3 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 18: Thực hành dữ liệu mảng một chiều và hai chiều

Tags: Bộ đề 10

Câu 3: Vẫn với danh sách `diem_so = [7.5, 8.0, 6.5, 9.0, 7.0]`, chỉ số âm `-1` sẽ truy cập vào phần tử nào?

4 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 18: Thực hành dữ liệu mảng một chiều và hai chiều

Tags: Bộ đề 10

Câu 4: Bạn cần tính tổng tất cả các phần tử trong một danh sách `numbers = [10, 20, 30, 40]`. Đoạn mã Python nào sau đây thực hiện đúng việc này?

5 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 18: Thực hành dữ liệu mảng một chiều và hai chiều

Tags: Bộ đề 10

Câu 5: Cho danh sách `nhiet_do = [25.5, 26.0, 24.8, 27.1, 25.9]`. Bạn muốn tìm nhiệt độ cao nhất trong danh sách này. Hàm nào của Python có thể giúp bạn thực hiện nhanh chóng?

6 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 18: Thực hành dữ liệu mảng một chiều và hai chiều

Tags: Bộ đề 10

Câu 6: Một chương trình cần đọc một danh sách các số nguyên từ người dùng, sau đó in ra chỉ những số chẵn. Cấu trúc điều khiển lặp nào phù hợp nhất để duyệt qua danh sách và kiểm tra từng phần tử?

7 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 18: Thực hành dữ liệu mảng một chiều và hai chiều

Tags: Bộ đề 10

Câu 7: Bạn có một danh sách `diem_danh = [True, True, False, True, False]`. Làm thế nào để đếm số lần học sinh có mặt (giá trị `True`) trong danh sách này?

8 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 18: Thực hành dữ liệu mảng một chiều và hai chiều

Tags: Bộ đề 10

Câu 8: Để biểu diễn một bảng tính đơn giản với các hàng và cột dữ liệu, cấu trúc dữ liệu nào trong Python (sử dụng list) là phù hợp nhất?

9 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 18: Thực hành dữ liệu mảng một chiều và hai chiều

Tags: Bộ đề 10

Câu 9: Cho mảng hai chiều `ma_tran = [[1, 2, 3], [4, 5, 6], [7, 8, 9]]`. Để truy cập vào phần tử có giá trị 5, bạn sử dụng chỉ số nào?

10 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 18: Thực hành dữ liệu mảng một chiều và hai chiều

Tags: Bộ đề 10

Câu 10: Để duyệt qua *tất cả* các phần tử trong một mảng hai chiều `bang_so = [[1, 2], [3, 4]]`, bạn cần sử dụng cấu trúc lặp nào?

11 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 18: Thực hành dữ liệu mảng một chiều và hai chiều

Tags: Bộ đề 10

Câu 11: Cho mảng hai chiều `diem_lop = [[7, 8, 9], [6, 7, 8], [8, 9, 10]]` (mỗi hàng là điểm của một học sinh cho 3 bài kiểm tra). Để tính tổng điểm bài kiểm tra thứ hai (cột thứ 1) của tất cả học sinh, bạn sẽ truy cập các phần tử như thế nào trong vòng lặp?

12 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 18: Thực hành dữ liệu mảng một chiều và hai chiều

Tags: Bộ đề 10

Câu 12: Khi làm việc với mảng một chiều trong Python, việc truy cập một phần tử bằng chỉ số vượt quá phạm vi hợp lệ (ví dụ: `my_list[len(my_list)]`) sẽ gây ra lỗi gì?

13 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 18: Thực hành dữ liệu mảng một chiều và hai chiều

Tags: Bộ đề 10

Câu 13: Một ứng dụng quản lý sách trong thư viện cần lưu trữ tên sách. Cấu trúc mảng một chiều có phù hợp để lưu trữ danh sách các tên sách không? Vì sao?

14 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 18: Thực hành dữ liệu mảng một chiều và hai chiều

Tags: Bộ đề 10

Câu 14: Một trò chơi caro trên máy tính cần biểu diễn bàn cờ 3x3. Cấu trúc dữ liệu mảng hai chiều nào sau đây là cách biểu diễn hợp lý nhất cho bàn cờ này?

15 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 18: Thực hành dữ liệu mảng một chiều và hai chiều

Tags: Bộ đề 10

Câu 15: Khi sử dụng mảng hai chiều `bang = [[10, 20], [30, 40]]`, biểu thức `bang[0]` sẽ trả về kết quả là gì?

16 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 18: Thực hành dữ liệu mảng một chiều và hai chiều

Tags: Bộ đề 10

Câu 16: Cho đoạn mã Python sau: `data = [1, 2, 3, 4, 5]
result = data[1:4]`. Giá trị của biến `result` sau khi thực thi đoạn mã là gì?

17 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 18: Thực hành dữ liệu mảng một chiều và hai chiều

Tags: Bộ đề 10

Câu 17: Bạn cần cập nhật giá trị tại vị trí hàng 1, cột 2 (chỉ số bắt đầu từ 0) trong mảng hai chiều `matrix = [[1, 2, 3], [4, 5, 6], [7, 8, 9]]` thành giá trị 100. Lệnh nào sau đây thực hiện đúng?

18 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 18: Thực hành dữ liệu mảng một chiều và hai chiều

Tags: Bộ đề 10

Câu 18: Khi nào thì việc sử dụng mảng hai chiều trở nên hữu ích và hiệu quả hơn mảng một chiều?

19 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 18: Thực hành dữ liệu mảng một chiều và hai chiều

Tags: Bộ đề 10

Câu 19: Giả sử bạn có một mảng hai chiều `scores = [[80, 90, 75], [65, 70, 85], [95, 88, 92]]` biểu diễn điểm của 3 học sinh (hàng) cho 3 môn học (cột). Làm thế nào để tính điểm trung bình của học sinh thứ hai (hàng có chỉ số 1)?

20 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 18: Thực hành dữ liệu mảng một chiều và hai chiều

Tags: Bộ đề 10

Câu 20: Cho mảng hai chiều `khoi_luong = [[50, 55, 60], [45, 52, 58], [62, 68, 70]]`. Đoạn mã nào sau đây tìm được giá trị lớn nhất trong toàn bộ mảng?

21 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 18: Thực hành dữ liệu mảng một chiều và hai chiều

Tags: Bộ đề 10

Câu 21: Một danh sách `data = [10, 5, 20, 15]`. Sau khi thực hiện lệnh `data.sort()`, nội dung của danh sách `data` sẽ là gì?

22 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 18: Thực hành dữ liệu mảng một chiều và hai chiều

Tags: Bộ đề 10

Câu 22: Cho đoạn mã: `my_list = [1, 2, 3]
my_list.append(4)
my_list.insert(0, 0)`. Nội dung cuối cùng của `my_list` là gì?

23 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 18: Thực hành dữ liệu mảng một chiều và hai chiều

Tags: Bộ đề 10

Câu 23: Để xóa phần tử cuối cùng ra khỏi danh sách `items = ['apple', 'banana', 'cherry']` và lấy giá trị của nó, bạn sử dụng phương thức nào?

24 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 18: Thực hành dữ liệu mảng một chiều và hai chiều

Tags: Bộ đề 10

Câu 24: Bạn cần viết chương trình để quản lý lịch trình các chuyến bay hàng ngày của một hãng hàng không, với thông tin về giờ đi và giờ đến cho mỗi chuyến. Cấu trúc dữ liệu mảng nào phù hợp nhất để lưu trữ dữ liệu này?

25 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 18: Thực hành dữ liệu mảng một chiều và hai chiều

Tags: Bộ đề 10

Câu 25: Cho mảng hai chiều `grid = [[1, 0, 1], [0, 1, 0], [1, 0, 1]]`. Đoạn mã nào sau đây sẽ in ra các phần tử trên đường chéo chính (1, 1, 1)?

26 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 18: Thực hành dữ liệu mảng một chiều và hai chiều

Tags: Bộ đề 10

Câu 26: Giả sử bạn cần lưu trữ ma trận kề của một đồ thị có 5 đỉnh. Ma trận kề là một ma trận vuông N x N (ở đây N=5), trong đó phần tử ở hàng i, cột j cho biết có cạnh nối từ đỉnh i đến đỉnh j hay không. Cấu trúc dữ liệu nào phù hợp nhất?

27 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 18: Thực hành dữ liệu mảng một chiều và hai chiều

Tags: Bộ đề 10

Câu 27: Khi xử lý mảng hai chiều, việc sử dụng vòng lặp lồng nhau giúp bạn làm gì?

28 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 18: Thực hành dữ liệu mảng một chiều và hai chiều

Tags: Bộ đề 10

Câu 28: Bạn có một danh sách `so_lieu = [10, 12, 10, 15, 12, 10]`. Bạn muốn tìm số lần xuất hiện của giá trị 10 trong danh sách này. Lệnh nào sau đây thực hiện đúng?

29 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 18: Thực hành dữ liệu mảng một chiều và hai chiều

Tags: Bộ đề 10

Câu 29: Cho đoạn mã: `matrix = [[1, 2], [3, 4]]
for row in matrix:
for element in row:
print(element, end=' ')`. Kết quả in ra màn hình sẽ là gì?

30 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 18: Thực hành dữ liệu mảng một chiều và hai chiều

Tags: Bộ đề 10

Câu 30: Để tính tổng các phần tử trên một cột cụ thể (ví dụ cột có chỉ số `j`) của mảng hai chiều `my_matrix`, bạn cần lặp qua các ______ và truy cập phần tử tại chỉ số cột `j`.

Viết một bình luận