15+ Đề Trắc nghiệm Tin học 11 Kết nối tri thức Bài 20: Thực hành bài toán tìm kiếm

Đề 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 20: Thực hành bài toán tìm kiếm

Trắc nghiệm Tin học 11 Kết nối tri thức Bài 20: Thực hành bài toán tìm kiếm - Đề 01

Trắc nghiệm Tin học 11 Kết nối tri thức Bài 20: Thực hành bài toán tìm kiếm - Đề 01 bao gồm nhiều câu hỏi hay, bám sát chương trình. Cùng làm bài tập trắc nghiệm ngay.

Câu 1: Trong Python, khi mở một tệp văn bản ở chế độ "r", điều gì xảy ra nếu tệp được chỉ định không tồn tại?

  • A. Tệp sẽ được tạo mới và mở để đọc.
  • B. Tệp sẽ được mở ở chế độ ghi để người dùng tạo nội dung.
  • C. Chương trình sẽ tiếp tục chạy nhưng không thể đọc dữ liệu.
  • D. Python sẽ báo lỗi FileNotFoundError và dừng chương trình.

Câu 2: Cho đoạn mã Python: `f = open("du_lieu.txt", "w", encoding="utf-8")`. Mục đích của tham số `encoding="utf-8"` là gì?

  • A. Để mã hóa toàn bộ chương trình Python sang UTF-8.
  • B. Để tăng tốc độ đọc và ghi tệp.
  • C. Để đảm bảo tệp văn bản hỗ trợ các ký tự Unicode, ví dụ tiếng Việt.
  • D. Để giới hạn kích thước tệp văn bản được tạo ra.

Câu 3: Phương thức `readlines()` trả về kiểu dữ liệu nào khi đọc từ một tệp văn bản trong Python?

  • A. Một danh sách (list) các chuỗi, mỗi chuỗi là một dòng trong tệp.
  • B. Một chuỗi duy nhất chứa toàn bộ nội dung của tệp.
  • C. Một số nguyên cho biết số lượng dòng trong tệp.
  • D. Một đối tượng tệp để tiếp tục đọc dữ liệu.

Câu 4: Lệnh nào sau đây trong Python được sử dụng để ghi một chuỗi vào tệp văn bản đã mở?

  • A. print()
  • B. f.write()
  • C. f.read()
  • D. f.open()

Câu 5: Tại sao việc đóng tệp sau khi hoàn tất các thao tác đọc/ghi là một việc làm quan trọng?

  • A. Để tăng tốc độ xử lý của chương trình.
  • B. Để bảo vệ tệp khỏi bị virus.
  • C. Để giải phóng tài nguyên hệ thống và đảm bảo dữ liệu đã ghi được lưu trữ hoàn chỉnh.
  • D. Việc đóng tệp không thực sự quan trọng, chương trình vẫn hoạt động bình thường.

Câu 6: Cho danh sách tên học sinh đã được sắp xếp theo thứ tự bảng chữ cái. Thuật toán tìm kiếm nào hiệu quả nhất để tìm kiếm một tên học sinh cụ thể trong danh sách này?

  • A. Tìm kiếm tuần tự (Sequential Search)
  • B. Tìm kiếm nhị phân (Binary Search)
  • C. Tìm kiếm tuyến tính (Linear Search)
  • D. Cả ba thuật toán trên đều có hiệu quả như nhau.

Câu 7: Trong thuật toán tìm kiếm tuần tự, trường hợp tốt nhất về số lần so sánh xảy ra khi nào?

  • A. Phần tử cần tìm nằm ở vị trí đầu tiên của danh sách.
  • B. Phần tử cần tìm nằm ở vị trí cuối cùng của danh sách.
  • C. Phần tử cần tìm nằm ở vị trí giữa danh sách.
  • D. Phần tử cần tìm không có trong danh sách.

Câu 8: Điều kiện tiên quyết để có thể áp dụng thuật toán tìm kiếm nhị phân là gì?

  • A. Dữ liệu phải là số nguyên.
  • B. Dữ liệu phải có kích thước nhỏ.
  • C. Dữ liệu phải được sắp xếp theo thứ tự.
  • D. Không có điều kiện tiên quyết nào.

Câu 9: Giả sử bạn có một danh sách 1024 phần tử đã được sắp xếp. Trong trường hợp xấu nhất, thuật toán tìm kiếm nhị phân cần thực hiện tối đa bao nhiêu phép so sánh để tìm kiếm một phần tử?

  • A. 1024
  • B. 512
  • C. 100
  • D. 10

Câu 10: Trong bài toán tìm kiếm điểm học sinh từ tệp, nếu sử dụng thuật toán tìm kiếm nhị phân, tệp dữ liệu cần được tổ chức như thế nào?

  • A. Không cần tổ chức đặc biệt.
  • B. Dữ liệu cần được sắp xếp theo thứ tự (ví dụ, tên học sinh theo bảng chữ cái).
  • C. Dữ liệu cần được mã hóa thành số nhị phân.
  • D. Dữ liệu cần được chia thành các tệp nhỏ hơn.

Câu 11: So sánh ưu điểm chính của thuật toán tìm kiếm nhị phân so với tìm kiếm tuần tự?

  • A. Tìm kiếm nhị phân dễ cài đặt hơn.
  • B. Tìm kiếm nhị phân có thể áp dụng cho mọi loại dữ liệu.
  • C. Tìm kiếm nhị phân nhanh hơn đáng kể trên dữ liệu đã được sắp xếp, đặc biệt với dữ liệu lớn.
  • D. Tìm kiếm nhị phân không yêu cầu dữ liệu phải được sắp xếp.

Câu 12: Khi đọc dữ liệu điểm học sinh từ tệp, làm thế nào để chương trình có thể bỏ qua dòng tiêu đề (ví dụ: "Tên HS, Điểm") nếu có?

  • A. Sử dụng hàm `skip_header()` trước khi đọc tệp.
  • B. Đọc dòng đầu tiên bằng `readline()` và bỏ qua nó trước khi đọc các dòng dữ liệu chính.
  • C. Đặt con trỏ tệp đến dòng thứ hai.
  • D. Chỉnh sửa trực tiếp tệp văn bản để xóa dòng tiêu đề.

Câu 13: Trong Python, giả sử bạn đã đọc một dòng dữ liệu từ tệp điểm học sinh và lưu vào biến `line`. Dòng lệnh nào sau đây tách dòng này thành danh sách các phần tử, giả sử các phần tử được phân tách bởi dấu phẩy?

  • A. line.separate(",")
  • B. line.partition(",")
  • C. line.split(",")
  • D. line.cut(",")

Câu 14: Xét bài toán tìm kiếm thông tin sản phẩm trong một siêu thị trực tuyến. Dữ liệu sản phẩm (tên, giá, mô tả,...) có thể được lưu trữ ở đâu để chương trình tìm kiếm có thể truy cập?

  • A. Trong bộ nhớ RAM của máy chủ web.
  • B. Trong mã nguồn chương trình Python.
  • C. Trong các biến toàn cục của chương trình.
  • D. Trong cơ sở dữ liệu (Database).

Câu 15: Khi thực hiện tìm kiếm gần đúng (ví dụ, tìm kiếm tên sản phẩm có thể sai chính tả), thuật toán tìm kiếm nhị phân có còn phù hợp không?

  • A. Có, tìm kiếm nhị phân vẫn hoạt động tốt với tìm kiếm gần đúng.
  • B. Không, tìm kiếm nhị phân yêu cầu so sánh chính xác và không phù hợp cho tìm kiếm gần đúng.
  • C. Chỉ cần điều chỉnh một chút thuật toán tìm kiếm nhị phân là có thể dùng cho tìm kiếm gần đúng.
  • D. Tìm kiếm nhị phân chỉ phù hợp với số, không phù hợp với chuỗi văn bản.

Câu 16: Độ phức tạp thời gian của thuật toán tìm kiếm tuần tự trong trường hợp xấu nhất là O(n), trong đó n là số phần tử. Điều này có nghĩa là gì?

  • A. Thời gian thực hiện thuật toán không đổi dù số phần tử tăng lên.
  • B. Thời gian thực hiện thuật toán tăng theo logarit của số phần tử.
  • C. Trong trường hợp xấu nhất, thời gian thực hiện thuật toán tỉ lệ thuận với số lượng phần tử cần tìm kiếm.
  • D. Thời gian thực hiện thuật toán giảm khi số phần tử tăng lên.

Câu 17: Bạn cần viết chương trình Python để tìm kiếm điểm của một học sinh theo tên từ tệp "diem_hs.txt". Tệp này chứa dữ liệu dạng "Tên học sinh,Điểm". Bạn nên sử dụng cấu trúc dữ liệu nào để lưu trữ dữ liệu đọc từ tệp để việc tìm kiếm tên được dễ dàng?

  • A. Danh sách (list) đơn.
  • B. Bộ (tuple).
  • C. Tập hợp (set).
  • D. Từ điển (dictionary) với tên học sinh là khóa và điểm là giá trị.

Câu 18: Cho đoạn mã Python:
```python
f = open("data.txt", "r")
for line in f:
print(line.strip())
f.close()
```
Đoạn mã này thực hiện công việc gì?

  • A. Ghi nội dung vào tệp "data.txt".
  • B. Đọc từng dòng từ tệp "data.txt" và in ra màn hình.
  • C. Xóa tệp "data.txt".
  • D. Kiểm tra xem tệp "data.txt" có tồn tại hay không.

Câu 19: Trong chương trình tìm kiếm điểm học sinh, khi người dùng nhập tên học sinh cần tìm, bước tiếp theo quan trọng nhất là gì?

  • A. Hiển thị thông báo chào mừng.
  • B. Mở tệp dữ liệu điểm học sinh.
  • C. Thực hiện tìm kiếm tên học sinh trong danh sách dữ liệu.
  • D. Đóng tệp dữ liệu điểm học sinh.

Câu 20: Nếu bạn muốn tìm kiếm tất cả học sinh có điểm lớn hơn 8.0 từ tệp "diem_hs.txt", bạn sẽ sử dụng thuật toán tìm kiếm nào?

  • A. Tìm kiếm tuần tự (Sequential Search) để duyệt qua tất cả học sinh và kiểm tra điểm.
  • B. Tìm kiếm nhị phân (Binary Search) vì nó nhanh hơn.
  • C. Cả tìm kiếm tuần tự và nhị phân đều phù hợp.
  • D. Không thuật toán tìm kiếm nào phù hợp, cần thuật toán khác.

Câu 21: Trong quá trình đọc tệp dữ liệu điểm học sinh, có thể xảy ra lỗi gì liên quan đến định dạng dữ liệu trong tệp?

  • A. Lỗi do tên tệp quá dài.
  • B. Lỗi do thiếu bộ nhớ RAM.
  • C. Lỗi do phiên bản Python cũ.
  • D. Lỗi do dòng dữ liệu không đúng định dạng mong đợi (ví dụ, thiếu dấu phân tách, điểm không phải số).

Câu 22: Dạng tệp nào sau đây thường được sử dụng để lưu trữ dữ liệu dạng bảng (ví dụ, dữ liệu điểm học sinh với cột tên và cột điểm) một cách phổ biến?

  • A. Tệp .EXE
  • B. Tệp .CSV
  • C. Tệp .PY
  • D. Tệp .HTML

Câu 23: Để thực hiện tìm kiếm tuần tự trong Python trên một danh sách, cấu trúc lặp nào thường được sử dụng?

  • A. Vòng lặp `for`
  • B. Vòng lặp `while`
  • C. Cấu trúc rẽ nhánh `if-else`
  • D. Hàm đệ quy

Câu 24: Trong thuật toán tìm kiếm nhị phân, nếu giá trị cần tìm nhỏ hơn giá trị ở vị trí giữa, phạm vi tìm kiếm sẽ được thu hẹp như thế nào?

  • A. Phạm vi tìm kiếm được mở rộng ra cả hai phía.
  • B. Phạm vi tìm kiếm được thu hẹp lại nửa đầu danh sách.
  • C. Phạm vi tìm kiếm được thu hẹp lại nửa cuối danh sách.
  • D. Phạm vi tìm kiếm không thay đổi.

Câu 25: Khi viết chương trình tìm kiếm điểm học sinh, việc kiểm tra xem tệp dữ liệu có tồn tại trước khi mở tệp là một bước thuộc về:

  • A. Tối ưu hóa hiệu suất.
  • B. Tăng tính thẩm mỹ của giao diện.
  • C. Xử lý lỗi và đảm bảo tínhRobustness (mạnh mẽ, ổn định) của chương trình.
  • D. Giảm dung lượng mã nguồn.

Câu 26: Giả sử bạn muốn cải tiến thuật toán tìm kiếm tuần tự để khi tìm thấy phần tử cần tìm, chương trình sẽ dừng lại ngay lập tức thay vì tiếp tục duyệt hết danh sách. Bạn cần sử dụng lệnh nào trong vòng lặp?

  • A. continue
  • B. break
  • C. pass
  • D. return

Câu 27: Trong quá trình phát triển chương trình tìm kiếm, việc sử dụng các câu lệnh `print()` để hiển thị giá trị của biến trong quá trình chạy chương trình nhằm mục đích gì?

  • A. Tăng tốc độ chương trình.
  • B. Làm cho mã nguồn dễ đọc hơn.
  • C. Tối ưu hóa bộ nhớ sử dụng.
  • D. Gỡ lỗi (debug) và kiểm tra giá trị của biến tại các thời điểm khác nhau trong chương trình.

Câu 28: Để kiểm tra tính đúng đắn của chương trình tìm kiếm điểm học sinh, bạn cần chuẩn bị những gì?

  • A. Dữ liệu kiểm thử (test data) bao gồm các trường hợp tìm kiếm khác nhau (ví dụ, tên có trong danh sách, tên không có trong danh sách).
  • B. Một máy tính có cấu hình mạnh.
  • C. Kết nối Internet tốc độ cao.
  • D. Một trình biên dịch Python phiên bản mới nhất.

Câu 29: Ngoài danh sách và từ điển, cấu trúc dữ liệu nào khác có thể được sử dụng để tối ưu hóa tốc độ tìm kiếm trên lượng dữ liệu lớn (ở mức độ cao hơn)?

  • A. Mảng (array).
  • B. Hàng đợi (queue).
  • C. Cây tìm kiếm (ví dụ, cây nhị phân tìm kiếm).
  • D. Ngăn xếp (stack).

Câu 30: Trong ngữ cảnh tìm kiếm thông tin cá nhân (ví dụ, điểm học sinh), vấn đề đạo đức nào cần được quan tâm hàng đầu?

  • A. Tốc độ tìm kiếm phải nhanh nhất.
  • B. Giao diện chương trình phải đẹp mắt.
  • C. Chương trình phải dễ sử dụng.
  • D. Bảo vệ quyền riêng tư và bảo mật thông tin cá nhân của học sinh.

1 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 20: Thực hành bài toán tìm kiếm

Tags: Bộ đề 1

Câu 1: Trong Python, khi mở một tệp văn bản ở chế độ 'r', điều gì xảy ra nếu tệp được chỉ định không tồn tại?

2 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 20: Thực hành bài toán tìm kiếm

Tags: Bộ đề 1

Câu 2: Cho đoạn mã Python: `f = open('du_lieu.txt', 'w', encoding='utf-8')`. Mục đích của tham số `encoding='utf-8'` là gì?

3 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 20: Thực hành bài toán tìm kiếm

Tags: Bộ đề 1

Câu 3: Phương thức `readlines()` trả về kiểu dữ liệu nào khi đọc từ một tệp văn bản trong Python?

4 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 20: Thực hành bài toán tìm kiếm

Tags: Bộ đề 1

Câu 4: Lệnh nào sau đây trong Python được sử dụng để ghi một chuỗi vào tệp văn bản đã mở?

5 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 20: Thực hành bài toán tìm kiếm

Tags: Bộ đề 1

Câu 5: Tại sao việc đóng tệp sau khi hoàn tất các thao tác đọc/ghi là một việc làm quan trọng?

6 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 20: Thực hành bài toán tìm kiếm

Tags: Bộ đề 1

Câu 6: Cho danh sách tên học sinh đã được sắp xếp theo thứ tự bảng chữ cái. Thuật toán tìm kiếm nào hiệu quả nhất để tìm kiếm một tên học sinh cụ thể trong danh sách này?

7 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 20: Thực hành bài toán tìm kiếm

Tags: Bộ đề 1

Câu 7: Trong thuật toán tìm kiếm tuần tự, trường hợp tốt nhất về số lần so sánh xảy ra khi nào?

8 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 20: Thực hành bài toán tìm kiếm

Tags: Bộ đề 1

Câu 8: Điều kiện tiên quyết để có thể áp dụng thuật toán tìm kiếm nhị phân là gì?

9 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 20: Thực hành bài toán tìm kiếm

Tags: Bộ đề 1

Câu 9: Giả sử bạn có một danh sách 1024 phần tử đã được sắp xếp. Trong trường hợp xấu nhất, thuật toán tìm kiếm nhị phân cần thực hiện tối đa bao nhiêu phép so sánh để tìm kiếm một phần tử?

10 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 20: Thực hành bài toán tìm kiếm

Tags: Bộ đề 1

Câu 10: Trong bài toán tìm kiếm điểm học sinh từ tệp, nếu sử dụng thuật toán tìm kiếm nhị phân, tệp dữ liệu cần được tổ chức như thế nào?

11 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 20: Thực hành bài toán tìm kiếm

Tags: Bộ đề 1

Câu 11: So sánh ưu điểm chính của thuật toán tìm kiếm nhị phân so với tìm kiếm tuần tự?

12 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 20: Thực hành bài toán tìm kiếm

Tags: Bộ đề 1

Câu 12: Khi đọc dữ liệu điểm học sinh từ tệp, làm thế nào để chương trình có thể bỏ qua dòng tiêu đề (ví dụ: 'Tên HS, Điểm') nếu có?

13 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 20: Thực hành bài toán tìm kiếm

Tags: Bộ đề 1

Câu 13: Trong Python, giả sử bạn đã đọc một dòng dữ liệu từ tệp điểm học sinh và lưu vào biến `line`. Dòng lệnh nào sau đây tách dòng này thành danh sách các phần tử, giả sử các phần tử được phân tách bởi dấu phẩy?

14 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 20: Thực hành bài toán tìm kiếm

Tags: Bộ đề 1

Câu 14: Xét bài toán tìm kiếm thông tin sản phẩm trong một siêu thị trực tuyến. Dữ liệu sản phẩm (tên, giá, mô tả,...) có thể được lưu trữ ở đâu để chương trình tìm kiếm có thể truy cập?

15 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 20: Thực hành bài toán tìm kiếm

Tags: Bộ đề 1

Câu 15: Khi thực hiện tìm kiếm gần đúng (ví dụ, tìm kiếm tên sản phẩm có thể sai chính tả), thuật toán tìm kiếm nhị phân có còn phù hợp không?

16 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 20: Thực hành bài toán tìm kiếm

Tags: Bộ đề 1

Câu 16: Độ phức tạp thời gian của thuật toán tìm kiếm tuần tự trong trường hợp xấu nhất là O(n), trong đó n là số phần tử. Điều này có nghĩa là gì?

17 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 20: Thực hành bài toán tìm kiếm

Tags: Bộ đề 1

Câu 17: Bạn cần viết chương trình Python để tìm kiếm điểm của một học sinh theo tên từ tệp 'diem_hs.txt'. Tệp này chứa dữ liệu dạng 'Tên học sinh,Điểm'. Bạn nên sử dụng cấu trúc dữ liệu nào để lưu trữ dữ liệu đọc từ tệp để việc tìm kiếm tên được dễ dàng?

18 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 20: Thực hành bài toán tìm kiếm

Tags: Bộ đề 1

Câu 18: Cho đoạn mã Python:
```python
f = open('data.txt', 'r')
for line in f:
print(line.strip())
f.close()
```
Đoạn mã này thực hiện công việc gì?

19 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 20: Thực hành bài toán tìm kiếm

Tags: Bộ đề 1

Câu 19: Trong chương trình tìm kiếm điểm học sinh, khi người dùng nhập tên học sinh cần tìm, bước tiếp theo quan trọng nhất là gì?

20 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 20: Thực hành bài toán tìm kiếm

Tags: Bộ đề 1

Câu 20: Nếu bạn muốn tìm kiếm tất cả học sinh có điểm lớn hơn 8.0 từ tệp 'diem_hs.txt', bạn sẽ sử dụng thuật toán tìm kiếm nào?

21 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 20: Thực hành bài toán tìm kiếm

Tags: Bộ đề 1

Câu 21: Trong quá trình đọc tệp dữ liệu điểm học sinh, có thể xảy ra lỗi gì liên quan đến định dạng dữ liệu trong tệp?

22 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 20: Thực hành bài toán tìm kiếm

Tags: Bộ đề 1

Câu 22: Dạng tệp nào sau đây thường được sử dụng để lưu trữ dữ liệu dạng bảng (ví dụ, dữ liệu điểm học sinh với cột tên và cột điểm) một cách phổ biến?

23 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 20: Thực hành bài toán tìm kiếm

Tags: Bộ đề 1

Câu 23: Để thực hiện tìm kiếm tuần tự trong Python trên một danh sách, cấu trúc lặp nào thường được sử dụng?

24 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 20: Thực hành bài toán tìm kiếm

Tags: Bộ đề 1

Câu 24: Trong thuật toán tìm kiếm nhị phân, nếu giá trị cần tìm nhỏ hơn giá trị ở vị trí giữa, phạm vi tìm kiếm sẽ được thu hẹ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 20: Thực hành bài toán tìm kiếm

Tags: Bộ đề 1

Câu 25: Khi viết chương trình tìm kiếm điểm học sinh, việc kiểm tra xem tệp dữ liệu có tồn tại trước khi mở tệp là một bước thuộc về:

26 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 20: Thực hành bài toán tìm kiếm

Tags: Bộ đề 1

Câu 26: Giả sử bạn muốn cải tiến thuật toán tìm kiếm tuần tự để khi tìm thấy phần tử cần tìm, chương trình sẽ dừng lại ngay lập tức thay vì tiếp tục duyệt hết danh sách. Bạn cần sử dụng lệnh nào trong vòng lặp?

27 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 20: Thực hành bài toán tìm kiếm

Tags: Bộ đề 1

Câu 27: Trong quá trình phát triển chương trình tìm kiếm, việc sử dụng các câu lệnh `print()` để hiển thị giá trị của biến trong quá trình chạy chương trình nhằm mục đích gì?

28 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 20: Thực hành bài toán tìm kiếm

Tags: Bộ đề 1

Câu 28: Để kiểm tra tính đúng đắn của chương trình tìm kiếm điểm học sinh, bạn cần chuẩn bị những gì?

29 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 20: Thực hành bài toán tìm kiếm

Tags: Bộ đề 1

Câu 29: Ngoài danh sách và từ điển, cấu trúc dữ liệu nào khác có thể được sử dụng để tối ưu hóa tốc độ tìm kiếm trên lượng dữ liệu lớn (ở mức độ cao hơn)?

30 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 20: Thực hành bài toán tìm kiếm

Tags: Bộ đề 1

Câu 30: Trong ngữ cảnh tìm kiếm thông tin cá nhân (ví dụ, điểm học sinh), vấn đề đạo đức nào cần được quan tâm hàng đầu?

Xem kết quả

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 20: Thực hành bài toán tìm kiếm

Trắc nghiệm Tin học 11 Kết nối tri thức Bài 20: Thực hành bài toán tìm kiếm - Đề 02

Trắc nghiệm Tin học 11 Kết nối tri thức Bài 20: Thực hành bài toán tìm kiếm - Đề 02 bao gồm nhiều câu hỏi hay, bám sát chương trình. Cùng làm bài tập trắc nghiệm ngay.

Câu 1: Trong Python, để mở một tệp văn bản ở chế độ chỉ đọc, sử dụng encoding UTF-8, cú pháp nào sau đây là đúng?

  • A. f = open(
  • B. f = open(
  • C. f = open(
  • D. f = open(

Câu 2: Phương thức nào sau đây của đối tượng tệp trong Python được sử dụng để đọc toàn bộ nội dung của tệp và trả về một chuỗi duy nhất?

  • A. read()
  • B. readline()
  • C. readlines()
  • D. readall()

Câu 3: Cho đoạn mã Python sau:
```python
f = open(

  • A. Đọc nội dung từ tệp
  • B. Thêm nội dung
  • C. Tạo hoặc ghi đè tệp
  • D. Kiểm tra sự tồn tại của tệp

Câu 4: Trong thuật toán tìm kiếm tuần tự, trường hợp nào sau đây cho hiệu suất tốt nhất?

  • A. Phần tử cần tìm là phần tử đầu tiên trong danh sách.
  • B. Phần tử cần tìm là phần tử cuối cùng trong danh sách.
  • C. Phần tử cần tìm nằm ở vị trí giữa danh sách.
  • D. Phần tử cần tìm không có trong danh sách.

Câu 5: Ưu điểm chính của thuật toán tìm kiếm nhị phân so với tìm kiếm tuần tự là gì?

  • A. Dễ dàng cài đặt hơn.
  • B. Hiệu suất tìm kiếm nhanh hơn trên dữ liệu lớn đã được sắp xếp.
  • C. Không yêu cầu dữ liệu phải được sắp xếp.
  • D. Tiêu thụ ít bộ nhớ hơn.

Câu 6: Điều kiện tiên quyết để có thể áp dụng thuật toán tìm kiếm nhị phân là gì?

  • A. Dữ liệu phải là số nguyên.
  • B. Dữ liệu phải có kích thước nhỏ.
  • C. Dữ liệu phải được sắp xếp theo thứ tự.
  • D. Dữ liệu phải được lưu trữ trong tệp văn bản.

Câu 7: Trong Python, để đóng tệp sau khi đã thao tác xong, chúng ta sử dụng phương thức nào?

  • A. delete()
  • B. remove()
  • C. discard()
  • D. close()

Câu 8: Xét danh sách số đã được sắp xếp: `[2, 5, 8, 12, 16, 23, 38, 56, 72, 91]`. Sử dụng thuật toán tìm kiếm nhị phân để tìm số 23. Hỏi số lần so sánh cần thực hiện là bao nhiêu?

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

Câu 9: Phương thức `readlines()` khi đọc tệp văn bản sẽ trả về kiểu dữ liệu nào?

  • A. Chuỗi
  • B. Danh sách các chuỗi
  • C. Số nguyên
  • D. Từ điển

Câu 10: Trong bài toán quản lý danh sách học sinh, nếu muốn tìm kiếm nhanh thông tin của một học sinh dựa trên mã số học sinh đã được sắp xếp, thuật toán tìm kiếm nào phù hợp nhất?

  • A. Tìm kiếm tuyến tính trên danh sách chưa sắp xếp
  • B. Tìm kiếm theo chiều sâu
  • C. Tìm kiếm nhị phân
  • D. Tìm kiếm theo chiều rộng

Câu 11: Giả sử bạn có một tệp văn bản chứa thông tin về các sản phẩm, mỗi dòng chứa tên sản phẩm và giá, được phân tách bởi dấu phẩy. Để đọc thông tin này và lưu vào danh sách các từ điển Python, bạn sẽ sử dụng phương pháp nào?

  • A. Chỉ sử dụng `read()` để đọc toàn bộ tệp và xử lý chuỗi kết quả.
  • B. Đọc từng dòng bằng `readline()` hoặc `readlines()`, sau đó sử dụng `split(",")` để tách tên và giá, rồi tạo từ điển.
  • C. Sử dụng thư viện `csv` để đọc tệp.
  • D. Ghi lại tệp dưới dạng JSON và đọc bằng thư viện `json`.

Câu 12: Trong Python, khi mở một tệp với chế độ "x", điều gì sẽ xảy ra nếu tệp đã tồn tại?

  • A. Tệp sẽ được mở để đọc.
  • B. Nội dung tệp sẽ bị xóa và tệp được mở để ghi.
  • C. Tệp sẽ được mở để ghi thêm dữ liệu vào cuối.
  • D. Python sẽ báo lỗi `FileExistsError`.

Câu 13: Cho danh sách không sắp xếp: `[23, 5, 72, 8, 91, 16, 56, 38, 2, 12]`. Để tìm số 56, tìm kiếm tuần tự sẽ cần thực hiện bao nhiêu phép so sánh?

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

Câu 14: Khi làm việc với tệp văn bản chứa tiếng Việt, tham số `encoding="UTF-8"` trong hàm `open()` có vai trò gì?

  • A. Đảm bảo đọc và ghi đúng các ký tự tiếng Việt.
  • B. Tăng tốc độ đọc và ghi tệp.
  • C. Giảm dung lượng lưu trữ của tệp.
  • D. Mã hóa nội dung tệp để bảo mật.

Câu 15: Xét đoạn mã Python sau:
```python
f = open(

  • A. Tệp
  • B. Nội dung
  • C. Chương trình sẽ báo lỗi vì tệp đã tồn tại.
  • D. Nội dung

Câu 16: Trong thuật toán tìm kiếm nhị phân, nếu giá trị cần tìm nhỏ hơn giá trị ở vị trí giữa, vùng tìm kiếm tiếp theo sẽ là:

  • A. Nửa đầu của danh sách (từ vị trí đầu đến vị trí giữa - 1).
  • B. Nửa sau của danh sách (từ vị trí giữa + 1 đến vị trí cuối).
  • C. Toàn bộ danh sách.
  • D. Chỉ vị trí giữa.

Câu 17: Để ghi nhiều dòng văn bản vào một tệp, phương thức `writelines()` nhận đối số là kiểu dữ liệu nào?

  • A. Một chuỗi duy nhất chứa tất cả các dòng.
  • B. Một danh sách các chuỗi, mỗi chuỗi là một dòng.
  • C. Một từ điển với các dòng là giá trị.
  • D. Một tuple các chuỗi.

Câu 18: Trong bài toán tìm kiếm, độ phức tạp thời gian trung bình của thuật toán tìm kiếm tuần tự là:

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

Câu 19: Độ phức tạp thời gian tốt nhất của thuật toán tìm kiếm nhị phân là:

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

Câu 20: Trong Python, để đảm bảo tệp luôn được đóng sau khi sử dụng, ngay cả khi có lỗi xảy ra, cấu trúc nào nên được sử dụng?

  • A. Cấu trúc `if-else`
  • B. Vòng lặp `for`
  • C. Cấu trúc `with open(...)`
  • D. Hàm `try-except-finally`

Câu 21: Cho đoạn mã Python sử dụng tìm kiếm nhị phân:
```python
def binary_search(arr, low, high, x):
if high >= low:
mid = (high + low) // 2
if arr[mid] == x:
return mid
elif arr[mid] > x:
return binary_search(arr, low, mid - 1, x)
else:
return binary_search(arr, mid + 1, high, x)
else:
return -1
```
Đoạn mã này minh họa kỹ thuật lập trình nào?

  • A. Lặp
  • B. Đệ quy
  • C. Phân chia và chinh phục
  • D. Tham lam

Câu 22: Trong ngữ cảnh xử lý tệp, "buffer" (bộ đệm) có vai trò gì?

  • A. Lưu trữ tạm thời mật khẩu để truy cập tệp.
  • B. Kiểm tra lỗi dữ liệu trong quá trình đọc/ghi tệp.
  • C. Lưu trữ tạm thời dữ liệu để tăng hiệu suất đọc/ghi tệp.
  • D. Mã hóa dữ liệu trước khi ghi vào tệp.

Câu 23: Khi nào nên sử dụng tìm kiếm tuần tự thay vì tìm kiếm nhị phân?

  • A. Khi danh sách cần tìm kiếm rất lớn và đã được sắp xếp.
  • B. Khi danh sách cần tìm kiếm nhỏ hoặc chưa được sắp xếp.
  • C. Khi cần tìm kiếm phần tử lớn nhất hoặc nhỏ nhất.
  • D. Khi cần tìm kiếm gần đúng (fuzzy search).

Câu 24: Phương thức `readline()` khác với `readlines()` ở điểm nào?

  • A. `readline()` đọc một dòng, `readlines()` đọc tất cả các dòng và trả về danh sách.
  • B. `readline()` đọc dữ liệu dạng chuỗi, `readlines()` đọc dữ liệu dạng số.
  • C. `readline()` nhanh hơn `readlines()`.
  • D. `readline()` chỉ dùng cho tệp văn bản, `readlines()` dùng cho mọi loại tệp.

Câu 25: Trong Python, để kiểm tra xem một tệp có tồn tại hay không trước khi mở, ta có thể sử dụng module nào?

  • A. Module `file`
  • B. Module `io`
  • C. Module `os.path`
  • D. Module `sys`

Câu 26: Giả sử bạn có một tệp nhật ký (log file) rất lớn và muốn tìm kiếm các dòng chứa một cụm từ khóa nhất định. Phương pháp đọc tệp nào sẽ hiệu quả nhất về mặt bộ nhớ?

  • A. Đọc toàn bộ tệp bằng `read()` và tìm kiếm trong chuỗi kết quả.
  • B. Đọc tệp từng dòng bằng `readline()` hoặc lặp qua đối tượng tệp và kiểm tra từng dòng.
  • C. Đọc toàn bộ tệp bằng `readlines()` và tìm kiếm trong danh sách dòng.
  • D. Sử dụng thư viện `mmap` để ánh xạ tệp vào bộ nhớ.

Câu 27: Trong tìm kiếm nhị phân, nếu danh sách có kích thước N, số lần so sánh tối đa trong trường hợp xấu nhất xấp xỉ là:

  • A. N
  • B. log₂(N)
  • C. N/2
  • D. N²

Câu 28: Để ghi dữ liệu dạng nhị phân vào tệp trong Python, chế độ mở tệp nào sau đây là phù hợp?

  • A.
  • B.
  • C.
  • D.

Câu 29: Khi thực hiện tìm kiếm nhị phân trên danh sách số nguyên đã sắp xếp, nếu phần tử ở vị trí giữa lớn hơn giá trị cần tìm, chúng ta nên điều chỉnh phạm vi tìm kiếm như thế nào?

  • A. Giảm chỉ số "high" xuống vị trí giữa - 1.
  • B. Tăng chỉ số "low" lên vị trí giữa + 1.
  • C. Giữ nguyên phạm vi tìm kiếm.
  • D. Tìm kiếm từ đầu danh sách.

Câu 30: Trong Python, giả sử bạn đã mở một tệp bằng `with open(...) as f:`. Khi khối lệnh `with` kết thúc, điều gì xảy ra với đối tượng tệp `f`?

  • A. Tệp vẫn mở và cần phải đóng thủ công bằng `f.close()`.
  • B. Tệp được chuyển sang chế độ chỉ đọc.
  • C. Tệp bị xóa khỏi hệ thống.
  • D. Tệp tự động được đóng.

1 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 20: Thực hành bài toán tìm kiếm

Tags: Bộ đề 2

Câu 1: Trong Python, để mở một tệp văn bản ở chế độ chỉ đọc, sử dụng encoding UTF-8, cú pháp nào sau đây là đúng?

2 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 20: Thực hành bài toán tìm kiếm

Tags: Bộ đề 2

Câu 2: Phương thức nào sau đây của đối tượng tệp trong Python được sử dụng để đọc toàn bộ nội dung của tệp và trả về một chuỗi duy nhất?

3 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 20: Thực hành bài toán tìm kiếm

Tags: Bộ đề 2

Câu 3: Cho đoạn mã Python sau:
```python
f = open("data.txt", "w")
f.write("Dòng 1nDòng 2n")
f.close()
```
Đoạn mã này thực hiện thao tác gì?

4 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 20: Thực hành bài toán tìm kiếm

Tags: Bộ đề 2

Câu 4: Trong thuật toán tìm kiếm tuần tự, trường hợp nào sau đây cho hiệu suất tốt nhất?

5 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 20: Thực hành bài toán tìm kiếm

Tags: Bộ đề 2

Câu 5: Ưu điểm chính của thuật toán tìm kiếm nhị phân so với tìm kiếm tuần tự là gì?

6 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 20: Thực hành bài toán tìm kiếm

Tags: Bộ đề 2

Câu 6: Điều kiện tiên quyết để có thể áp dụng thuật toán tìm kiếm nhị phân là gì?

7 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 20: Thực hành bài toán tìm kiếm

Tags: Bộ đề 2

Câu 7: Trong Python, để đóng tệp sau khi đã thao tác xong, chúng ta sử dụng phương thức nào?

8 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 20: Thực hành bài toán tìm kiếm

Tags: Bộ đề 2

Câu 8: Xét danh sách số đã được sắp xếp: `[2, 5, 8, 12, 16, 23, 38, 56, 72, 91]`. Sử dụng thuật toán tìm kiếm nhị phân để tìm số 23. Hỏi số lần so sánh cần thực hiện là bao nhiêu?

9 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 20: Thực hành bài toán tìm kiếm

Tags: Bộ đề 2

Câu 9: Phương thức `readlines()` khi đọc tệp văn bản sẽ trả về kiểu dữ liệu nào?

10 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 20: Thực hành bài toán tìm kiếm

Tags: Bộ đề 2

Câu 10: Trong bài toán quản lý danh sách học sinh, nếu muốn tìm kiếm nhanh thông tin của một học sinh dựa trên mã số học sinh đã được sắp xếp, thuật toán tìm kiếm nào phù hợp nhất?

11 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 20: Thực hành bài toán tìm kiếm

Tags: Bộ đề 2

Câu 11: Giả sử bạn có một tệp văn bản chứa thông tin về các sản phẩm, mỗi dòng chứa tên sản phẩm và giá, được phân tách bởi dấu phẩy. Để đọc thông tin này và lưu vào danh sách các từ điển Python, bạn sẽ sử dụng phương pháp nào?

12 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 20: Thực hành bài toán tìm kiếm

Tags: Bộ đề 2

Câu 12: Trong Python, khi mở một tệp với chế độ 'x', điều gì sẽ xảy ra nếu tệp đã tồn tại?

13 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 20: Thực hành bài toán tìm kiếm

Tags: Bộ đề 2

Câu 13: Cho danh sách không sắp xếp: `[23, 5, 72, 8, 91, 16, 56, 38, 2, 12]`. Để tìm số 56, tìm kiếm tuần tự sẽ cần thực hiện bao nhiêu phép so sánh?

14 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 20: Thực hành bài toán tìm kiếm

Tags: Bộ đề 2

Câu 14: Khi làm việc với tệp văn bản chứa tiếng Việt, tham số `encoding='UTF-8'` trong hàm `open()` có vai trò gì?

15 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 20: Thực hành bài toán tìm kiếm

Tags: Bộ đề 2

Câu 15: Xét đoạn mã Python sau:
```python
f = open("output.txt", "a")
f.write("Thêm dòng mới")
```
Nếu tệp "output.txt" đã tồn tại và có nội dung, điều gì sẽ xảy ra khi chạy đoạn mã này?

16 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 20: Thực hành bài toán tìm kiếm

Tags: Bộ đề 2

Câu 16: Trong thuật toán tìm kiếm nhị phân, nếu giá trị cần tìm nhỏ hơn giá trị ở vị trí giữa, vùng tìm kiếm tiếp theo sẽ là:

17 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 20: Thực hành bài toán tìm kiếm

Tags: Bộ đề 2

Câu 17: Để ghi nhiều dòng văn bản vào một tệp, phương thức `writelines()` nhận đối số là kiểu dữ liệu nào?

18 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 20: Thực hành bài toán tìm kiếm

Tags: Bộ đề 2

Câu 18: Trong bài toán tìm kiếm, độ phức tạp thời gian trung bình của thuật toán tìm kiếm tuần tự là:

19 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 20: Thực hành bài toán tìm kiếm

Tags: Bộ đề 2

Câu 19: Độ phức tạp thời gian tốt nhất của thuật toán tìm kiếm nhị phân là:

20 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 20: Thực hành bài toán tìm kiếm

Tags: Bộ đề 2

Câu 20: Trong Python, để đảm bảo tệp luôn được đóng sau khi sử dụng, ngay cả khi có lỗi xảy ra, cấu trúc nào nên được sử dụng?

21 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 20: Thực hành bài toán tìm kiếm

Tags: Bộ đề 2

Câu 21: Cho đoạn mã Python sử dụng tìm kiếm nhị phân:
```python
def binary_search(arr, low, high, x):
if high >= low:
mid = (high + low) // 2
if arr[mid] == x:
return mid
elif arr[mid] > x:
return binary_search(arr, low, mid - 1, x)
else:
return binary_search(arr, mid + 1, high, x)
else:
return -1
```
Đoạn mã này minh họa kỹ thuật lập trình nào?

22 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 20: Thực hành bài toán tìm kiếm

Tags: Bộ đề 2

Câu 22: Trong ngữ cảnh xử lý tệp, 'buffer' (bộ đệm) có vai trò gì?

23 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 20: Thực hành bài toán tìm kiếm

Tags: Bộ đề 2

Câu 23: Khi nào nên sử dụng tìm kiếm tuần tự thay vì 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 20: Thực hành bài toán tìm kiếm

Tags: Bộ đề 2

Câu 24: Phương thức `readline()` khác với `readlines()` ở điểm nào?

25 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 20: Thực hành bài toán tìm kiếm

Tags: Bộ đề 2

Câu 25: Trong Python, để kiểm tra xem một tệp có tồn tại hay không trước khi mở, ta có thể sử dụng module nào?

26 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 20: Thực hành bài toán tìm kiếm

Tags: Bộ đề 2

Câu 26: Giả sử bạn có một tệp nhật ký (log file) rất lớn và muốn tìm kiếm các dòng chứa một cụm từ khóa nhất định. Phương pháp đọc tệp nào sẽ hiệu quả nhất về mặt bộ nhớ?

27 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 20: Thực hành bài toán tìm kiếm

Tags: Bộ đề 2

Câu 27: Trong tìm kiếm nhị phân, nếu danh sách có kích thước N, số lần so sánh tối đa trong trường hợp xấu nhất xấp xỉ là:

28 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 20: Thực hành bài toán tìm kiếm

Tags: Bộ đề 2

Câu 28: Để ghi dữ liệu dạng nhị phân vào tệp trong Python, chế độ mở tệp nào sau đây là phù hợp?

29 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 20: Thực hành bài toán tìm kiếm

Tags: Bộ đề 2

Câu 29: Khi thực hiện tìm kiếm nhị phân trên danh sách số nguyên đã sắp xếp, nếu phần tử ở vị trí giữa lớn hơn giá trị cần tìm, chúng ta nên điều chỉnh phạm vi tìm kiếm như thế nào?

30 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 20: Thực hành bài toán tìm kiếm

Tags: Bộ đề 2

Câu 30: Trong Python, giả sử bạn đã mở một tệp bằng `with open(...) as f:`. Khi khối lệnh `with` kết thúc, điều gì xảy ra với đối tượng tệp `f`?

Xem kết quả

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 20: Thực hành bài toán tìm kiếm

Trắc nghiệm Tin học 11 Kết nối tri thức Bài 20: Thực hành bài toán tìm kiếm - Đề 03

Trắc nghiệm Tin học 11 Kết nối tri thức Bài 20: Thực hành bài toán tìm kiếm - Đề 03 bao gồm nhiều câu hỏi hay, bám sát chương trình. Cùng làm bài tập trắc nghiệm ngay.

Câu 1: Trong Python, khi làm việc với tệp văn bản, chế độ mở tệp nào sau đây cho phép bạn vừa đọc vừa ghi dữ liệu vào tệp, đồng thời tạo tệp mới nếu nó chưa tồn tại?

  • A.
  • B.
  • C.
  • D.

Câu 2: Cho đoạn mã Python sau:
```python
f = open(

  • A. Nội dung của tệp được giữ nguyên và dữ liệu mới được thêm vào cuối tệp.
  • B. Nội dung cũ của tệp bị xóa và thay thế bằng dữ liệu mới.
  • C. Chương trình sẽ báo lỗi vì tệp đã tồn tại.
  • D. Tệp được mở ở chế độ đọc và không có thay đổi nào được thực hiện.

Câu 3: Bạn có một danh sách tên học sinh đã được sắp xếp theo thứ tự bảng chữ cái. Để tìm kiếm một tên cụ thể trong danh sách này một cách hiệu quả nhất, thuật toán tìm kiếm nào sau đây nên được sử dụng?

  • A. Tìm kiếm tuần tự (Sequential Search)
  • B. Tìm kiếm theo chiều sâu (Depth-First Search)
  • C. Tìm kiếm nhị phân (Binary Search)
  • D. Tìm kiếm theo chiều rộng (Breadth-First Search)

Câu 4: Trong thuật toán tìm kiếm nhị phân, giả sử bạn đang tìm kiếm số 35 trong danh sách đã sắp xếp: [10, 20, 25, 30, 35, 40, 45, 50]. Ở bước đầu tiên, phần tử ở vị trí giữa (40) được so sánh với 35. Bước tiếp theo thuật toán sẽ thực hiện như thế nào?

  • A. Tìm kiếm trong nửa đầu của danh sách: [10, 20, 25, 30, 35]
  • B. Tìm kiếm trong nửa sau của danh sách: [40, 45, 50]
  • C. Tìm kiếm lại từ đầu danh sách.
  • D. Thông báo không tìm thấy vì 35 nhỏ hơn 40.

Câu 5: Hàm `readlines()` trong Python trả về kiểu dữ liệu nào sau đây khi đọc nội dung từ một tệp văn bản?

  • A. Một chuỗi duy nhất chứa toàn bộ nội dung tệp.
  • B. Một danh sách các chuỗi, mỗi chuỗi là một dòng trong tệp.
  • C. Một tuple chứa các dòng trong tệp.
  • D. Một số nguyên biểu thị số dòng trong tệp.

Câu 6: Cho tệp văn bản "scores.txt" chứa dữ liệu điểm thi của học sinh, mỗi dòng có định dạng "Tên_học_sinh Điểm_số". Để đọc dữ liệu từ tệp và lưu trữ tên và điểm vào hai danh sách riêng biệt (TenHS và DiemHS), bạn sẽ sử dụng đoạn mã Python nào sau đây?

  • A. ```python
    f = open(
  • B. ```python
    f = open(
  • C. ```python
    f = open(
  • D. ```python
    f = open(

Câu 7: Trong Python, phương thức `strip()` thường được sử dụng với dữ liệu kiểu chuỗi để làm gì?

  • A. Loại bỏ khoảng trắng hoặc ký tự thừa ở đầu và cuối chuỗi.
  • B. Chia chuỗi thành một danh sách các từ.
  • C. Tìm kiếm một chuỗi con bên trong chuỗi.
  • D. Chuyển đổi chuỗi thành chữ hoa.

Câu 8: Giả sử bạn có một tệp nhật ký hoạt động của người dùng trên hệ thống, mỗi dòng chứa thông tin về thời gian truy cập, tên người dùng và hành động thực hiện. Bạn muốn đếm số lần truy cập của mỗi người dùng. Để thực hiện điều này, cấu trúc dữ liệu nào sau đây trong Python sẽ phù hợp nhất để lưu trữ kết quả đếm?

  • A. List (Danh sách)
  • B. Dictionary (Từ điển)
  • C. Tuple (Bộ)
  • D. Set (Tập hợp)

Câu 9: Xét đoạn mã Python sau:
```python
numbers = [15, 8, 23, 42, 11, 7]
target = 23
```
Nếu sử dụng thuật toán tìm kiếm tuần tự để tìm vị trí của `target` trong danh sách `numbers`, số lần so sánh cần thực hiện là bao nhiêu?

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

Câu 10: Trong bài toán tìm kiếm điểm học sinh từ tệp, khi người dùng nhập tên học sinh cần tìm, điều gì xảy ra nếu tên học sinh đó không có trong danh sách dữ liệu?

  • A. Chương trình sẽ tự động thêm tên học sinh đó vào danh sách với điểm số mặc định.
  • B. Chương trình sẽ thông báo rằng không tìm thấy thông tin về học sinh này.
  • C. Chương trình sẽ hiển thị điểm của học sinh đầu tiên trong danh sách.
  • D. Chương trình sẽ báo lỗi và dừng thực thi.

Câu 11: Để ghi nhiều dòng văn bản vào một tệp trong Python, cách nào sau đây là hiệu quả nhất?

  • A. Sử dụng hàm `write()` nhiều lần, mỗi lần cho một dòng.
  • B. Sử dụng hàm `print()` nhiều lần, mỗi lần cho một dòng.
  • C. Sử dụng vòng lặp để duyệt qua một danh sách các dòng và ghi từng dòng bằng `write()` hoặc `print(file=f)`.
  • D. Sử dụng hàm `writelines()` với một chuỗi lớn chứa tất cả các dòng.

Câu 12: Bạn có một tệp CSV chứa thông tin sản phẩm (tên sản phẩm, giá, số lượng). Bạn muốn đọc tệp này và tính tổng giá trị tồn kho (giá * số lượng) cho tất cả sản phẩm. Thao tác xử lý dữ liệu nào sau đây là cần thiết sau khi đọc mỗi dòng từ tệp?

  • A. Sắp xếp các dòng theo tên sản phẩm.
  • B. Phân tách dòng thành các trường (tên, giá, số lượng) và chuyển đổi giá và số lượng sang kiểu số để tính toán.
  • C. Loại bỏ các dòng trùng lặp.
  • D. Đếm số dòng trong tệp.

Câu 13: Trong thuật toán tìm kiếm nhị phân, nếu giá trị cần tìm nhỏ hơn phần tử ở vị trí giữa của danh sách, phạm vi tìm kiếm sẽ được thu hẹp về phía nào?

  • A. Nửa đầu của danh sách (bên trái phần tử giữa).
  • B. Nửa sau của danh sách (bên phải phần tử giữa).
  • C. Vẫn giữ nguyên phạm vi tìm kiếm ban đầu.
  • D. Chỉ tìm kiếm ở phần tử giữa.

Câu 14: Cho danh sách số đã được sắp xếp: `data = [2, 5, 8, 12, 16, 23, 38, 56, 72, 91]`. Bạn muốn kiểm tra xem số 12 có nằm trong danh sách này hay không bằng thuật toán tìm kiếm nhị phân. Hỏi cần bao nhiêu bước so sánh để xác định được điều này?

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

Câu 15: Khi mở một tệp văn bản bằng lệnh `f = open(

  • A. Tệp "data.txt" sẽ được tạo mới và mở để đọc.
  • B. Tệp "data.txt" sẽ được mở ở chế độ ghi.
  • C. Lỗi `FileNotFoundError` sẽ được phát sinh.
  • D. Chương trình sẽ tiếp tục chạy nhưng không thể đọc dữ liệu.

Câu 16: Phương thức `write()` trong Python dùng để ghi dữ liệu vào tệp, dữ liệu truyền vào phương thức này phải thuộc kiểu dữ liệu nào?

  • A. Số nguyên (integer)
  • B. Số thực (float)
  • C. Danh sách (list)
  • D. Chuỗi (string)

Câu 17: Để đảm bảo tài nguyên hệ thống được giải phóng sau khi hoàn tất thao tác đọc/ghi tệp, bạn nên sử dụng cấu trúc nào sau đây trong Python?

  • A. Chỉ sử dụng `f.close()` ở cuối chương trình.
  • B. Sử dụng khối lệnh `with open(...) as f:`.
  • C. Ghi dữ liệu vào tệp và không cần đóng tệp.
  • D. Sử dụng hàm `del f` sau khi thao tác xong.

Câu 18: Cho đoạn mã Python:
```python
f = open(

  • A. Tệp sẽ chỉ chứa dòng chữ
  • B. Nội dung cũ của tệp bị xóa và thay thế bằng
  • C. Dòng chữ
  • D. Chương trình sẽ báo lỗi vì tệp đã tồn tại.

Câu 19: Trong bài toán tìm kiếm, độ phức tạp thời gian của thuật toán tìm kiếm tuần tự trong trường hợp xấu nhất là tuyến tính, tức là O(n). Điều này có nghĩa là gì?

  • A. Thời gian tìm kiếm không đổi, không phụ thuộc vào kích thước dữ liệu.
  • B. Thời gian tìm kiếm tăng theo logarit của kích thước dữ liệu.
  • C. Thời gian tìm kiếm giảm khi kích thước dữ liệu tăng.
  • D. Thời gian tìm kiếm tỉ lệ thuận với kích thước dữ liệu (n). Trong trường hợp xấu nhất, cần kiểm tra tất cả n phần tử.

Câu 20: Thuật toán tìm kiếm nhị phân hoạt động hiệu quả nhất trên dữ liệu có đặc điểm gì?

  • A. Dữ liệu đã được sắp xếp.
  • B. Dữ liệu chưa được sắp xếp.
  • C. Dữ liệu có kích thước nhỏ.
  • D. Dữ liệu chứa nhiều giá trị trùng lặp.

Câu 21: Để đọc toàn bộ nội dung của một tệp văn bản vào một biến kiểu chuỗi duy nhất trong Python, bạn sẽ sử dụng phương thức nào?

  • A. readlines()
  • B. read()
  • C. readline()
  • D. readall()

Câu 22: Trong Python, khi làm việc với tệp văn bản tiếng Việt, tham số `encoding="UTF-8"` được sử dụng để làm gì khi mở tệp?

  • A. Mã hóa dữ liệu trước khi ghi vào tệp.
  • B. Giải mã dữ liệu sau khi đọc từ tệp.
  • C. Đảm bảo đọc và ghi đúng các ký tự tiếng Việt.
  • D. Tăng tốc độ đọc và ghi tệp.

Câu 23: Cho danh sách học sinh và điểm: `students = [("An", 8.5), ("Bình", 7.9), ("Cường", 9.0)]`. Để ghi danh sách này vào tệp "student_scores.txt", mỗi học sinh trên một dòng với định dạng "Tên - Điểm", bạn sẽ sử dụng vòng lặp và lệnh ghi nào?

  • A. ```python
    f = open(
  • B. ```python
    f = open(
  • C. ```python
    f = open(
  • D. ```python
    f = open(

Câu 24: Trong bài toán tìm kiếm điểm, giả sử dữ liệu điểm được lưu trong tệp "grades.txt" và bạn đã đọc dữ liệu vào danh sách `grade_data`. Để tìm điểm của học sinh có tên "Lan", bạn sẽ sử dụng đoạn mã nào (giả sử dữ liệu đã được xử lý để có danh sách tên và điểm tương ứng)?

  • A. ```python
    for grade in grade_data:
    if grade["name"] == "Lan":
    print(grade["score"])
    ```
  • B. ```python
    target_name = "Lan"
    for name, score in grade_data:
    if name == target_name:
    print(score)
    break
    else:
    print(
  • C. ```python
    print(grade_data["Lan"])
    ```
  • D. ```python
    print(grade_data.index("Lan"))
    ```

Câu 25: Xét danh sách số: `numbers = [5, 2, 8, 1, 9, 4]`. Nếu bạn sử dụng thuật toán tìm kiếm nhị phân để tìm số 9 trong danh sách này, điều gì sẽ xảy ra?

  • A. Thuật toán sẽ tìm thấy số 9 ở vị trí cuối cùng.
  • B. Thuật toán sẽ tìm thấy số 9 ở vị trí đầu tiên.
  • C. Thuật toán sẽ hoạt động bình thường và tìm ra vị trí của số 9.
  • D. Thuật toán sẽ không hoạt động đúng vì danh sách chưa được sắp xếp và có thể cho kết quả sai hoặc không tìm thấy.

Câu 26: Trong Python, lệnh nào sau đây được sử dụng để kiểm tra xem một tệp có tồn tại hay không trước khi thực hiện thao tác đọc hoặc ghi?

  • A. `f.exists(
  • B. `os.isFile(
  • C. `os.path.exists(
  • D. `file.exists(

Câu 27: Cho đoạn mã Python:
```python
f = open(

  • A. Dòng đầu tiên của tệp.
  • B. Dòng thứ ba của tệp.
  • C. Dòng thứ hai của tệp.
  • D. Toàn bộ nội dung của tệp.

Câu 28: Trong bài toán tìm kiếm điểm học sinh, giả sử bạn muốn cho phép người dùng nhập tên học sinh không phân biệt chữ hoa chữ thường (ví dụ, "Lan", "lan", "LAN" đều tìm ra điểm của học sinh tên Lan). Bạn cần thực hiện thao tác gì trước khi so sánh tên nhập vào với tên trong danh sách?

  • A. Chuyển đổi cả tên nhập vào và tên trong danh sách về cùng một kiểu chữ (ví dụ, chữ thường) trước khi so sánh.
  • B. Sử dụng thuật toán tìm kiếm nhị phân.
  • C. Loại bỏ khoảng trắng thừa trong tên nhập vào.
  • D. Không cần thực hiện thao tác gì thêm, Python tự động so sánh không phân biệt chữ hoa chữ thường.

Câu 29: Để đọc từng dòng trong một tệp văn bản và thực hiện xử lý trên từng dòng một cách tuần tự, cấu trúc lặp nào sau đây trong Python là phù hợp nhất?

  • A. Vòng lặp `while` với điều kiện đọc dòng.
  • B. Vòng lặp `for` duyệt trực tiếp trên đối tượng tệp.
  • C. Vòng lặp `for` với `range(len(f.readlines()))`.
  • D. Đệ quy.

Câu 30: Bạn có một tệp lớn chứa thông tin giao dịch ngân hàng. Để tìm kiếm nhanh chóng các giao dịch của một khách hàng cụ thể (giả sử dữ liệu không sắp xếp), thuật toán tìm kiếm nào sẽ phù hợp hơn về mặt tốc độ?

  • A. Tìm kiếm tuần tự (Sequential Search)
  • B. Tìm kiếm nhị phân (Binary Search)
  • C. Cả hai thuật toán đều có tốc độ tương đương.
  • D. Không thuật toán nào phù hợp 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 20: Thực hành bài toán tìm kiếm

Tags: Bộ đề 3

Câu 1: Trong Python, khi làm việc với tệp văn bản, chế độ mở tệp nào sau đây cho phép bạn vừa đọc vừa ghi dữ liệu vào tệp, đồng thời tạo tệp mới nếu nó chưa tồn tại?

2 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 20: Thực hành bài toán tìm kiếm

Tags: Bộ đề 3

Câu 2: Cho đoạn mã Python sau:
```python
f = open("my_file.txt", "w")
f.write("Dòng đầu tiênn")
f.write("Dòng thứ hain")
f.close()
```
Điều gì xảy ra với tệp 'my_file.txt' nếu nó đã tồn tại trước khi đoạn mã này được thực thi?

3 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 20: Thực hành bài toán tìm kiếm

Tags: Bộ đề 3

Câu 3: Bạn có một danh sách tên học sinh đã được sắp xếp theo thứ tự bảng chữ cái. Để tìm kiếm một tên cụ thể trong danh sách này một cách hiệu quả nhất, thuật toán tìm kiếm nào sau đây nên được sử dụng?

4 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 20: Thực hành bài toán tìm kiếm

Tags: Bộ đề 3

Câu 4: Trong thuật toán tìm kiếm nhị phân, giả sử bạn đang tìm kiếm số 35 trong danh sách đã sắp xếp: [10, 20, 25, 30, 35, 40, 45, 50]. Ở bước đầu tiên, phần tử ở vị trí giữa (40) được so sánh với 35. Bước tiếp theo thuật toán sẽ thực hiện như thế nào?

5 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 20: Thực hành bài toán tìm kiếm

Tags: Bộ đề 3

Câu 5: Hàm `readlines()` trong Python trả về kiểu dữ liệu nào sau đây khi đọc nội dung từ một tệp văn bản?

6 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 20: Thực hành bài toán tìm kiếm

Tags: Bộ đề 3

Câu 6: Cho tệp văn bản 'scores.txt' chứa dữ liệu điểm thi của học sinh, mỗi dòng có định dạng 'Tên_học_sinh Điểm_số'. Để đọc dữ liệu từ tệp và lưu trữ tên và điểm vào hai danh sách riêng biệt (TenHS và DiemHS), bạn sẽ sử dụng đoạn mã Python nào sau đây?

7 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 20: Thực hành bài toán tìm kiếm

Tags: Bộ đề 3

Câu 7: Trong Python, phương thức `strip()` thường được sử dụng với dữ liệu kiểu chuỗi để làm gì?

8 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 20: Thực hành bài toán tìm kiếm

Tags: Bộ đề 3

Câu 8: Giả sử bạn có một tệp nhật ký hoạt động của người dùng trên hệ thống, mỗi dòng chứa thông tin về thời gian truy cập, tên người dùng và hành động thực hiện. Bạn muốn đếm số lần truy cập của mỗi người dùng. Để thực hiện điều này, cấu trúc dữ liệu nào sau đây trong Python sẽ phù hợp nhất để lưu trữ kết quả đếm?

9 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 20: Thực hành bài toán tìm kiếm

Tags: Bộ đề 3

Câu 9: Xét đoạn mã Python sau:
```python
numbers = [15, 8, 23, 42, 11, 7]
target = 23
```
Nếu sử dụng thuật toán tìm kiếm tuần tự để tìm vị trí của `target` trong danh sách `numbers`, số lần so sánh cần thực hiện là bao nhiêu?

10 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 20: Thực hành bài toán tìm kiếm

Tags: Bộ đề 3

Câu 10: Trong bài toán tìm kiếm điểm học sinh từ tệp, khi người dùng nhập tên học sinh cần tìm, điều gì xảy ra nếu tên học sinh đó không có trong danh sách dữ liệu?

11 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 20: Thực hành bài toán tìm kiếm

Tags: Bộ đề 3

Câu 11: Để ghi nhiều dòng văn bản vào một tệp trong Python, cách nào sau đây là hiệu quả nhất?

12 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 20: Thực hành bài toán tìm kiếm

Tags: Bộ đề 3

Câu 12: Bạn có một tệp CSV chứa thông tin sản phẩm (tên sản phẩm, giá, số lượng). Bạn muốn đọc tệp này và tính tổng giá trị tồn kho (giá * số lượng) cho tất cả sản phẩm. Thao tác xử lý dữ liệu nào sau đây là cần thiết sau khi đọc mỗi dòng từ tệp?

13 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 20: Thực hành bài toán tìm kiếm

Tags: Bộ đề 3

Câu 13: Trong thuật toán tìm kiếm nhị phân, nếu giá trị cần tìm nhỏ hơn phần tử ở vị trí giữa của danh sách, phạm vi tìm kiếm sẽ được thu hẹp về phía nào?

14 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 20: Thực hành bài toán tìm kiếm

Tags: Bộ đề 3

Câu 14: Cho danh sách số đã được sắp xếp: `data = [2, 5, 8, 12, 16, 23, 38, 56, 72, 91]`. Bạn muốn kiểm tra xem số 12 có nằm trong danh sách này hay không bằng thuật toán tìm kiếm nhị phân. Hỏi cần bao nhiêu bước so sánh để xác định được điều này?

15 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 20: Thực hành bài toán tìm kiếm

Tags: Bộ đề 3

Câu 15: Khi mở một tệp văn bản bằng lệnh `f = open("data.txt", "r", encoding="UTF-8")`, nếu tệp 'data.txt' không tồn tại, điều gì sẽ xảy ra?

16 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 20: Thực hành bài toán tìm kiếm

Tags: Bộ đề 3

Câu 16: Phương thức `write()` trong Python dùng để ghi dữ liệu vào tệp, dữ liệu truyền vào phương thức này phải thuộc kiểu dữ liệu nào?

17 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 20: Thực hành bài toán tìm kiếm

Tags: Bộ đề 3

Câu 17: Để đảm bảo tài nguyên hệ thống được giải phóng sau khi hoàn tất thao tác đọc/ghi tệp, bạn nên sử dụng cấu trúc nào sau đây trong Python?

18 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 20: Thực hành bài toán tìm kiếm

Tags: Bộ đề 3

Câu 18: Cho đoạn mã Python:
```python
f = open("output.txt", "a")
f.write("Thêm dòng mới")
```
Nếu tệp 'output.txt' đã tồn tại và có nội dung, sau khi chạy đoạn mã trên, nội dung của tệp sẽ như thế nào?

19 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 20: Thực hành bài toán tìm kiếm

Tags: Bộ đề 3

Câu 19: Trong bài toán tìm kiếm, độ phức tạp thời gian của thuật toán tìm kiếm tuần tự trong trường hợp xấu nhất là tuyến tính, tức là O(n). Điều này có nghĩa là gì?

20 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 20: Thực hành bài toán tìm kiếm

Tags: Bộ đề 3

Câu 20: Thuật toán tìm kiếm nhị phân hoạt động hiệu quả nhất trên dữ liệu có đặc điểm gì?

21 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 20: Thực hành bài toán tìm kiếm

Tags: Bộ đề 3

Câu 21: Để đọc toàn bộ nội dung của một tệp văn bản vào một biến kiểu chuỗi duy nhất trong Python, bạn sẽ sử dụng phương thức nào?

22 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 20: Thực hành bài toán tìm kiếm

Tags: Bộ đề 3

Câu 22: Trong Python, khi làm việc với tệp văn bản tiếng Việt, tham số `encoding='UTF-8'` được sử dụng để làm gì khi mở tệp?

23 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 20: Thực hành bài toán tìm kiếm

Tags: Bộ đề 3

Câu 23: Cho danh sách học sinh và điểm: `students = [('An', 8.5), ('Bình', 7.9), ('Cường', 9.0)]`. Để ghi danh sách này vào tệp 'student_scores.txt', mỗi học sinh trên một dòng với định dạng 'Tên - Điểm', bạn sẽ sử dụng vòng lặp và lệnh ghi nào?

24 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 20: Thực hành bài toán tìm kiếm

Tags: Bộ đề 3

Câu 24: Trong bài toán tìm kiếm điểm, giả sử dữ liệu điểm được lưu trong tệp 'grades.txt' và bạn đã đọc dữ liệu vào danh sách `grade_data`. Để tìm điểm của học sinh có tên 'Lan', bạn sẽ sử dụng đoạn mã nào (giả sử dữ liệu đã được xử lý để có danh sách tên và điểm tương ứng)?

25 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 20: Thực hành bài toán tìm kiếm

Tags: Bộ đề 3

Câu 25: Xét danh sách số: `numbers = [5, 2, 8, 1, 9, 4]`. Nếu bạn sử dụng thuật toán tìm kiếm nhị phân để tìm số 9 trong danh sách này, điều gì sẽ xảy ra?

26 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 20: Thực hành bài toán tìm kiếm

Tags: Bộ đề 3

Câu 26: Trong Python, lệnh nào sau đây được sử dụng để kiểm tra xem một tệp có tồn tại hay không trước khi thực hiện thao tác đọc hoặc ghi?

27 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 20: Thực hành bài toán tìm kiếm

Tags: Bộ đề 3

Câu 27: Cho đoạn mã Python:
```python
f = open("info.txt", "r")
lines = f.readlines()
print(lines[2])
f.close()
```
Đoạn mã này sẽ in ra dòng nào từ tệp 'info.txt'?

28 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 20: Thực hành bài toán tìm kiếm

Tags: Bộ đề 3

Câu 28: Trong bài toán tìm kiếm điểm học sinh, giả sử bạn muốn cho phép người dùng nhập tên học sinh không phân biệt chữ hoa chữ thường (ví dụ, 'Lan', 'lan', 'LAN' đều tìm ra điểm của học sinh tên Lan). Bạn cần thực hiện thao tác gì trước khi so sánh tên nhập vào với tên trong danh sách?

29 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 20: Thực hành bài toán tìm kiếm

Tags: Bộ đề 3

Câu 29: Để đọc từng dòng trong một tệp văn bản và thực hiện xử lý trên từng dòng một cách tuần tự, cấu trúc lặp nào sau đây trong Python là phù hợp nhất?

30 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 20: Thực hành bài toán tìm kiếm

Tags: Bộ đề 3

Câu 30: Bạn có một tệp lớn chứa thông tin giao dịch ngân hàng. Để tìm kiếm nhanh chóng các giao dịch của một khách hàng cụ thể (giả sử dữ liệu không sắp xếp), thuật toán tìm kiếm nào sẽ phù hợp hơn về mặt tốc độ?

Xem kết quả

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 20: Thực hành bài toán tìm kiếm

Trắc nghiệm Tin học 11 Kết nối tri thức Bài 20: Thực hành bài toán tìm kiếm - Đề 04

Trắc nghiệm Tin học 11 Kết nối tri thức Bài 20: Thực hành bài toán tìm kiếm - Đề 04 bao gồm nhiều câu hỏi hay, bám sát chương trình. Cùng làm bài tập trắc nghiệm ngay.

Câu 1: Trong Python, để mở một tệp văn bản có tên "du_lieu.txt" để đọc, và đảm bảo rằng các ký tự Unicode được xử lý đúng cách, bạn sẽ sử dụng lệnh nào sau đây?

  • A. f = open("du_lieu.txt", "w")
  • B. f = open("du_lieu.txt", "r", encoding="utf-8")
  • C. f = open("du_lieu.txt", "a")
  • D. f = open("du_lieu.txt", "x")

Câu 2: Cho đoạn mã Python sau:
```python
f = open("thong_tin.txt", "w")
f.write("Lớp 11A1n")
f.write("Sĩ số: 45")
f.close()
```
Đoạn mã này thực hiện thao tác gì?

  • A. Tạo một tệp "thong_tin.txt" và ghi nội dung "Lớp 11A1" ở dòng đầu và "Sĩ số: 45" ở dòng thứ hai.
  • B. Đọc dữ liệu từ tệp "thong_tin.txt" và hiển thị trên màn hình.
  • C. Thêm nội dung "Lớp 11A1" và "Sĩ số: 45" vào cuối tệp "thong_tin.txt" nếu tệp đã tồn tại.
  • D. Xóa tệp "thong_tin.txt" nếu nó tồn tại, sau đó tạo một tệp mới với tên đó.

Câu 3: Bạn có một danh sách tên học sinh đã được sắp xếp theo thứ tự bảng chữ cái. Để tìm kiếm tên một học sinh cụ thể trong danh sách này một cách nhanh nhất, thuật toán tìm kiếm nào sau đây là phù hợp nhất?

  • A. Tìm kiếm tuyến tính (Sequential Search)
  • B. Tìm kiếm theo chiều sâu (Depth-First Search)
  • C. Tìm kiếm nhị phân (Binary Search)
  • D. Tìm kiếm theo chiều rộng (Breadth-First Search)

Câu 4: Trong thuật toán tìm kiếm nhị phân, nếu giá trị cần tìm lớn hơn giá trị ở vị trí giữa của danh sách đang xét, thì bước tiếp theo sẽ là gì?

  • A. Tìm kiếm ở nửa đầu của danh sách.
  • B. Tìm kiếm ở nửa sau của danh sách.
  • C. Dừng tìm kiếm và thông báo không tìm thấy.
  • D. Tìm kiếm tuần tự từ đầu danh sách.

Câu 5: Lệnh `f.readlines()` trong Python trả về đối tượng dữ liệu nào sau đây?

  • A. Một danh sách các chuỗi, mỗi chuỗi là một dòng trong tệp.
  • B. Một chuỗi duy nhất chứa toàn bộ nội dung của tệp.
  • C. Một số nguyên表示 số dòng trong tệp.
  • D. Một đối tượng tệp để tiếp tục đọc dữ liệu.

Câu 6: Giả sử bạn có một tệp "diem_thi.txt" chứa thông tin điểm thi của học sinh, mỗi dòng có định dạng "Tên_học_sinh Điểm_số". Bạn muốn viết chương trình Python để đọc dữ liệu từ tệp này và tìm kiếm điểm của một học sinh khi nhập tên. Cấu trúc chương trình nào sau đây là hợp lý nhất?

  • A. Mở tệp, ghi tên học sinh cần tìm vào tệp, sau đó đọc lại tệp để lấy điểm.
  • B. Mở tệp, đọc toàn bộ dữ liệu vào bộ nhớ, sau đó thực hiện tìm kiếm trong dữ liệu đã đọc.
  • C. Chỉ mở tệp khi cần tìm kiếm, đọc từng dòng cho đến khi tìm thấy tên học sinh.
  • D. Sử dụng một dịch vụ trực tuyến để tìm kiếm thông tin điểm thi.

Câu 7: Khi thực hiện tìm kiếm tuần tự trong một danh sách có N phần tử, trường hợp tốt nhất (best-case scenario) về số lần so sánh là bao nhiêu?

  • A. 1 lần so sánh.
  • B. N lần so sánh.
  • C. N/2 lần so sánh.
  • D. log₂(N) lần so sánh.

Câu 8: Trong Python, để đảm bảo tệp tin được đóng lại một cách tự động ngay cả khi có lỗi xảy ra trong quá trình xử lý tệp, cấu trúc nào sau đây nên được sử dụng?

  • A. Sử dụng lệnh `try...except...finally` và đóng tệp trong khối `finally`.
  • B. Chỉ sử dụng `f.open()` và `f.close()` một cách tuần tự.
  • C. Để Python tự động quản lý việc đóng tệp sau khi chương trình kết thúc.
  • D. Sử dụng cấu trúc `with open(...) as f:`.

Câu 9: Cho đoạn code Python:
```python
f = open("data.txt", "r")
for line in f:
print(line.strip())
f.close()
```
Đoạn code này làm gì?

  • A. Ghi nội dung vào tệp "data.txt".
  • B. Đọc từng dòng từ tệp "data.txt" và in ra màn hình, loại bỏ khoảng trắng đầu và cuối mỗi dòng.
  • C. Đếm số dòng trong tệp "data.txt".
  • D. Kiểm tra xem tệp "data.txt" có tồn tại hay không.

Câu 10: Trong bài toán tìm kiếm điểm học sinh từ tệp, nếu danh sách học sinh không được sắp xếp, thuật toán tìm kiếm nào sau đây là bắt buộc phải sử dụng?

  • A. Tìm kiếm tuyến tính (Sequential Search).
  • B. Tìm kiếm nhị phân (Binary Search).
  • C. Tìm kiếm nội suy (Interpolation Search).
  • D. Tìm kiếm nhảy bậc (Jump Search).

Câu 11: Phương thức `split()` trong Python thường được sử dụng để làm gì khi xử lý dữ liệu đọc từ tệp văn bản?

  • A. Để mã hóa dữ liệu trước khi ghi vào tệp.
  • B. Để đọc toàn bộ nội dung tệp thành một chuỗi.
  • C. Để phân tách một dòng văn bản thành danh sách các từ hoặc giá trị dựa trên dấu phân cách.
  • D. Để loại bỏ các dòng trống trong tệp.

Câu 12: Khi mở một tệp với chế độ "a" trong Python, điều gì xảy ra nếu tệp đã tồn tại?

  • A. Nội dung hiện tại của tệp sẽ bị xóa và ghi dữ liệu mới từ đầu.
  • B. Tệp sẽ được mở để thêm dữ liệu vào cuối tệp mà không xóa nội dung hiện tại.
  • C. Chương trình sẽ báo lỗi vì tệp đã tồn tại.
  • D. Tệp sẽ được mở ở chế độ chỉ đọc.

Câu 13: Trong thuật toán tìm kiếm nhị phân, điều kiện tiên quyết nào sau đây phải được đáp ứng bởi dữ liệu để thuật toán hoạt động chính xác?

  • A. Dữ liệu phải là số nguyên.
  • B. Dữ liệu phải được lưu trữ trong tệp văn bản.
  • C. Dữ liệu phải được sắp xếp theo một thứ tự nhất định.
  • D. Dữ liệu không được chứa giá trị trùng lặp.

Câu 14: Xét tình huống bạn cần tìm kiếm thông tin về một sản phẩm trong một danh sách rất lớn các sản phẩm (hàng triệu sản phẩm) đã được sắp xếp theo mã sản phẩm. Thuật toán tìm kiếm nào sẽ mang lại hiệu quả thời gian tốt nhất?

  • A. Tìm kiếm tuyến tính (Sequential Search).
  • B. Tìm kiếm nhị phân (Binary Search).
  • C. Tìm kiếm ngẫu nhiên (Random Search).
  • D. Tìm kiếm theo mẫu (Pattern Search).

Câu 15: Trong Python, để ghi dữ liệu vào tệp và đảm bảo mỗi lần ghi là một dòng mới, bạn nên sử dụng ký tự đặc biệt nào?

  • A. t
  • B. r
  • C. n
  • D. b

Câu 16: Bạn có một chương trình Python đọc dữ liệu từ tệp và thực hiện tìm kiếm. Nếu tệp tin không tồn tại tại đường dẫn được chỉ định, chương trình sẽ gặp phải lỗi gì?

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

Câu 17: Cho danh sách số [2, 5, 8, 12, 16, 23, 38, 56, 72, 91]. Sử dụng thuật toán tìm kiếm nhị phân để tìm số 23. Hỏi số 23 sẽ được so sánh với phần tử ở vị trí giữa danh sách bao nhiêu lần?

  • A. 1 lần
  • B. 2 lần
  • C. 3 lần
  • D. 4 lần

Câu 18: Trong một chương trình quản lý thư viện, bạn cần tìm kiếm sách theo tiêu đề. Nếu bạn có một danh sách lớn các tiêu đề sách không được sắp xếp, bạn sẽ ưu tiên sử dụng thuật toán tìm kiếm nào để đảm bảo tính đúng đắn của kết quả tìm kiếm?

  • A. Tìm kiếm tuyến tính (Sequential Search)
  • B. Tìm kiếm nhị phân (Binary Search)
  • C. Tìm kiếm nội suy (Interpolation Search)
  • D. Tìm kiếm ngẫu nhiên (Random Search)

Câu 19: Khi đọc dữ liệu từ tệp văn bản, bạn nhận thấy các dòng chứa ký tự xuống dòng (`n`) ở cuối. Phương thức chuỗi nào của Python giúp loại bỏ ký tự này một cách hiệu quả nhất?

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

Câu 20: Xét đoạn mã Python sau:
```python
f = open("ket_qua.txt", "a")
data = ["Nguyen Van A", "10", "n"]
f.writelines(data)
f.close()
```
Điều gì sẽ xảy ra với tệp "ket_qua.txt" sau khi đoạn mã này được thực thi?

  • A. Tệp "ket_qua.txt" sẽ bị xóa và tạo mới với nội dung "Nguyen Van A10".
  • B. Tệp "ket_qua.txt" sẽ chứa dòng "Nguyen Van A", sau đó là dòng "10".
  • C. Nếu tệp "ket_qua.txt" đã tồn tại, nội dung "Nguyen Van A10n" sẽ được thêm vào cuối tệp.
  • D. Chương trình sẽ báo lỗi vì không thể ghi danh sách vào tệp ở chế độ "a".

Câu 21: Trong thuật toán tìm kiếm nhị phân, nếu danh sách có 15 phần tử, số lần so sánh tối đa trong trường hợp xấu nhất (worst-case scenario) để tìm một phần tử là bao nhiêu?

  • A. 2 lần
  • B. 3 lần
  • C. 15 lần
  • D. 4 lần

Câu 22: Để đọc đồng thời nhiều dòng từ tệp văn bản và lưu chúng vào một danh sách trong Python, bạn sử dụng phương thức nào?

  • A. read()
  • B. readlines()
  • C. readline()
  • D. readall()

Câu 23: Khi thực hiện tìm kiếm nhị phân, nếu giá trị ở vị trí giữa danh sách bằng với giá trị cần tìm, thuật toán sẽ thực hiện bước tiếp theo nào?

  • A. Kết thúc tìm kiếm và trả về vị trí tìm thấy.
  • B. Tiếp tục tìm kiếm ở nửa đầu danh sách.
  • C. Tiếp tục tìm kiếm ở nửa sau danh sách.
  • D. Tìm kiếm toàn bộ danh sách từ đầu đến cuối.

Câu 24: Trong Python, lệnh nào sau đây dùng để kiểm tra xem một tệp tin có tồn tại hay không trước khi thực hiện thao tác đọc hoặc ghi?

  • A. try-except block với FileNotFoundError
  • B. Lệnh `f.isFile()`
  • C. Sử dụng module `os.path.exists()`
  • D. Lệnh `check_file_exists()`

Câu 25: Giả sử bạn có một tệp nhật ký (log file) rất lớn và bạn muốn tìm tất cả các dòng nhật ký chứa một cụm từ khóa nhất định. Thuật toán tìm kiếm nào sẽ phù hợp nhất trong trường hợp này?

  • A. Tìm kiếm tuyến tính (Sequential Search)
  • B. Tìm kiếm nhị phân (Binary Search)
  • C. Tìm kiếm nội suy (Interpolation Search)
  • D. Tìm kiếm nhảy bậc (Jump Search)

Câu 26: Phương thức `readline()` trong Python được sử dụng để làm gì khi đọc tệp?

  • A. Đọc toàn bộ nội dung của tệp vào một chuỗi.
  • B. Đọc tất cả các dòng của tệp và trả về một danh sách.
  • C. Đọc một dòng duy nhất từ tệp.
  • D. Đọc một số lượng byte nhất định từ tệp.

Câu 27: Trong quá trình tìm kiếm nhị phân, nếu phạm vi tìm kiếm trở nên rỗng (không còn phần tử nào để xét), điều đó có nghĩa là gì?

  • A. Giá trị cần tìm nằm ở vị trí giữa danh sách.
  • B. Giá trị cần tìm không tồn tại trong danh sách.
  • C. Cần phải sắp xếp lại danh sách và thử lại.
  • D. Thuật toán tìm kiếm nhị phân đã gặp lỗi.

Câu 28: Để ghi nhiều dòng văn bản vào một tệp tin trong Python, bạn có thể sử dụng phương thức `writelines()` với đối số là loại dữ liệu nào?

  • A. Một chuỗi duy nhất chứa tất cả các dòng.
  • B. Một từ điển (dictionary) với các dòng là giá trị.
  • C. Một danh sách (list) các chuỗi, mỗi chuỗi là một dòng.
  • D. Một tuple các chuỗi.

Câu 29: Trong tình huống nào sau đây thì việc sử dụng thuật toán tìm kiếm tuyến tính (Sequential Search) sẽ hiệu quả hơn so với tìm kiếm nhị phân?

  • A. Khi danh sách cần tìm kiếm có kích thước rất lớn (hàng triệu phần tử).
  • B. Khi dữ liệu đã được sắp xếp.
  • C. Khi cần tìm kiếm nhiều lần trong cùng một danh sách.
  • D. Khi danh sách cần tìm kiếm có kích thước nhỏ.

Câu 30: Bạn muốn viết một chương trình Python để đọc danh sách tên học sinh từ tệp "hoc_sinh.txt", sau đó cho phép người dùng nhập tên học sinh và hiển thị thông báo "Tìm thấy" hoặc "Không tìm thấy" tùy thuộc vào việc tên học sinh có trong danh sách hay không. Để tối ưu hiệu suất tìm kiếm nếu danh sách học sinh rất lớn, bạn nên làm gì trước khi thực hiện tìm kiếm?

  • A. Sử dụng thuật toán tìm kiếm tuyến tính vì nó đơn giản.
  • B. Sắp xếp danh sách tên học sinh sau khi đọc từ tệp, sau đó sử dụng thuật toán tìm kiếm nhị phân.
  • C. Chia nhỏ tệp "hoc_sinh.txt" thành nhiều tệp nhỏ hơn để tìm kiếm song song.
  • D. Không cần tối ưu gì cả, vì tìm kiếm trong Python vốn đã nhanh.

1 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 20: Thực hành bài toán tìm kiếm

Tags: Bộ đề 4

Câu 1: Trong Python, để mở một tệp văn bản có tên 'du_lieu.txt' để đọc, và đảm bảo rằng các ký tự Unicode được xử lý đúng cách, bạn sẽ sử dụng lệnh nào sau đây?

2 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 20: Thực hành bài toán tìm kiếm

Tags: Bộ đề 4

Câu 2: Cho đoạn mã Python sau:
```python
f = open('thong_tin.txt', 'w')
f.write('Lớp 11A1n')
f.write('Sĩ số: 45')
f.close()
```
Đoạn mã này thực hiện thao tác gì?

3 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 20: Thực hành bài toán tìm kiếm

Tags: Bộ đề 4

Câu 3: Bạn có một danh sách tên học sinh đã được sắp xếp theo thứ tự bảng chữ cái. Để tìm kiếm tên một học sinh cụ thể trong danh sách này một cách nhanh nhất, thuật toán tìm kiếm nào sau đây là phù hợp nhất?

4 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 20: Thực hành bài toán tìm kiếm

Tags: Bộ đề 4

Câu 4: Trong thuật toán tìm kiếm nhị phân, nếu giá trị cần tìm lớn hơn giá trị ở vị trí giữa của danh sách đang xét, thì bước tiếp theo sẽ là gì?

5 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 20: Thực hành bài toán tìm kiếm

Tags: Bộ đề 4

Câu 5: Lệnh `f.readlines()` trong Python trả về đối tượng dữ liệu nào sau đây?

6 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 20: Thực hành bài toán tìm kiếm

Tags: Bộ đề 4

Câu 6: Giả sử bạn có một tệp 'diem_thi.txt' chứa thông tin điểm thi của học sinh, mỗi dòng có định dạng 'Tên_học_sinh Điểm_số'. Bạn muốn viết chương trình Python để đọc dữ liệu từ tệp này và tìm kiếm điểm của một học sinh khi nhập tên. Cấu trúc chương trình nào sau đây là hợp lý nhất?

7 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 20: Thực hành bài toán tìm kiếm

Tags: Bộ đề 4

Câu 7: Khi thực hiện tìm kiếm tuần tự trong một danh sách có N phần tử, trường hợp tốt nhất (best-case scenario) về số lần so sánh là bao nhiêu?

8 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 20: Thực hành bài toán tìm kiếm

Tags: Bộ đề 4

Câu 8: Trong Python, để đảm bảo tệp tin được đóng lại một cách tự động ngay cả khi có lỗi xảy ra trong quá trình xử lý tệp, cấu trúc nào sau đây nên được sử dụng?

9 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 20: Thực hành bài toán tìm kiếm

Tags: Bộ đề 4

Câu 9: Cho đoạn code Python:
```python
f = open('data.txt', 'r')
for line in f:
print(line.strip())
f.close()
```
Đoạn code này làm gì?

10 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 20: Thực hành bài toán tìm kiếm

Tags: Bộ đề 4

Câu 10: Trong bài toán tìm kiếm điểm học sinh từ tệp, nếu danh sách học sinh không được sắp xếp, thuật toán tìm kiếm nào sau đây là bắt buộc phải sử dụng?

11 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 20: Thực hành bài toán tìm kiếm

Tags: Bộ đề 4

Câu 11: Phương thức `split()` trong Python thường được sử dụng để làm gì khi xử lý dữ liệu đọc từ tệp văn bản?

12 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 20: Thực hành bài toán tìm kiếm

Tags: Bộ đề 4

Câu 12: Khi mở một tệp với chế độ 'a' trong Python, điều gì xảy ra nếu tệp đã tồn tại?

13 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 20: Thực hành bài toán tìm kiếm

Tags: Bộ đề 4

Câu 13: Trong thuật toán tìm kiếm nhị phân, điều kiện tiên quyết nào sau đây phải được đáp ứng bởi dữ liệu để thuật toán hoạt động chính xác?

14 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 20: Thực hành bài toán tìm kiếm

Tags: Bộ đề 4

Câu 14: Xét tình huống bạn cần tìm kiếm thông tin về một sản phẩm trong một danh sách rất lớn các sản phẩm (hàng triệu sản phẩm) đã được sắp xếp theo mã sản phẩm. Thuật toán tìm kiếm nào sẽ mang lại hiệu quả thời gian tốt nhất?

15 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 20: Thực hành bài toán tìm kiếm

Tags: Bộ đề 4

Câu 15: Trong Python, để ghi dữ liệu vào tệp và đảm bảo mỗi lần ghi là một dòng mới, bạn nên sử dụng ký tự đặc biệt nào?

16 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 20: Thực hành bài toán tìm kiếm

Tags: Bộ đề 4

Câu 16: Bạn có một chương trình Python đọc dữ liệu từ tệp và thực hiện tìm kiếm. Nếu tệp tin không tồn tại tại đường dẫn được chỉ định, chương trình sẽ gặp phải lỗi gì?

17 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 20: Thực hành bài toán tìm kiếm

Tags: Bộ đề 4

Câu 17: Cho danh sách số [2, 5, 8, 12, 16, 23, 38, 56, 72, 91]. Sử dụng thuật toán tìm kiếm nhị phân để tìm số 23. Hỏi số 23 sẽ được so sánh với phần tử ở vị trí giữa danh sách bao nhiêu lần?

18 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 20: Thực hành bài toán tìm kiếm

Tags: Bộ đề 4

Câu 18: Trong một chương trình quản lý thư viện, bạn cần tìm kiếm sách theo tiêu đề. Nếu bạn có một danh sách lớn các tiêu đề sách không được sắp xếp, bạn sẽ ưu tiên sử dụng thuật toán tìm kiếm nào để đảm bảo tính đúng đắn của kết quả tìm kiếm?

19 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 20: Thực hành bài toán tìm kiếm

Tags: Bộ đề 4

Câu 19: Khi đọc dữ liệu từ tệp văn bản, bạn nhận thấy các dòng chứa ký tự xuống dòng (`n`) ở cuối. Phương thức chuỗi nào của Python giúp loại bỏ ký tự này một cách hiệu quả nhất?

20 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 20: Thực hành bài toán tìm kiếm

Tags: Bộ đề 4

Câu 20: Xét đoạn mã Python sau:
```python
f = open('ket_qua.txt', 'a')
data = ['Nguyen Van A', '10', 'n']
f.writelines(data)
f.close()
```
Điều gì sẽ xảy ra với tệp 'ket_qua.txt' sau khi đoạn mã này được thực thi?

21 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 20: Thực hành bài toán tìm kiếm

Tags: Bộ đề 4

Câu 21: Trong thuật toán tìm kiếm nhị phân, nếu danh sách có 15 phần tử, số lần so sánh tối đa trong trường hợp xấu nhất (worst-case scenario) để tìm một phần tử là bao nhiêu?

22 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 20: Thực hành bài toán tìm kiếm

Tags: Bộ đề 4

Câu 22: Để đọc đồng thời nhiều dòng từ tệp văn bản và lưu chúng vào một danh sách trong Python, bạn sử dụng phương thức nào?

23 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 20: Thực hành bài toán tìm kiếm

Tags: Bộ đề 4

Câu 23: Khi thực hiện tìm kiếm nhị phân, nếu giá trị ở vị trí giữa danh sách bằng với giá trị cần tìm, thuật toán sẽ thực hiện bước tiếp theo nào?

24 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 20: Thực hành bài toán tìm kiếm

Tags: Bộ đề 4

Câu 24: Trong Python, lệnh nào sau đây dùng để kiểm tra xem một tệp tin có tồn tại hay không trước khi thực hiện thao tác đọc hoặc ghi?

25 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 20: Thực hành bài toán tìm kiếm

Tags: Bộ đề 4

Câu 25: Giả sử bạn có một tệp nhật ký (log file) rất lớn và bạn muốn tìm tất cả các dòng nhật ký chứa một cụm từ khóa nhất định. Thuật toán tìm kiếm nào sẽ phù hợp nhất trong trường hợp này?

26 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 20: Thực hành bài toán tìm kiếm

Tags: Bộ đề 4

Câu 26: Phương thức `readline()` trong Python được sử dụng để làm gì khi đọc tệp?

27 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 20: Thực hành bài toán tìm kiếm

Tags: Bộ đề 4

Câu 27: Trong quá trình tìm kiếm nhị phân, nếu phạm vi tìm kiếm trở nên rỗng (không còn phần tử nào để xét), điều đó có nghĩa là gì?

28 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 20: Thực hành bài toán tìm kiếm

Tags: Bộ đề 4

Câu 28: Để ghi nhiều dòng văn bản vào một tệp tin trong Python, bạn có thể sử dụng phương thức `writelines()` với đối số là loại dữ liệu nào?

29 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 20: Thực hành bài toán tìm kiếm

Tags: Bộ đề 4

Câu 29: Trong tình huống nào sau đây thì việc sử dụng thuật toán tìm kiếm tuyến tính (Sequential Search) sẽ hiệu quả hơn so với tìm kiếm nhị phân?

30 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 20: Thực hành bài toán tìm kiếm

Tags: Bộ đề 4

Câu 30: Bạn muốn viết một chương trình Python để đọc danh sách tên học sinh từ tệp 'hoc_sinh.txt', sau đó cho phép người dùng nhập tên học sinh và hiển thị thông báo 'Tìm thấy' hoặc 'Không tìm thấy' tùy thuộc vào việc tên học sinh có trong danh sách hay không. Để tối ưu hiệu suất tìm kiếm nếu danh sách học sinh rất lớn, bạn nên làm gì trước khi thực hiện tìm kiếm?

Xem kết quả

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 20: Thực hành bài toán tìm kiếm

Trắc nghiệm Tin học 11 Kết nối tri thức Bài 20: Thực hành bài toán tìm kiếm - Đề 05

Trắc nghiệm Tin học 11 Kết nối tri thức Bài 20: Thực hành bài toán tìm kiếm - Đề 05 bao gồm nhiều câu hỏi hay, bám sát chương trình. Cùng làm bài tập trắc nghiệm ngay.

Câu 1: Trong Python, khi làm việc với tệp văn bản, chế độ mở tệp nào cho phép bạn đọc nội dung hiện có và ghi thêm dữ liệu vào cuối tệp, đồng thời tạo tệp mới nếu nó chưa tồn tại?

  • A.
  • B.
  • C.
  • D.

Câu 2: Cho đoạn mã Python sau:
```python
f = open(

  • A. 1
  • B. 5
  • C. 0
  • D. Không xác định

Câu 3: Xét một danh sách tên học sinh đã được sắp xếp theo thứ tự bảng chữ cái. Thuật toán tìm kiếm nào sau đây sẽ hiệu quả nhất để tìm kiếm một tên cụ thể trong danh sách này?

  • A. Tìm kiếm tuần tự (Sequential Search)
  • B. Tìm kiếm vét cạn (Brute Force Search)
  • C. Tìm kiếm nhị phân (Binary Search)
  • D. Tìm kiếm theo chiều sâu (Depth-First Search)

Câu 4: Trong thuật toán tìm kiếm nhị phân, giả sử bạn đang tìm kiếm giá trị 35 trong danh sách đã sắp xếp [10, 20, 25, 30, 35, 40, 45]. Ở bước đầu tiên, phần tử ở vị trí giữa (middle) là 30. Bước tiếp theo thuật toán sẽ thực hiện tìm kiếm trong nửa nào của danh sách?

  • A. Nửa đầu của danh sách (từ 10 đến 30)
  • B. Nửa cuối của danh sách (từ 35 đến 45)
  • C. Toàn bộ danh sách ban đầu
  • D. Nửa sau của danh sách (từ 35 đến 45)

Câu 5: Hàm `split()` trong Python thường được sử dụng để xử lý dữ liệu đọc từ tệp văn bản. Chức năng chính của hàm này là gì?

  • A. Tách một chuỗi thành danh sách các chuỗi con dựa trên một ký tự phân tách.
  • B. Kết hợp các chuỗi con thành một chuỗi lớn.
  • C. Đảo ngược thứ tự các ký tự trong chuỗi.
  • D. Tìm kiếm một chuỗi con trong một chuỗi lớn.

Câu 6: Khi thực hiện tìm kiếm tuần tự trong một danh sách có N phần tử, trường hợp tốt nhất (best-case scenario) về số lần so sánh là bao nhiêu?

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

Câu 7: Trong bài toán quản lý điểm học sinh, dữ liệu về tên và điểm được lưu trong tệp văn bản, mỗi dòng chứa "Tên_học_sinh Điểm_học_sinh". Để đọc và xử lý dữ liệu này trong Python, cấu trúc dữ liệu nào sau đây là phù hợp nhất để lưu trữ thông tin sau khi đọc từ tệp?

  • A. Một chuỗi duy nhất.
  • B. Hai danh sách song song (một cho tên, một cho điểm).
  • C. Một tập hợp (set).
  • D. Một số nguyên.

Câu 8: Giả sử bạn có danh sách tên học sinh chưa được sắp xếp. Bạn muốn tìm kiếm xem một tên học sinh cụ thể có trong danh sách hay không. Thuật toán tìm kiếm nào sau đây luôn cho kết quả đúng, bất kể danh sách có sắp xếp hay không?

  • A. Tìm kiếm tuần tự (Sequential Search)
  • B. Tìm kiếm nhị phân (Binary Search)
  • C. Tìm kiếm nội suy (Interpolation Search)
  • D. Tìm kiếm nhảy bậc (Jump Search)

Câu 9: Lệnh `f.write(data)` dùng để ghi dữ liệu vào tệp trong Python. Kiểu dữ liệu nào sau đây mà tham số `data` phải là?

  • A. Số nguyên
  • B. Danh sách
  • C. Chuỗi
  • D. Từ điển

Câu 10: Trong quá trình tìm kiếm thông tin từ tệp, sau khi hoàn thành các thao tác đọc/ghi, việc quan trọng cần thực hiện là gì?

  • A. Xóa tệp.
  • B. Đóng tệp (sử dụng `f.close()`).
  • C. Sao chép tệp sang thư mục khác.
  • D. Đổi tên tệp.

Câu 11: Xét đoạn mã Python sau:
```python
with open(

  • A. Đếm số dòng trong tệp "scores.txt".
  • B. Ghi tên "Lan" vào tệp "scores.txt".
  • C. Tính tổng điểm của tất cả học sinh trong tệp "scores.txt".
  • D. Tìm và in ra điểm của học sinh tên "Lan" từ tệp "scores.txt".

Câu 12: Tìm kiếm nhị phân có thể được áp dụng trực tiếp cho cấu trúc dữ liệu nào sau đây?

  • A. Tệp văn bản không có cấu trúc.
  • B. Danh sách (list) đã được sắp xếp.
  • C. Tệp âm thanh.
  • D. Tệp hình ảnh.

Câu 13: Để mở một tệp văn bản "report.txt" để đọc, và đảm bảo rằng mã nguồn có thể xử lý đúng các ký tự tiếng Việt, bạn nên sử dụng lệnh `open()` với tham số `encoding` nào?

  • A.
  • B.
  • C.
  • D.

Câu 14: Trong thuật toán tìm kiếm nhị phân, nếu giá trị cần tìm nhỏ hơn phần tử ở vị trí giữa (middle), thì phạm vi tìm kiếm sẽ được thu hẹp về phía nào của danh sách?

  • A. Nửa đầu danh sách (bên trái vị trí giữa).
  • B. Nửa cuối danh sách (bên phải vị trí giữa).
  • C. Không thay đổi phạm vi tìm kiếm.
  • D. Tìm kiếm ngẫu nhiên trong danh sách.

Câu 15: Phương thức `readline()` trong Python được sử dụng để đọc dữ liệu từ tệp. Phương thức này trả về kiểu dữ liệu gì?

  • A. Một danh sách các dòng.
  • B. Một số nguyên (số dòng đã đọc).
  • C. Toàn bộ nội dung tệp dưới dạng chuỗi.
  • D. Một dòng duy nhất dưới dạng chuỗi.

Câu 16: Trong bài toán tìm kiếm điểm học sinh, giả sử bạn sử dụng hai danh sách song song: `ten_hs` và `diem_hs`. Để tìm điểm của học sinh có tên "An", bạn cần thực hiện bước nào sau đây?

  • A. Sử dụng tìm kiếm nhị phân trực tiếp trên danh sách `diem_hs`.
  • B. Tìm vị trí của "An" trong `ten_hs` và sử dụng vị trí đó để truy xuất điểm từ `diem_hs`.
  • C. Sắp xếp danh sách `diem_hs` theo thứ tự tăng dần.
  • D. Đảo ngược danh sách `ten_hs`.

Câu 17: Khi nào thì thuật toán tìm kiếm tuần tự được ưu tiên sử dụng hơn so với tìm kiếm nhị phân?

  • A. Khi danh sách cần tìm kiếm có kích thước rất lớn và đã được sắp xếp.
  • B. Khi cần tìm kiếm phần tử ở vị trí giữa của danh sách.
  • C. Khi danh sách cần tìm kiếm có kích thước nhỏ hoặc chưa được sắp xếp.
  • D. Khi yêu cầu tốc độ tìm kiếm phải cực kỳ nhanh.

Câu 18: Để ghi nhiều dòng văn bản vào một tệp trong Python, phương thức nào sau đây là hiệu quả hơn khi sử dụng với vòng lặp?

  • A. `f.write()` chỉ ghi một lần duy nhất.
  • B. Sử dụng vòng lặp kết hợp với `f.write()` cho mỗi dòng.
  • C. Sử dụng `f.readline()` để ghi từng dòng.
  • D. Không thể ghi nhiều dòng vào tệp.

Câu 19: Trong Python, khối lệnh `with open(...) as f:` mang lại lợi ích gì so với cách mở tệp thông thường `f = open(...)`?

  • A. Tốc độ đọc/ghi tệp nhanh hơn.
  • B. Ít tốn bộ nhớ hơn.
  • C. Tự động đóng tệp sau khi khối lệnh `with` kết thúc, ngay cả khi có lỗi xảy ra.
  • D. Cho phép mở đồng thời nhiều tệp hơn.

Câu 20: Giả sử bạn có một tệp văn bản chứa thông tin sản phẩm, mỗi dòng có định dạng "Mã_SP,Tên_SP,Giá_SP". Để tìm kiếm sản phẩm theo tên sản phẩm, bạn cần thực hiện những bước xử lý nào sau khi đọc dữ liệu từ tệp?

  • A. Đọc từng dòng, tách thông tin theo dấu phẩy, và so sánh tên sản phẩm với từ khóa tìm kiếm.
  • B. Sắp xếp tệp theo tên sản phẩm rồi sử dụng tìm kiếm nhị phân.
  • C. Chuyển đổi tệp thành tệp nhị phân để tăng tốc độ tìm kiếm.
  • D. Sử dụng các hàm tìm kiếm nâng cao của hệ điều hành.

Câu 21: Trong thuật toán tìm kiếm nhị phân, điều gì xảy ra nếu giá trị cần tìm không có trong danh sách đã sắp xếp?

  • A. Thuật toán sẽ lặp vô hạn.
  • B. Thuật toán trả về phần tử gần nhất với giá trị cần tìm.
  • C. Thuật toán sẽ gây ra lỗi chương trình.
  • D. Thuật toán kết thúc và thông báo không tìm thấy.

Câu 22: Cho danh sách `numbers = [5, 2, 8, 1, 9]`. Nếu bạn muốn tìm kiếm số 8 bằng thuật toán tìm kiếm nhị phân, bước đầu tiên cần làm gì với danh sách này?

  • A. Sắp xếp danh sách `numbers` trước.
  • B. Đảo ngược danh sách `numbers`.
  • C. Chia danh sách `numbers` thành hai nửa.
  • D. Không cần xử lý gì thêm, có thể tìm kiếm nhị phân trực tiếp.

Câu 23: Khi mở tệp bằng chế độ "w" (ghi), nếu tệp đã tồn tại, điều gì sẽ xảy ra?

  • A. Chương trình sẽ báo lỗi và không mở tệp.
  • B. Nội dung cũ của tệp sẽ bị xóa và tệp được mở để ghi dữ liệu mới.
  • C. Tệp sẽ được mở ở chế độ chỉ đọc.
  • D. Dữ liệu mới sẽ được ghi thêm vào cuối tệp cũ.

Câu 24: Trong Python, để kiểm tra xem một tệp có tồn tại hay không trước khi thực hiện thao tác đọc, bạn có thể sử dụng module nào?

  • A. Module `file`.
  • B. Module `textfile`.
  • C. Module `os.path`.
  • D. Module `io`.

Câu 25: Ưu điểm chính của thuật toán tìm kiếm nhị phân so với tìm kiếm tuần tự là gì?

  • A. Dễ cài đặt và lập trình hơn.
  • B. Tốc độ tìm kiếm nhanh hơn đáng kể đối với dữ liệu lớn đã sắp xếp.
  • C. Có thể sử dụng cho cả dữ liệu chưa sắp xếp.
  • D. Yêu cầu ít bộ nhớ hơn để thực hiện.

Câu 26: Khi đọc dữ liệu từ tệp văn bản, nếu bạn muốn loại bỏ khoảng trắng thừa (ví dụ: khoảng trắng ở đầu và cuối dòng), bạn nên sử dụng phương thức chuỗi nào?

  • A. `upper()`
  • B. `lower()`
  • C. `replace()`
  • D. `strip()`

Câu 27: Trong bài toán tìm kiếm thông tin học sinh, giả sử dữ liệu được lưu trong tệp CSV. Để đọc và xử lý dữ liệu CSV, bạn có thể sử dụng module nào của Python?

  • A. `csv`
  • B. `txt`
  • C. `excel`
  • D. `json`

Câu 28: Xét đoạn mã Python:
```python
f = open(

  • A. Nội dung cũ bị xóa và chỉ còn dòng "New line".
  • B. Chương trình báo lỗi vì tệp đã tồn tại.
  • C. Dòng "New line" được thêm vào cuối nội dung cũ của tệp.
  • D. Không có gì thay đổi trong tệp.

Câu 29: Trong thuật toán tìm kiếm nhị phân, độ phức tạp thời gian trong trường hợp xấu nhất (worst-case scenario) là gì?

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

Câu 30: Bạn có một danh sách các số điện thoại và muốn kiểm tra nhanh chóng xem một số điện thoại cụ thể có trong danh sách hay không. Cấu trúc dữ liệu nào sau đây sẽ giúp tối ưu hóa tốc độ tìm kiếm?

  • A. Danh sách (List)
  • B. Bộ tuple (Tuple)
  • C. Hàng đợi (Queue)
  • D. Tập hợp (Set)

1 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 20: Thực hành bài toán tìm kiếm

Tags: Bộ đề 5

Câu 1: Trong Python, khi làm việc với tệp văn bản, chế độ mở tệp nào cho phép bạn đọc nội dung hiện có và ghi thêm dữ liệu vào cuối tệp, đồng thời tạo tệp mới nếu nó chưa tồn tại?

2 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 20: Thực hành bài toán tìm kiếm

Tags: Bộ đề 5

Câu 2: Cho đoạn mã Python sau:
```python
f = open("data.txt", "r")
lines = f.readlines()
print(len(lines))
f.close()
```
Nếu tệp 'data.txt' chứa 5 dòng văn bản, đoạn mã trên sẽ in ra giá trị nào?

3 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 20: Thực hành bài toán tìm kiếm

Tags: Bộ đề 5

Câu 3: Xét một danh sách tên học sinh đã được sắp xếp theo thứ tự bảng chữ cái. Thuật toán tìm kiếm nào sau đây sẽ hiệu quả nhất để tìm kiếm một tên cụ thể trong danh sách này?

4 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 20: Thực hành bài toán tìm kiếm

Tags: Bộ đề 5

Câu 4: Trong thuật toán tìm kiếm nhị phân, giả sử bạn đang tìm kiếm giá trị 35 trong danh sách đã sắp xếp [10, 20, 25, 30, 35, 40, 45]. Ở bước đầu tiên, phần tử ở vị trí giữa (middle) là 30. Bước tiếp theo thuật toán sẽ thực hiện tìm kiếm trong nửa nào của danh sách?

5 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 20: Thực hành bài toán tìm kiếm

Tags: Bộ đề 5

Câu 5: Hàm `split()` trong Python thường được sử dụng để xử lý dữ liệu đọc từ tệp văn bản. Chức năng chính của hàm này là gì?

6 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 20: Thực hành bài toán tìm kiếm

Tags: Bộ đề 5

Câu 6: Khi thực hiện tìm kiếm tuần tự trong một danh sách có N phần tử, trường hợp tốt nhất (best-case scenario) về số lần so sánh là bao nhiêu?

7 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 20: Thực hành bài toán tìm kiếm

Tags: Bộ đề 5

Câu 7: Trong bài toán quản lý điểm học sinh, dữ liệu về tên và điểm được lưu trong tệp văn bản, mỗi dòng chứa 'Tên_học_sinh Điểm_học_sinh'. Để đọc và xử lý dữ liệu này trong Python, cấu trúc dữ liệu nào sau đây là phù hợp nhất để lưu trữ thông tin sau khi đọc từ tệp?

8 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 20: Thực hành bài toán tìm kiếm

Tags: Bộ đề 5

Câu 8: Giả sử bạn có danh sách tên học sinh chưa được sắp xếp. Bạn muốn tìm kiếm xem một tên học sinh cụ thể có trong danh sách hay không. Thuật toán tìm kiếm nào sau đây *luôn* cho kết quả đúng, bất kể danh sách có sắp xếp hay không?

9 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 20: Thực hành bài toán tìm kiếm

Tags: Bộ đề 5

Câu 9: Lệnh `f.write(data)` dùng để ghi dữ liệu vào tệp trong Python. Kiểu dữ liệu nào sau đây mà tham số `data` *phải* là?

10 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 20: Thực hành bài toán tìm kiếm

Tags: Bộ đề 5

Câu 10: Trong quá trình tìm kiếm thông tin từ tệp, sau khi hoàn thành các thao tác đọc/ghi, việc quan trọng cần thực hiện là gì?

11 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 20: Thực hành bài toán tìm kiếm

Tags: Bộ đề 5

Câu 11: Xét đoạn mã Python sau:
```python
with open("scores.txt", "r") as f:
for line in f:
name, score = line.strip().split()
if name == "Lan":
print(score)
```
Đoạn mã này thực hiện công việc gì?

12 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 20: Thực hành bài toán tìm kiếm

Tags: Bộ đề 5

Câu 12: Tìm kiếm nhị phân có thể được áp dụng trực tiếp cho cấu trúc dữ liệu nào sau đây?

13 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 20: Thực hành bài toán tìm kiếm

Tags: Bộ đề 5

Câu 13: Để mở một tệp văn bản 'report.txt' để đọc, và đảm bảo rằng mã nguồn có thể xử lý đúng các ký tự tiếng Việt, bạn nên sử dụng lệnh `open()` với tham số `encoding` nào?

14 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 20: Thực hành bài toán tìm kiếm

Tags: Bộ đề 5

Câu 14: Trong thuật toán tìm kiếm nhị phân, nếu giá trị cần tìm nhỏ hơn phần tử ở vị trí giữa (middle), thì phạm vi tìm kiếm sẽ được thu hẹp về phía nào của danh sách?

15 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 20: Thực hành bài toán tìm kiếm

Tags: Bộ đề 5

Câu 15: Phương thức `readline()` trong Python được sử dụng để đọc dữ liệu từ tệp. Phương thức này trả về kiểu dữ liệu gì?

16 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 20: Thực hành bài toán tìm kiếm

Tags: Bộ đề 5

Câu 16: Trong bài toán tìm kiếm điểm học sinh, giả sử bạn sử dụng hai danh sách song song: `ten_hs` và `diem_hs`. Để tìm điểm của học sinh có tên 'An', bạn cần thực hiện bước nào sau đây?

17 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 20: Thực hành bài toán tìm kiếm

Tags: Bộ đề 5

Câu 17: Khi nào thì thuật toán tìm kiếm tuần tự được ưu tiên sử dụng hơn so với tìm kiếm nhị phân?

18 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 20: Thực hành bài toán tìm kiếm

Tags: Bộ đề 5

Câu 18: Để ghi nhiều dòng văn bản vào một tệp trong Python, phương thức nào sau đây là hiệu quả hơn khi sử dụng với vòng lặp?

19 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 20: Thực hành bài toán tìm kiếm

Tags: Bộ đề 5

Câu 19: Trong Python, khối lệnh `with open(...) as f:` mang lại lợi ích gì so với cách mở tệp thông thường `f = open(...)`?

20 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 20: Thực hành bài toán tìm kiếm

Tags: Bộ đề 5

Câu 20: Giả sử bạn có một tệp văn bản chứa thông tin sản phẩm, mỗi dòng có định dạng 'Mã_SP,Tên_SP,Giá_SP'. Để tìm kiếm sản phẩm theo tên sản phẩm, bạn cần thực hiện những bước xử lý nào sau khi đọc dữ liệu từ tệp?

21 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 20: Thực hành bài toán tìm kiếm

Tags: Bộ đề 5

Câu 21: Trong thuật toán tìm kiếm nhị phân, điều gì xảy ra nếu giá trị cần tìm không có trong danh sách đã sắp xếp?

22 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 20: Thực hành bài toán tìm kiếm

Tags: Bộ đề 5

Câu 22: Cho danh sách `numbers = [5, 2, 8, 1, 9]`. Nếu bạn muốn tìm kiếm số 8 bằng thuật toán tìm kiếm nhị phân, bước đầu tiên cần làm gì với danh sách này?

23 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 20: Thực hành bài toán tìm kiếm

Tags: Bộ đề 5

Câu 23: Khi mở tệp bằng chế độ 'w' (ghi), nếu tệp đã tồn tại, điều gì sẽ xảy ra?

24 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 20: Thực hành bài toán tìm kiếm

Tags: Bộ đề 5

Câu 24: Trong Python, để kiểm tra xem một tệp có tồn tại hay không trước khi thực hiện thao tác đọc, bạn có thể sử dụng module nào?

25 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 20: Thực hành bài toán tìm kiếm

Tags: Bộ đề 5

Câu 25: Ưu điểm chính của thuật toán tìm kiếm nhị phân so với tìm kiếm tuần tự là gì?

26 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 20: Thực hành bài toán tìm kiếm

Tags: Bộ đề 5

Câu 26: Khi đọc dữ liệu từ tệp văn bản, nếu bạn muốn loại bỏ khoảng trắng thừa (ví dụ: khoảng trắng ở đầu và cuối dòng), bạn nên sử dụng phương thức chuỗi nào?

27 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 20: Thực hành bài toán tìm kiếm

Tags: Bộ đề 5

Câu 27: Trong bài toán tìm kiếm thông tin học sinh, giả sử dữ liệu được lưu trong tệp CSV. Để đọc và xử lý dữ liệu CSV, bạn có thể sử dụng module nào của Python?

28 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 20: Thực hành bài toán tìm kiếm

Tags: Bộ đề 5

Câu 28: Xét đoạn mã Python:
```python
f = open("output.txt", "a")
f.write("New linen")
f.close()
```
Nếu tệp 'output.txt' đã có nội dung, sau khi chạy đoạn mã trên, điều gì sẽ xảy ra với nội dung của tệp?

29 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 20: Thực hành bài toán tìm kiếm

Tags: Bộ đề 5

Câu 29: Trong thuật toán tìm kiếm nhị phân, độ phức tạp thời gian trong trường hợp xấu nhất (worst-case scenario) là gì?

30 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 20: Thực hành bài toán tìm kiếm

Tags: Bộ đề 5

Câu 30: Bạn có một danh sách các số điện thoại và muốn kiểm tra nhanh chóng xem một số điện thoại cụ thể có trong danh sách hay không. Cấu trúc dữ liệu nào sau đây sẽ giúp tối ưu hóa tốc độ tìm kiếm?

Xem kết quả

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 20: Thực hành bài toán tìm kiếm

Trắc nghiệm Tin học 11 Kết nối tri thức Bài 20: Thực hành bài toán tìm kiếm - Đề 06

Trắc nghiệm Tin học 11 Kết nối tri thức Bài 20: Thực hành bài toán tìm kiếm - Đề 06 bao gồm nhiều câu hỏi hay, bám sát chương trình. Cùng làm bài tập trắc nghiệm ngay.

Câu 1: Bạn có một danh sách tên học sinh đã được sắp xếp theo thứ tự bảng chữ cái. Để tìm kiếm một tên học sinh cụ thể trong danh sách này một cách nhanh nhất, 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ự (Sequential Search)
  • B. Tìm kiếm nhị phân (Binary Search)
  • C. Tìm kiếm tuyến tính (Linear Search)
  • D. Tìm kiếm vét cạn (Brute-force Search)

Câu 2: Trong Python, để mở một tệp văn bản có tên "danh_sach.txt" để đọc dữ liệu, đồng thời đảm bảo mã hóa UTF-8 để hỗ trợ tiếng Việt, bạn sẽ sử dụng lệnh nào?

  • A. f = open("danh_sach.txt", "w")
  • B. f = read("danh_sach.txt", "UTF-8")
  • C. f = open("danh_sach.txt", "r", encoding="UTF-8")
  • D. f = openfile("danh_sach.txt", "r", "UTF-8")

Câu 3: Giả sử bạn có một tệp văn bản chứa thông tin về sản phẩm, mỗi dòng có định dạng "Tên sản phẩm,Giá,Số lượng". Bạn muốn đọc tệp này và tính tổng giá trị tồn kho (Giá * Số lượng) của tất cả sản phẩm. Đoạn mã Python nào sau đây thực hiện đúng nhiệm vụ này?

  • A. total_value = sum(line.split(",")[1] * line.split(",")[2] for line in open("san_pham.txt", "r"))
  • B. total_value = sum(int(line.split(",")[1]) * int(line.split(",")[2]) for line in open("san_pham.txt", "r"))
  • C. total_value = sum([line.split(",")[1] * line.split(",")[2] for line in open("san_pham.txt", "r")])
  • D. total_value = sum(float(line.split(",")[1] * line.split(",")[2]) for line in open("san_pham.txt", "r"))

Câu 4: Bạn đang sử dụng thuật toán tìm kiếm nhị phân để tìm một số trong danh sách đã sắp xếp có 1024 phần tử. Trong trường hợp xấu nhất, số lần so sánh cần thực hiện để tìm ra số đó (hoặc xác định nó không tồn tại) là bao nhiêu?

  • A. 1024
  • B. 512
  • C. 10
  • D. 1

Câu 5: Trong Python, phương thức `readlines()` khi được gọi trên một đối tượng tệp sẽ trả về kiểu dữ liệu nào?

  • A. Một danh sách (list) các chuỗi, mỗi chuỗi là một dòng trong tệp.
  • B. Một chuỗi (string) chứa toàn bộ nội dung của tệp.
  • C. Một số nguyên (integer) chỉ số dòng hiện tại trong tệp.
  • D. Một đối tượng tệp mới.

Câu 6: Khi nào thì thuật toán tìm kiếm nhị phân hoạt động hiệu quả hơn so với tìm kiếm tuần tự?

  • A. Khi danh sách dữ liệu có kích thước nhỏ.
  • B. Khi dữ liệu cần tìm nằm ở đầu danh sách.
  • C. Trong mọi trường hợp, tìm kiếm nhị phân luôn nhanh hơn.
  • D. Khi danh sách dữ liệu đã được sắp xếp.

Câu 7: Cho đoạn mã Python sau:
```python
f = open("du_lieu.txt", "w")
f.write("Dòng 1nDòng 2")
f.close()
```
Điều gì xảy ra với tệp "du_lieu.txt" nếu nó đã tồn tại trước khi đoạn mã này được thực thi?

  • A. Mã sẽ gây ra lỗi vì tệp đã tồn tại.
  • B. Nội dung cũ của tệp sẽ bị xóa và thay thế bằng "Dòng 1nDòng 2".
  • C. Dữ liệu "Dòng 1nDòng 2" sẽ được thêm vào cuối nội dung cũ của tệp.
  • D. Tệp sẽ được mở ở chế độ đọc và không có gì thay đổi.

Câu 8: Trong bài toán quản lý điểm học sinh, bạn có một danh sách tên và điểm tương ứng. Để tìm điểm của một học sinh khi biết tên, bạn có thể sử dụng cấu trúc dữ liệu nào để việc tìm kiếm nhanh chóng và hiệu quả nhất?

  • A. Danh sách (List)
  • B. Tuple
  • C. Từ điển (Dictionary)
  • D. Tập hợp (Set)

Câu 9: Giả sử bạn có một tệp văn bản lớn chứa nhật ký truy cập website. Mỗi dòng là một bản ghi truy cập. Bạn muốn đếm xem một địa chỉ IP cụ thể xuất hiện bao nhiêu lần trong tệp nhật ký. Phương pháp nào sau đây là hiệu quả nhất?

  • A. Đọc toàn bộ tệp vào bộ nhớ và sử dụng phương thức `count()` của chuỗi.
  • B. Đọc tệp từng dòng và kiểm tra sự xuất hiện của địa chỉ IP trong mỗi dòng.
  • C. Sử dụng thuật toán tìm kiếm nhị phân trên toàn bộ nội dung tệp.
  • D. Chuyển đổi tệp thành danh sách và sử dụng hàm `list.count()`.

Câu 10: Lệnh `f.write(data)` trong Python dùng để làm gì khi tệp được mở ở chế độ "w" hoặc "a"?

  • A. Ghi chuỗi `data` vào tệp.
  • B. Đọc dữ liệu từ tệp vào biến `data`.
  • C. Xóa nội dung của tệp.
  • D. Đóng tệp.

Câu 11: Cho danh sách số: `[15, 8, 22, 5, 30, 12]`. Nếu bạn muốn tìm số 12 bằng thuật toán tìm kiếm tuần tự, bạn sẽ phải thực hiện bao nhiêu phép so sánh?

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

Câu 12: Trong Python, để đảm bảo tệp luôn được đóng sau khi sử dụng, ngay cả khi có lỗi xảy ra trong quá trình xử lý tệp, cấu trúc nào sau đây nên được sử dụng?

  • A. Vòng lặp `for`
  • B. Cấu trúc `with...open`
  • C. Câu lệnh `if...else`
  • D. Hàm `def`

Câu 13: Bạn có hai danh sách: `ten_hoc_sinh = ["An", "Bình", "Lan"]` và `diem_thi = [8, 9, 7]`. Bạn muốn tạo một từ điển (dictionary) trong đó tên học sinh là khóa và điểm thi là giá trị. Cách nào sau đây đúng?

  • A. `hoc_sinh_diem = {ten_hoc_sinh: diem_thi}`
  • B. `hoc_sinh_diem = dict(ten_hoc_sinh, diem_thi)`
  • C. `hoc_sinh_diem = dict(zip(ten_hoc_sinh, diem_thi))`
  • D. `hoc_sinh_diem = zip(ten_hoc_sinh, diem_thi)`

Câu 14: Trong thuật toán tìm kiếm nhị phân, nếu giá trị cần tìm nhỏ hơn giá trị ở vị trí giữa danh sách, thì bước tiếp theo sẽ thực hiện tìm kiếm ở phần nào của danh sách?

  • A. Nửa đầu của danh sách.
  • B. Nửa sau của danh sách.
  • C. Toàn bộ danh sách từ đầu đến cuối.
  • D. Chỉ vị trí giữa của danh sách.

Câu 15: Phương thức `split()` trong Python thường được sử dụng để làm gì khi đọc dữ liệu từ tệp văn bản?

  • A. Đọc toàn bộ nội dung tệp thành một chuỗi.
  • B. Tách một dòng văn bản thành danh sách các từ hoặc cụm từ.
  • C. Ghi dữ liệu vào tệp.
  • D. Đóng tệp sau khi đọc.

Câu 16: Bạn muốn ghi thêm dữ liệu vào cuối tệp "nhat_ky.txt" mà không xóa nội dung cũ. Chế độ mở tệp nào sau đây là phù hợp?

  • A. "r"
  • B. "w"
  • C. "a"
  • D. "x"

Câu 17: Giả sử bạn có một tệp "so_lieu.csv" với dữ liệu dạng CSV (Comma Separated Values). Để đọc dữ liệu từ tệp này và xử lý nó dưới dạng bảng, thư viện nào của Python thường được sử dụng?

  • A. os
  • B. math
  • C. random
  • D. csv

Câu 18: Trong tìm kiếm tuần tự, trường hợp tốt nhất về số lần so sánh xảy ra khi nào?

  • A. Khi phần tử cần tìm là phần tử đầu tiên trong danh sách.
  • B. Khi phần tử cần tìm là phần tử cuối cùng trong danh sách.
  • C. Khi phần tử cần tìm nằm ở giữa danh sách.
  • D. Khi danh sách đã được sắp xếp.

Câu 19: Lệnh `f.close()` có vai trò quan trọng như thế nào trong việc làm việc với tệp?

  • A. Để mở tệp cho các thao tác tiếp theo.
  • B. Để giải phóng tài nguyên hệ thống và đảm bảo dữ liệu được lưu trữ.
  • C. Để xóa nội dung của tệp.
  • D. Để đổi tên tệp.

Câu 20: Để kiểm tra xem một tệp "thong_tin.txt" có tồn tại hay không trước khi thực hiện thao tác đọc, bạn có thể sử dụng module nào của Python?

  • A. io
  • B. sys
  • C. os
  • D. file

Câu 21: Trong Python, khi mở tệp bằng `with open(...)`, điều gì xảy ra với tệp sau khi khối lệnh `with` kết thúc?

  • A. Tệp vẫn mở cho đến khi chương trình kết thúc.
  • B. Tệp tự động được đóng.
  • C. Tệp được chuyển sang chế độ chỉ đọc.
  • D. Cần phải gọi `f.close()` để đóng tệp.

Câu 22: Nếu bạn cố gắng mở một tệp để đọc bằng chế độ "r" nhưng tệp đó không tồn tại, điều gì sẽ xảy ra?

  • A. Tệp sẽ tự động được tạo mới và mở để đọc.
  • B. Chương trình sẽ tiếp tục chạy mà không có lỗi.
  • C. Python sẽ báo lỗi `FileNotFoundError`.
  • D. Tệp sẽ được mở ở chế độ ghi.

Câu 23: Cho danh sách đã sắp xếp: `[3, 7, 11, 15, 19, 23, 27]`. Bạn muốn tìm số 15 bằng tìm kiếm nhị phân. Vị trí giữa của lần so sánh đầu tiên là vị trí nào (chỉ số bắt đầu từ 0)?

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

Câu 24: Khi đọc dữ liệu từ tệp văn bản, bạn nhận thấy các dòng kết thúc bằng ký tự "n". Ký tự này đại diện cho điều gì?

  • A. Ký tự khoảng trắng.
  • B. Ký tự xuống dòng (newline).
  • C. Ký tự tab.
  • D. Ký tự kết thúc tệp.

Câu 25: Để ghi nhiều dòng văn bản vào một tệp trong Python, cách nào sau đây hiệu quả hơn?

  • A. Sử dụng vòng lặp `for` và gọi `f.write()` cho mỗi dòng.
  • B. Sử dụng một chuỗi đa dòng và gọi `f.write()` một lần.
  • C. Sử dụng phương thức `f.writelines()` với một danh sách các dòng.
  • D. Sử dụng hàm `print()` nhiều lần với `file=f`.

Câu 26: Trong bài toán tìm kiếm thông tin học sinh từ tệp, nếu bạn muốn tìm kiếm theo tên gần đúng (ví dụ, tìm "Lan" có thể ra kết quả "Lan Anh", "Ngọc Lan"), thuật toán tìm kiếm nào phù hợp hơn?

  • A. Tìm kiếm tuần tự kết hợp so sánh chuỗi.
  • B. Tìm kiếm nhị phân.
  • C. Tìm kiếm nhị phân với xử lý chuỗi.
  • D. Cả tìm kiếm tuần tự và nhị phân đều phù hợp như nhau.

Câu 27: Khi làm việc với tệp văn bản chứa dữ liệu số, bạn cần chuyển đổi dữ liệu đọc được từ tệp sang kiểu số để thực hiện tính toán. Tại sao cần phải thực hiện chuyển đổi kiểu dữ liệu này?

  • A. Để tiết kiệm bộ nhớ.
  • B. Vì dữ liệu đọc từ tệp văn bản mặc định là kiểu chuỗi.
  • C. Để tăng tốc độ đọc dữ liệu.
  • D. Để mã hóa dữ liệu.

Câu 28: Bạn có một danh sách email và muốn tìm kiếm xem một email cụ thể có trong danh sách hay không. Nếu danh sách email rất lớn (hàng triệu email), cấu trúc dữ liệu nào sẽ giúp việc tìm kiếm nhanh nhất?

  • A. Danh sách (List) đã sắp xếp.
  • B. Tuple.
  • C. Từ điển (Dictionary).
  • D. Tập hợp (Set).

Câu 29: Trong Python, bạn có thể sử dụng tham số `encoding="utf-8"` khi mở tệp. Tham số này có vai trò gì?

  • A. Để mã hóa dữ liệu trước khi ghi vào tệp.
  • B. Để nén dữ liệu trong tệp.
  • C. Để chỉ định bảng mã ký tự sử dụng khi đọc hoặc ghi tệp, hỗ trợ tiếng Việt.
  • D. Để kiểm tra lỗi chính tả trong tệp.

Câu 30: Khi thực hiện tìm kiếm nhị phân trong một danh sách, điều kiện tiên quyết nào phải được đảm bảo để thuật toán hoạt động đúng?

  • A. Danh sách phải được sắp xếp theo thứ tự.
  • B. Danh sách phải có kích thước lớn.
  • C. Các phần tử trong danh sách phải là số nguyên.
  • D. Danh sách phải chứa các phần tử duy nhất.

1 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 20: Thực hành bài toán tìm kiếm

Tags: Bộ đề 6

Câu 1: Bạn có một danh sách tên học sinh đã được sắp xếp theo thứ tự bảng chữ cái. Để tìm kiếm một tên học sinh cụ thể trong danh sách này một cách nhanh nhất, thuật toán tìm kiế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 20: Thực hành bài toán tìm kiếm

Tags: Bộ đề 6

Câu 2: Trong Python, để mở một tệp văn bản có tên 'danh_sach.txt' để đọc dữ liệu, đồng thời đảm bảo mã hóa UTF-8 để hỗ trợ tiếng Việt, bạn sẽ sử dụng lệnh nào?

3 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 20: Thực hành bài toán tìm kiếm

Tags: Bộ đề 6

Câu 3: Giả sử bạn có một tệp văn bản chứa thông tin về sản phẩm, mỗi dòng có định dạng 'Tên sản phẩm,Giá,Số lượng'. Bạn muốn đọc tệp này và tính tổng giá trị tồn kho (Giá * Số lượng) của tất cả sản phẩm. Đoạn mã Python nào sau đây thực hiện đúng nhiệm vụ này?

4 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 20: Thực hành bài toán tìm kiếm

Tags: Bộ đề 6

Câu 4: Bạn đang sử dụng thuật toán tìm kiếm nhị phân để tìm một số trong danh sách đã sắp xếp có 1024 phần tử. Trong trường hợp xấu nhất, số lần so sánh cần thực hiện để tìm ra số đó (hoặc xác định nó không tồn tại) là bao nhiêu?

5 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 20: Thực hành bài toán tìm kiếm

Tags: Bộ đề 6

Câu 5: Trong Python, phương thức `readlines()` khi được gọi trên một đối tượng tệp sẽ trả về kiểu dữ liệu nào?

6 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 20: Thực hành bài toán tìm kiếm

Tags: Bộ đề 6

Câu 6: Khi nào thì thuật toán tìm kiếm nhị phân hoạt động hiệu quả hơn so với tìm kiếm tuần tự?

7 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 20: Thực hành bài toán tìm kiếm

Tags: Bộ đề 6

Câu 7: Cho đoạn mã Python sau:
```python
f = open('du_lieu.txt', 'w')
f.write('Dòng 1nDòng 2')
f.close()
```
Điều gì xảy ra với tệp 'du_lieu.txt' nếu nó đã tồn tại trước khi đoạn mã này được thực thi?

8 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 20: Thực hành bài toán tìm kiếm

Tags: Bộ đề 6

Câu 8: Trong bài toán quản lý điểm học sinh, bạn có một danh sách tên và điểm tương ứng. Để tìm điểm của một học sinh khi biết tên, bạn có thể sử dụng cấu trúc dữ liệu nào để việc tìm kiếm nhanh chóng và hiệu quả nhất?

9 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 20: Thực hành bài toán tìm kiếm

Tags: Bộ đề 6

Câu 9: Giả sử bạn có một tệp văn bản lớn chứa nhật ký truy cập website. Mỗi dòng là một bản ghi truy cập. Bạn muốn đếm xem một địa chỉ IP cụ thể xuất hiện bao nhiêu lần trong tệp nhật ký. Phương pháp nào sau đây là hiệu quả nhất?

10 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 20: Thực hành bài toán tìm kiếm

Tags: Bộ đề 6

Câu 10: Lệnh `f.write(data)` trong Python dùng để làm gì khi tệp được mở ở chế độ 'w' hoặc 'a'?

11 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 20: Thực hành bài toán tìm kiếm

Tags: Bộ đề 6

Câu 11: Cho danh sách số: `[15, 8, 22, 5, 30, 12]`. Nếu bạn muốn tìm số 12 bằng thuật toán tìm kiếm tuần tự, bạn sẽ phải thực hiện bao nhiêu phép so sánh?

12 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 20: Thực hành bài toán tìm kiếm

Tags: Bộ đề 6

Câu 12: Trong Python, để đảm bảo tệp luôn được đóng sau khi sử dụng, ngay cả khi có lỗi xảy ra trong quá trình xử lý tệp, cấu trúc nào sau đây 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 20: Thực hành bài toán tìm kiếm

Tags: Bộ đề 6

Câu 13: Bạn có hai danh sách: `ten_hoc_sinh = ['An', 'Bình', 'Lan']` và `diem_thi = [8, 9, 7]`. Bạn muốn tạo một từ điển (dictionary) trong đó tên học sinh là khóa và điểm thi là giá trị. Cách nào sau đây đúng?

14 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 20: Thực hành bài toán tìm kiếm

Tags: Bộ đề 6

Câu 14: Trong thuật toán tìm kiếm nhị phân, nếu giá trị cần tìm nhỏ hơn giá trị ở vị trí giữa danh sách, thì bước tiếp theo sẽ thực hiện tìm kiếm ở phần nào của danh sách?

15 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 20: Thực hành bài toán tìm kiếm

Tags: Bộ đề 6

Câu 15: Phương thức `split()` trong Python thường được sử dụng để làm gì khi đọc dữ liệu từ tệp văn bản?

16 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 20: Thực hành bài toán tìm kiếm

Tags: Bộ đề 6

Câu 16: Bạn muốn ghi thêm dữ liệu vào cuối tệp 'nhat_ky.txt' mà không xóa nội dung cũ. Chế độ mở tệp nào sau đây là phù hợp?

17 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 20: Thực hành bài toán tìm kiếm

Tags: Bộ đề 6

Câu 17: Giả sử bạn có một tệp 'so_lieu.csv' với dữ liệu dạng CSV (Comma Separated Values). Để đọc dữ liệu từ tệp này và xử lý nó dưới dạng bảng, thư viện nào của Python thường được sử dụng?

18 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 20: Thực hành bài toán tìm kiếm

Tags: Bộ đề 6

Câu 18: Trong tìm kiếm tuần tự, trường hợp tốt nhất về số lần so sánh xảy ra khi nào?

19 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 20: Thực hành bài toán tìm kiếm

Tags: Bộ đề 6

Câu 19: Lệnh `f.close()` có vai trò quan trọng như thế nào trong việc làm việc với tệp?

20 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 20: Thực hành bài toán tìm kiếm

Tags: Bộ đề 6

Câu 20: Để kiểm tra xem một tệp 'thong_tin.txt' có tồn tại hay không trước khi thực hiện thao tác đọc, bạn có thể sử dụng module nào của Python?

21 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 20: Thực hành bài toán tìm kiếm

Tags: Bộ đề 6

Câu 21: Trong Python, khi mở tệp bằng `with open(...)`, điều gì xảy ra với tệp sau khi khối lệnh `with` kết thúc?

22 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 20: Thực hành bài toán tìm kiếm

Tags: Bộ đề 6

Câu 22: Nếu bạn cố gắng mở một tệp để đọc bằng chế độ 'r' nhưng tệp đó không tồn tại, điều gì sẽ xảy ra?

23 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 20: Thực hành bài toán tìm kiếm

Tags: Bộ đề 6

Câu 23: Cho danh sách đã sắp xếp: `[3, 7, 11, 15, 19, 23, 27]`. Bạn muốn tìm số 15 bằng tìm kiếm nhị phân. Vị trí giữa của lần so sánh đầu tiên là vị trí nào (chỉ số bắt đầu từ 0)?

24 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 20: Thực hành bài toán tìm kiếm

Tags: Bộ đề 6

Câu 24: Khi đọc dữ liệu từ tệp văn bản, bạn nhận thấy các dòng kết thúc bằng ký tự 'n'. Ký tự này đại diện cho điều gì?

25 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 20: Thực hành bài toán tìm kiếm

Tags: Bộ đề 6

Câu 25: Để ghi nhiều dòng văn bản vào một tệp trong Python, cách nào sau đây hiệu quả hơn?

26 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 20: Thực hành bài toán tìm kiếm

Tags: Bộ đề 6

Câu 26: Trong bài toán tìm kiếm thông tin học sinh từ tệp, nếu bạn muốn tìm kiếm theo tên gần đúng (ví dụ, tìm 'Lan' có thể ra kết quả 'Lan Anh', 'Ngọc Lan'), thuật toán tìm kiếm nào phù hợp hơn?

27 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 20: Thực hành bài toán tìm kiếm

Tags: Bộ đề 6

Câu 27: Khi làm việc với tệp văn bản chứa dữ liệu số, bạn cần chuyển đổi dữ liệu đọc được từ tệp sang kiểu số để thực hiện tính toán. Tại sao cần phải thực hiện chuyển đổi kiểu dữ liệu này?

28 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 20: Thực hành bài toán tìm kiếm

Tags: Bộ đề 6

Câu 28: Bạn có một danh sách email và muốn tìm kiếm xem một email cụ thể có trong danh sách hay không. Nếu danh sách email rất lớn (hàng triệu email), cấu trúc dữ liệu nào sẽ giúp việc tìm kiếm nhanh nhất?

29 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 20: Thực hành bài toán tìm kiếm

Tags: Bộ đề 6

Câu 29: Trong Python, bạn có thể sử dụng tham số `encoding='utf-8'` khi mở tệp. Tham số này có vai trò gì?

30 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 20: Thực hành bài toán tìm kiếm

Tags: Bộ đề 6

Câu 30: Khi thực hiện tìm kiếm nhị phân trong một danh sách, điều kiện tiên quyết nào phải được đảm bảo để thuật toán hoạt động đúng?

Xem kết quả

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 20: Thực hành bài toán tìm kiếm

Trắc nghiệm Tin học 11 Kết nối tri thức Bài 20: Thực hành bài toán tìm kiếm - Đề 07

Trắc nghiệm Tin học 11 Kết nối tri thức Bài 20: Thực hành bài toán tìm kiếm - Đề 07 bao gồm nhiều câu hỏi hay, bám sát chương trình. Cùng làm bài tập trắc nghiệm ngay.

Câu 1: Trong Python, phương thức `open()` với tham số nào sau đây được sử dụng để mở một tập tin văn bản ở chế độ chỉ đọc?

  • A. "r"
  • B. "w"
  • C. "a"
  • D. "x"

Câu 2: Cho đoạn mã Python sau:
```python
f = open("data.txt", "r")
lines = f.readlines()
f.close()
```
Biến `lines` sẽ chứa dữ liệu kiểu nào sau khi đoạn mã trên được thực thi?

  • A. Chuỗi (string) chứa toàn bộ nội dung tập tin
  • B. Danh sách (list) các chuỗi, mỗi chuỗi là một dòng trong tập tin
  • C. Số nguyên (integer) thể hiện số dòng trong tập tin
  • D. Từ điển (dictionary) với khóa là số dòng và giá trị là nội dung dòng

Câu 3: Xét một danh sách học sinh đã được sắp xếp theo thứ tự bảng chữ cái. Thuật toán tìm kiếm nào sau đây là hiệu quả nhất để tìm kiếm một học sinh cụ thể trong danh sách này?

  • A. Tìm kiếm tuần tự (Sequential Search)
  • B. Tìm kiếm tuyến tính (Linear Search)
  • C. Tìm kiếm nhị phân (Binary Search)
  • D. Tìm kiếm vét cạn (Brute-force Search)

Câu 4: Trong thuật toán tìm kiếm nhị phân, nếu giá trị cần tìm lớn hơn giá trị ở vị trí giữa của đoạn đang xét, thì bước tiếp theo sẽ thực hiện trên đoạn nào?

  • A. Đoạn bên trái vị trí giữa
  • B. Toàn bộ đoạn ban đầu
  • C. Vị trí giữa hiện tại
  • D. Đoạn bên phải vị trí giữa

Câu 5: Giả sử bạn có một tập tin văn bản chứa thông tin về sinh viên, mỗi dòng gồm "Tên, Điểm". Bạn muốn đọc tập tin này và lưu tên sinh viên vào một danh sách `ten_sv`. Đoạn mã Python nào sau đây thực hiện đúng công việc này?

  • A. ```python
    ten_sv = []
    f = open("sinhvien.txt", "r")
    for line in f:
    ten_sv.append(line)
    f.close()
    ```
  • B. ```python
    ten_sv = []
    f = open("sinhvien.txt", "r")
    for line in f:
    data = line.strip().split(",")
    ten_sv.append(data[0])
    f.close()
    ```
  • C. ```python
    ten_sv = {}
    f = open("sinhvien.txt", "r")
    ten_sv = f.readlines()
    f.close()
    ```
  • D. ```python
    ten_sv = ()
    f = open("sinhvien.txt", "r")
    ten_sv = line.split(",")[0] for line in f
    f.close()
    ```

Câu 6: Trong Python, lệnh `f.write("Hello")` sẽ thực hiện thao tác nào nếu tập tin được mở ở chế độ "w"?

  • A. Ghi chuỗi "Hello" vào tập tin, xóa nội dung cũ nếu có
  • B. Ghi chuỗi "Hello" vào cuối tập tin, giữ lại nội dung cũ
  • C. Đọc nội dung từ tập tin và hiển thị "Hello"
  • D. Báo lỗi vì chế độ "w" không cho phép ghi dữ liệu

Câu 7: Để đảm bảo dữ liệu được ghi vào tập tin được lưu trữ trên đĩa, thao tác nào sau đây là cần thiết sau khi ghi?

  • A. Mở lại tập tin ở chế độ "r"
  • B. Sử dụng lệnh `print()` để in ra màn hình
  • C. Đóng tập tin bằng phương thức `f.close()`
  • D. Không cần thao tác nào thêm, dữ liệu tự động được lưu

Câu 8: Khi thực hiện tìm kiếm tuần tự trong một danh sách có N phần tử, trường hợp tốt nhất (best case) về số lần so sánh là bao nhiêu?

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

Câu 9: Trong bài toán tìm kiếm điểm thi, nếu danh sách tên học sinh không được sắp xếp, bạn nên sử dụng thuật toán tìm kiếm nào?

  • A. Tìm kiếm tuần tự (Sequential Search)
  • B. Tìm kiếm nhị phân (Binary Search)
  • C. Tìm kiếm nội suy (Interpolation Search)
  • D. Cả tìm kiếm nhị phân và tìm kiếm nội suy đều được

Câu 10: Cho đoạn mã Python:
```python
danh_sach = [10, 5, 8, 2, 15]
danh_sach.sort()
print(danh_sach)
```
Đoạn mã trên thực hiện công việc gì?

  • A. Tìm kiếm số 10 trong danh sách và in ra vị trí
  • B. Sắp xếp danh sách theo thứ tự tăng dần và in ra danh sách đã sắp xếp
  • C. Đảo ngược thứ tự danh sách và in ra
  • D. Tính tổng các phần tử trong danh sách và in ra

Câu 11: Phương án nào sau đây mô tả đúng nhất về ưu điểm của thuật toán tìm kiếm nhị phân so với tìm kiếm tuần tự?

  • A. Dễ cài đặt hơn
  • B. Có thể áp dụng cho dữ liệu chưa sắp xếp
  • C. Hiệu quả hơn với dữ liệu lớn đã được sắp xếp
  • D. Luôn tìm thấy kết quả nhanh hơn trong mọi trường hợp

Câu 12: Xét tình huống bạn cần tìm kiếm thông tin trong một cuốn từ điển. Bạn sẽ áp dụng phương pháp tìm kiếm nào tương tự như thuật toán tìm kiếm nhị phân?

  • A. Lật từng trang từ đầu đến cuối
  • B. Mở sách ở trang giữa, kiểm tra và thu hẹp phạm vi tìm kiếm
  • C. Tìm kiếm ngẫu nhiên các trang
  • D. Chỉ tìm kiếm ở phần đầu của cuốn từ điển

Câu 13: Trong Python, để đọc toàn bộ nội dung của một tập tin văn bản vào một biến kiểu chuỗi, bạn sử dụng phương thức nào?

  • A. `read()`
  • B. `readline()`
  • C. `readlines()`
  • D. `readstring()`

Câu 14: Khi mở một tập tin bằng `f = open("data.txt", "x")`, điều gì sẽ xảy ra nếu tập tin "data.txt" đã tồn tại?

  • A. Tập tin sẽ được mở để đọc
  • B. Nội dung tập tin sẽ bị xóa và mở để ghi
  • C. Tập tin sẽ được mở để ghi thêm vào cuối
  • D. Lỗi `FileExistsError` sẽ được phát sinh

Câu 15: Cho danh sách `diem_so = [8, 9, 7, 6, 10]`. Để tìm xem điểm 9 có trong danh sách này hay không, và lấy vị trí của nó nếu có, bạn có thể sử dụng phương thức nào của danh sách?

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

Câu 16: Trong thuật toán tìm kiếm nhị phân, độ phức tạp thời gian trong trường hợp xấu nhất (worst case) là:

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

Câu 17: Xét đoạn mã Python sau:
```python
f = open("output.txt", "a")
f.write("Dữ liệu mới")
```
Nếu tập tin "output.txt" đã có nội dung, điều gì sẽ xảy ra khi chạy đoạn mã trên?

  • A. Nội dung cũ của "output.txt" sẽ bị xóa và thay bằng "Dữ liệu mới"
  • B. Chuỗi "Dữ liệu mới" sẽ được thêm vào cuối nội dung hiện tại của "output.txt"
  • C. Lỗi sẽ xảy ra vì tập tin đã tồn tại
  • D. Chương trình sẽ không thực hiện thao tác ghi nào

Câu 18: Để đọc từng dòng trong một tập tin văn bản và xử lý chúng, cấu trúc lặp nào sau đây thường được sử dụng trong Python?

  • A. Vòng lặp `for` duyệt qua đối tượng tập tin
  • B. Vòng lặp `while` với điều kiện `True` và `break`
  • C. Hàm đệ quy tự gọi lại cho đến khi hết dòng
  • D. Cả vòng lặp `for` và `while` đều không phù hợp

Câu 19: Trong bài toán quản lý danh sách học sinh, bạn có một danh sách tên và một danh sách điểm tương ứng. Làm thế nào để tìm điểm của một học sinh khi biết tên của họ?

  • A. Sắp xếp danh sách điểm theo tên học sinh
  • B. Đảo ngược danh sách tên và tìm kiếm
  • C. Tìm vị trí của tên học sinh trong danh sách tên, sau đó dùng vị trí đó để truy cập điểm tương ứng trong danh sách điểm
  • D. Sử dụng thuật toán tìm kiếm nhị phân trực tiếp trên danh sách điểm

Câu 20: Nếu bạn muốn kiểm tra xem một chuỗi con có tồn tại trong một chuỗi lớn hơn hay không, toán tử nào trong Python có thể giúp bạn thực hiện việc này một cách đơn giản?

  • A. ==
  • B. `in`
  • C. =
  • D. is

Câu 21: Để chuyển đổi một chuỗi số đọc từ tập tin thành kiểu số nguyên trong Python, bạn sử dụng hàm nào?

  • A. `int()`
  • B. `str()`
  • C. `float()`
  • D. `number()`

Câu 22: Trong tìm kiếm nhị phân, điều kiện tiên quyết để thuật toán hoạt động đúng là gì?

  • A. Dữ liệu phải là số nguyên
  • B. Dữ liệu phải là chuỗi
  • C. Dữ liệu phải được sắp xếp
  • D. Dữ liệu không được chứa giá trị trùng lặp

Câu 23: Phương thức `strip()` thường được sử dụng để làm gì khi đọc dữ liệu từ tập tin văn bản?

  • A. Đọc dữ liệu theo dòng
  • B. Ghi dữ liệu vào tập tin
  • C. Chia chuỗi thành danh sách các từ
  • D. Loại bỏ khoảng trắng và ký tự xuống dòng ở đầu và cuối chuỗi

Câu 24: Giả sử bạn có một chương trình tìm kiếm điểm thi và người dùng nhập một tên không có trong danh sách. Chương trình nên xử lý tình huống này như thế nào là phù hợp nhất?

  • A. In ra điểm số 0
  • B. Thông báo "Không tìm thấy tên học sinh"
  • C. Trả về lỗi chương trình
  • D. Tự động thêm tên học sinh vào danh sách

Câu 25: Trong Python, khi bạn mở một tập tin nhưng quên đóng nó bằng `f.close()`, điều này có thể dẫn đến hậu quả gì?

  • A. Không có hậu quả gì, Python tự động đóng tập tin
  • B. Dữ liệu trong tập tin sẽ bị xóa
  • C. Có thể gây lãng phí tài nguyên hệ thống và mất dữ liệu chưa được ghi hoàn toàn
  • D. Chương trình sẽ chạy chậm hơn một chút

Câu 26: Để ghi nhiều dòng văn bản vào một tập tin, phương thức nào sau đây trong Python là phù hợp nhất?

  • A. `write()` lặp đi lặp lại
  • B. Vòng lặp kết hợp với `write()` hoặc `print(file=f)`
  • C. `writelines()`
  • D. Cả `writelines()` và vòng lặp với `write()`/`print(file=f)`

Câu 27: Khi nào thì thuật toán tìm kiếm tuần tự được ưu tiên sử dụng hơn thuật toán tìm kiếm nhị phân?

  • A. Khi dữ liệu đã được sắp xếp
  • B. Khi cần tìm kiếm với tốc độ nhanh nhất
  • C. Khi dữ liệu có kích thước rất lớn
  • D. Khi dữ liệu có kích thước nhỏ hoặc chưa được sắp xếp

Câu 28: Trong thuật toán tìm kiếm nhị phân, nếu giá trị ở vị trí giữa bằng với giá trị cần tìm, thì quá trình tìm kiếm sẽ:

  • A. Kết thúc và trả về vị trí tìm thấy
  • B. Tiếp tục tìm kiếm ở nửa bên trái
  • C. Tiếp tục tìm kiếm ở nửa bên phải
  • D. Lặp lại bước tìm kiếm hiện tại

Câu 29: Bạn có một danh sách tên học sinh. Để sắp xếp danh sách này theo thứ tự ngược bảng chữ cái (Z-A), bạn có thể sử dụng phương thức `sort()` với tham số nào?

  • A. `ascending=True`
  • B. `order="descending"`
  • C. `reverse=True`
  • D. `direction="backward"`

Câu 30: Trong bài toán tìm kiếm thông tin sinh viên từ tập tin, nếu mỗi dòng trong tập tin chứa nhiều thông tin (tên, tuổi, địa chỉ, điểm), bạn cần sử dụng phương thức chuỗi nào để tách các thông tin này thành các phần riêng biệt?

  • A. `join()`
  • B. `split()`
  • C. `replace()`
  • D. `format()`

1 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 20: Thực hành bài toán tìm kiếm

Tags: Bộ đề 7

Câu 1: Trong Python, phương thức `open()` với tham số nào sau đây được sử dụng để mở một tập tin văn bản ở chế độ chỉ đọc?

2 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 20: Thực hành bài toán tìm kiếm

Tags: Bộ đề 7

Câu 2: Cho đoạn mã Python sau:
```python
f = open('data.txt', 'r')
lines = f.readlines()
f.close()
```
Biến `lines` sẽ chứa dữ liệu kiểu nào sau khi đoạn mã trên được thực thi?

3 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 20: Thực hành bài toán tìm kiếm

Tags: Bộ đề 7

Câu 3: Xét một danh sách học sinh đã được sắp xếp theo thứ tự bảng chữ cái. Thuật toán tìm kiếm nào sau đây là hiệu quả nhất để tìm kiếm một học sinh cụ thể trong danh sách này?

4 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 20: Thực hành bài toán tìm kiếm

Tags: Bộ đề 7

Câu 4: Trong thuật toán tìm kiếm nhị phân, nếu giá trị cần tìm lớn hơn giá trị ở vị trí giữa của đoạn đang xét, thì bước tiếp theo sẽ thực hiện trên đoạn nào?

5 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 20: Thực hành bài toán tìm kiếm

Tags: Bộ đề 7

Câu 5: Giả sử bạn có một tập tin văn bản chứa thông tin về sinh viên, mỗi dòng gồm 'Tên, Điểm'. Bạn muốn đọc tập tin này và lưu tên sinh viên vào một danh sách `ten_sv`. Đoạn mã Python nào sau đây thực hiện đúng công việc này?

6 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 20: Thực hành bài toán tìm kiếm

Tags: Bộ đề 7

Câu 6: Trong Python, lệnh `f.write('Hello')` sẽ thực hiện thao tác nào nếu tập tin được mở ở chế độ 'w'?

7 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 20: Thực hành bài toán tìm kiếm

Tags: Bộ đề 7

Câu 7: Để đảm bảo dữ liệu được ghi vào tập tin được lưu trữ trên đĩa, thao tác nào sau đây là cần thiết sau khi ghi?

8 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 20: Thực hành bài toán tìm kiếm

Tags: Bộ đề 7

Câu 8: Khi thực hiện tìm kiếm tuần tự trong một danh sách có N phần tử, trường hợp tốt nhất (best case) về số lần so sánh là bao nhiêu?

9 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 20: Thực hành bài toán tìm kiếm

Tags: Bộ đề 7

Câu 9: Trong bài toán tìm kiếm điểm thi, nếu danh sách tên học sinh không được sắp xếp, bạn nên sử dụng thuật toán tìm kiếm nào?

10 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 20: Thực hành bài toán tìm kiếm

Tags: Bộ đề 7

Câu 10: Cho đoạn mã Python:
```python
danh_sach = [10, 5, 8, 2, 15]
danh_sach.sort()
print(danh_sach)
```
Đoạn mã trên thực hiện công việc gì?

11 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 20: Thực hành bài toán tìm kiếm

Tags: Bộ đề 7

Câu 11: Phương án nào sau đây mô tả đúng nhất về ưu điểm của thuật toán tìm kiếm nhị phân so với tìm kiếm tuần tự?

12 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 20: Thực hành bài toán tìm kiếm

Tags: Bộ đề 7

Câu 12: Xét tình huống bạn cần tìm kiếm thông tin trong một cuốn từ điển. Bạn sẽ áp dụng phương pháp tìm kiếm nào tương tự như thuật toán tìm kiếm nhị phân?

13 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 20: Thực hành bài toán tìm kiếm

Tags: Bộ đề 7

Câu 13: Trong Python, để đọc toàn bộ nội dung của một tập tin văn bản vào một biến kiểu chuỗi, bạn sử dụng phương thức nào?

14 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 20: Thực hành bài toán tìm kiếm

Tags: Bộ đề 7

Câu 14: Khi mở một tập tin bằng `f = open('data.txt', 'x')`, điều gì sẽ xảy ra nếu tập tin 'data.txt' đã tồn tại?

15 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 20: Thực hành bài toán tìm kiếm

Tags: Bộ đề 7

Câu 15: Cho danh sách `diem_so = [8, 9, 7, 6, 10]`. Để tìm xem điểm 9 có trong danh sách này hay không, và lấy vị trí của nó nếu có, bạn có thể sử dụng phương thức nào của danh sách?

16 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 20: Thực hành bài toán tìm kiếm

Tags: Bộ đề 7

Câu 16: Trong thuật toán tìm kiếm nhị phân, độ phức tạp thời gian trong trường hợp xấu nhất (worst case) là:

17 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 20: Thực hành bài toán tìm kiếm

Tags: Bộ đề 7

Câu 17: Xét đoạn mã Python sau:
```python
f = open('output.txt', 'a')
f.write('Dữ liệu mới')
```
Nếu tập tin 'output.txt' đã có nội dung, điều gì sẽ xảy ra khi chạy đoạn mã trên?

18 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 20: Thực hành bài toán tìm kiếm

Tags: Bộ đề 7

Câu 18: Để đọc từng dòng trong một tập tin văn bản và xử lý chúng, cấu trúc lặp nào sau đây thường được sử dụng trong Python?

19 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 20: Thực hành bài toán tìm kiếm

Tags: Bộ đề 7

Câu 19: Trong bài toán quản lý danh sách học sinh, bạn có một danh sách tên và một danh sách điểm tương ứng. Làm thế nào để tìm điểm của một học sinh khi biết tên của họ?

20 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 20: Thực hành bài toán tìm kiếm

Tags: Bộ đề 7

Câu 20: Nếu bạn muốn kiểm tra xem một chuỗi con có tồn tại trong một chuỗi lớn hơn hay không, toán tử nào trong Python có thể giúp bạn thực hiện việc này một cách đơn giản?

21 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 20: Thực hành bài toán tìm kiếm

Tags: Bộ đề 7

Câu 21: Để chuyển đổi một chuỗi số đọc từ tập tin thành kiểu số nguyên trong Python, bạn sử dụng hàm nào?

22 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 20: Thực hành bài toán tìm kiếm

Tags: Bộ đề 7

Câu 22: Trong tìm kiếm nhị phân, điều kiện tiên quyết để thuật toán hoạt động đúng là gì?

23 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 20: Thực hành bài toán tìm kiếm

Tags: Bộ đề 7

Câu 23: Phương thức `strip()` thường được sử dụng để làm gì khi đọc dữ liệu từ tập tin văn bản?

24 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 20: Thực hành bài toán tìm kiếm

Tags: Bộ đề 7

Câu 24: Giả sử bạn có một chương trình tìm kiếm điểm thi và người dùng nhập một tên không có trong danh sách. Chương trình nên xử lý tình huống này như thế nào là phù hợp nhất?

25 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 20: Thực hành bài toán tìm kiếm

Tags: Bộ đề 7

Câu 25: Trong Python, khi bạn mở một tập tin nhưng quên đóng nó bằng `f.close()`, điều này có thể dẫn đến hậu quả gì?

26 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 20: Thực hành bài toán tìm kiếm

Tags: Bộ đề 7

Câu 26: Để ghi nhiều dòng văn bản vào một tập tin, phương thức nào sau đây trong Python là 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 20: Thực hành bài toán tìm kiếm

Tags: Bộ đề 7

Câu 27: Khi nào thì thuật toán tìm kiếm tuần tự được ưu tiên sử dụng hơn thuật toán tìm kiếm nhị phân?

28 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 20: Thực hành bài toán tìm kiếm

Tags: Bộ đề 7

Câu 28: Trong thuật toán tìm kiếm nhị phân, nếu giá trị ở vị trí giữa bằng với giá trị cần tìm, thì quá trình tìm kiếm sẽ:

29 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 20: Thực hành bài toán tìm kiếm

Tags: Bộ đề 7

Câu 29: Bạn có một danh sách tên học sinh. Để sắp xếp danh sách này theo thứ tự ngược bảng chữ cái (Z-A), bạn có thể sử dụng phương thức `sort()` với tham số nào?

30 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 20: Thực hành bài toán tìm kiếm

Tags: Bộ đề 7

Câu 30: Trong bài toán tìm kiếm thông tin sinh viên từ tập tin, nếu mỗi dòng trong tập tin chứa nhiều thông tin (tên, tuổi, địa chỉ, điểm), bạn cần sử dụng phương thức chuỗi nào để tách các thông tin này thành các phần riêng biệt?

Xem kết quả

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 20: Thực hành bài toán tìm kiếm

Trắc nghiệm Tin học 11 Kết nối tri thức Bài 20: Thực hành bài toán tìm kiếm - Đề 08

Trắc nghiệm Tin học 11 Kết nối tri thức Bài 20: Thực hành bài toán tìm kiếm - Đề 08 bao gồm nhiều câu hỏi hay, bám sát chương trình. Cùng làm bài tập trắc nghiệm ngay.

Câu 1: Trong Python, phương thức `open()` với tham số nào sau đây sẽ mở một tệp tin ở chế độ chỉ đọc?

  • A. "r"
  • B. "w"
  • C. "a"
  • D. "x"

Câu 2: Để đảm bảo tài nguyên hệ thống được giải phóng sau khi thao tác với tệp tin, bạn cần sử dụng phương thức nào sau đây?

  • A. `read()`
  • B. `write()`
  • C. `open()`
  • D. `close()`

Câu 3: Xét đoạn mã Python sau:
```python
f = open("data.txt", "r")
lines = f.readlines()
```
Biến `lines` sẽ chứa dữ liệu kiểu nào?

  • A. Chuỗi (string)
  • B. Số nguyên (integer)
  • C. Danh sách các chuỗi (list of strings)
  • D. Từ điển (dictionary)

Câu 4: Trong bài toán tìm kiếm điểm học sinh, giả sử dữ liệu được lưu trữ trong tệp "diem_thi.txt" với mỗi dòng có định dạng "Tên học sinh,Điểm". Để đọc và xử lý dữ liệu này, phương thức `split(",")` được sử dụng với mục đích gì?

  • A. Loại bỏ dấu phẩy trong dữ liệu
  • B. Tách mỗi dòng thành danh sách các phần tử dựa trên dấu phẩy
  • C. Đếm số lượng dấu phẩy trong mỗi dòng
  • D. Thay thế dấu phẩy bằng dấu cách

Câu 5: Thuật toán tìm kiếm nào hiệu quả hơn trên dữ liệu đã được sắp xếp?

  • 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 6: Ưu điểm chính của thuật toán tìm kiếm nhị phân so với tìm kiếm tuần tự là gì?

  • A. Dễ cài đặt hơn
  • B. Yêu cầu ít bộ nhớ hơn
  • C. Tốc độ tìm kiếm nhanh hơn trên dữ liệu lớn đã sắp xếp
  • D. Có thể áp dụng cho mọi loại dữ liệu

Câu 7: Trong thuật toán tìm kiếm nhị phân, nếu giá trị cần tìm nhỏ hơn giá trị ở vị trí giữa, bước tiếp theo sẽ thực hiện tìm kiếm ở:

  • A. Nửa đầu của danh sách
  • B. Nửa sau của danh sách
  • C. Toàn bộ danh sách
  • D. Vị trí giữa của danh sách

Câu 8: Để đọc toàn bộ nội dung của một tệp tin văn bản vào một biến kiểu chuỗi trong Python, bạn sử dụng phương thức nào?

  • A. `readlines()`
  • B. `read()`
  • C. `readline()`
  • D. `readall()`

Câu 9: Giả sử bạn có danh sách tên học sinh đã được sắp xếp theo bảng chữ cái. Bạn muốn tìm kiếm tên một học sinh cụ thể. Thuật toán tìm kiếm nào phù hợp nhất để tối ưu thời gian tìm kiếm?

  • A. Tìm kiếm ngẫu nhiên
  • B. Tìm kiếm nhị phân
  • C. Tìm kiếm tuyến tính
  • D. Tìm kiếm vét cạn

Câu 10: Trong Python, để ghi một chuỗi vào tệp tin, bạn sử dụng phương thức nào của đối tượng tệp?

  • A. `print()`
  • B. `input()`
  • C. `write()`
  • D. `read()`

Câu 11: Xét đoạn mã Python sau:
```python
f = open("output.txt", "a")
f.write("Dữ liệu mới")
```
Đoạn mã này thực hiện thao tác gì với tệp "output.txt"?

  • A. Xóa nội dung tệp và ghi "Dữ liệu mới"
  • B. Ghi "Dữ liệu mới" vào đầu tệp
  • C. Đọc nội dung tệp
  • D. Ghi "Dữ liệu mới" vào cuối tệp, giữ nguyên nội dung cũ

Câu 12: Khi thực hiện tìm kiếm tuần tự trong danh sách có N phần tử, trường hợp tốt nhất (best-case scenario) về số lần so sánh là bao nhiêu?

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

Câu 13: Trong bài toán tìm kiếm, "từ khóa tìm kiếm" (search query) đóng vai trò gì?

  • A. Tên của tệp dữ liệu
  • B. Giá trị cần tìm kiếm trong dữ liệu
  • C. Số lượng kết quả tìm kiếm mong muốn
  • D. Loại thuật toán tìm kiếm sử dụng

Câu 14: Để đọc từng dòng trong tệp văn bản và thực hiện xử lý trên từng dòng, cấu trúc lặp nào sau đây thường được sử dụng trong Python?

  • A. Vòng lặp `while` với điều kiện cố định
  • B. Vòng lặp `for` với range số
  • C. Vòng lặp `for` duyệt qua từng dòng của đối tượng tệp
  • D. Vòng lặp `while True` không điều kiện

Câu 15: Khi tìm kiếm nhị phân được áp dụng cho danh sách 1024 phần tử, số lần so sánh tối đa trong trường hợp xấu nhất (worst-case scenario) là bao nhiêu?

  • A. 1024
  • B. 512
  • C. 10
  • D. 11

Câu 16: Trong quá trình thực hành bài toán tìm kiếm điểm thi, nếu tệp dữ liệu điểm bị lỗi hoặc không tồn tại, chương trình cần xử lý như thế nào?

  • A. Dừng chương trình và báo lỗi hệ thống
  • B. Tự động tạo tệp dữ liệu mới
  • C. Thông báo lỗi cho người dùng một cách thân thiện và hướng dẫn xử lý
  • D. Tiếp tục chạy chương trình với dữ liệu mặc định

Câu 17: Để tìm kiếm thông tin gần đúng (ví dụ: tìm kiếm tên học sinh có thể viết sai chính tả), thuật toán tìm kiếm nhị phân có phù hợp không?

  • A. Phù hợp, vì tìm kiếm nhị phân rất nhanh
  • B. Không phù hợp, vì tìm kiếm nhị phân yêu cầu so sánh chính xác
  • C. Có thể điều chỉnh để phù hợp
  • D. Chỉ phù hợp với dữ liệu số

Câu 18: Trong Python, cấu trúc `with open(...) as f:` mang lại lợi ích gì so với `f = open(...)` thông thường?

  • A. Tốc độ mở tệp nhanh hơn
  • B. Cú pháp ngắn gọn hơn
  • C. Tự động xử lý lỗi khi mở tệp
  • D. Đảm bảo tệp tự động đóng sau khi khối lệnh `with` kết thúc

Câu 19: Giả sử bạn có tệp "data.csv" chứa dữ liệu dạng CSV. Để đọc dữ liệu này và xử lý, thư viện nào của Python thường được sử dụng?

  • A. `os`
  • B. `math`
  • C. `csv`
  • D. `random`

Câu 20: Trong bài toán tìm kiếm điểm, giả sử bạn muốn mở rộng chức năng để tìm kiếm theo khoảng điểm (ví dụ: tìm tất cả học sinh có điểm từ 8.0 đến 9.0). Thuật toán tìm kiếm nhị phân có trực tiếp áp dụng được không?

  • A. Có, vì tìm kiếm nhị phân rất linh hoạt
  • B. Không trực tiếp được, cần kết hợp với duyệt tuần tự hoặc thuật toán khác
  • C. Có, chỉ cần điều chỉnh từ khóa tìm kiếm
  • D. Chỉ áp dụng được nếu dữ liệu điểm là số nguyên

Câu 21: Khi ghi dữ liệu vào tệp văn bản, sự khác biệt giữa chế độ "w" và chế độ "a" là gì?

  • A. "w" ghi đè nội dung cũ, "a" ghi tiếp vào cuối tệp
  • B. "w" tạo tệp mới nếu chưa tồn tại, "a" báo lỗi nếu tệp chưa tồn tại
  • C. Không có sự khác biệt
  • D. "w" chỉ ghi số, "a" chỉ ghi chữ

Câu 22: Trong thuật toán tìm kiếm tuần tự, số lần so sánh trung bình (average-case scenario) khi tìm thấy phần tử ở giữa danh sách N phần tử là khoảng bao nhiêu?

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

Câu 23: Để kiểm tra xem một tệp tin có tồn tại hay không trước khi mở nó trong Python, bạn có thể sử dụng module nào?

  • A. `sys`
  • B. `os.path`
  • C. `io`
  • D. `file`

Câu 24: Trong bài toán quản lý danh sách học sinh và điểm, việc sắp xếp danh sách tên học sinh theo thứ tự alphabet mang lại lợi ích gì cho việc tìm kiếm?

  • A. Giảm dung lượng lưu trữ
  • B. Dữ liệu dễ đọc hơn
  • C. Cho phép sử dụng thuật toán tìm kiếm nhị phân hiệu quả hơn
  • D. Không có lợi ích đáng kể

Câu 25: Nếu bạn cần đọc dữ liệu từ một tệp rất lớn, phương thức đọc nào sau đây giúp tiết kiệm bộ nhớ nhất?

  • A. `read()`
  • B. `readlines()`
  • C. `read(n)`
  • D. Đọc từng dòng bằng vòng lặp `for line in f:`

Câu 26: Trong ngữ cảnh tìm kiếm dữ liệu từ tệp, "độ phức tạp thời gian" của thuật toán tìm kiếm mô tả điều gì?

  • A. Kích thước của tệp dữ liệu
  • B. Thời gian thực hiện thuật toán tìm kiếm tăng lên như thế nào khi kích thước dữ liệu tăng
  • C. Bộ nhớ cần thiết để chạy thuật toán
  • D. Độ chính xác của kết quả tìm kiếm

Câu 27: Để ghi nhiều dòng văn bản vào một tệp tin, phương thức `writelines()` trong Python nhận đầu vào là kiểu dữ liệu nào?

  • A. Chuỗi đơn
  • B. Số nguyên
  • C. Danh sách các chuỗi
  • D. Từ điển

Câu 28: Xét tình huống cần tìm kiếm nhanh chóng thông tin học sinh trong một trường học lớn với hàng nghìn học sinh. Dữ liệu được lưu trữ và sắp xếp theo mã học sinh. Giải pháp lưu trữ và thuật toán tìm kiếm nào sẽ hiệu quả nhất?

  • A. Lưu trữ trong tệp văn bản đã sắp xếp, sử dụng tìm kiếm nhị phân
  • B. Lưu trữ trong tệp văn bản không sắp xếp, sử dụng tìm kiếm tuần tự
  • C. Lưu trữ trong cơ sở dữ liệu quan hệ, sử dụng truy vấn SQL
  • D. Lưu trữ trong bộ nhớ RAM, sử dụng tìm kiếm tuần tự

Câu 29: Trong Python, khi mở tệp với encoding="UTF-8", mục đích chính là gì?

  • A. Tăng tốc độ đọc/ghi tệp
  • B. Hỗ trợ hiển thị và xử lý đúng các ký tự Unicode, bao gồm tiếng Việt
  • C. Giảm dung lượng tệp
  • D. Mã hóa nội dung tệp để bảo mật

Câu 30: Giả sử bạn có hai danh sách: `ten_hoc_sinh` và `diem_thi` (đã được sắp xếp theo tên). Để tìm điểm của học sinh có tên "Nguyen Van A", bạn nên sử dụng thuật toán tìm kiếm nào và tại sao?

  • A. Tìm kiếm tuần tự, vì dễ cài đặt
  • B. Tìm kiếm tuần tự, vì danh sách đã ngắn
  • C. Tìm kiếm nhị phân, vì danh sách đã được sắp xếp nên tìm kiếm nhanh hơn
  • D. Không cần thuật toán tìm kiếm, chỉ cần truy cập trực tiếp

1 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 20: Thực hành bài toán tìm kiếm

Tags: Bộ đề 8

Câu 1: Trong Python, phương thức `open()` với tham số nào sau đây sẽ mở một tệp tin ở chế độ chỉ đọc?

2 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 20: Thực hành bài toán tìm kiếm

Tags: Bộ đề 8

Câu 2: Để đảm bảo tài nguyên hệ thống được giải phóng sau khi thao tác với tệp tin, bạn cần sử dụng phương thức nào sau đây?

3 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 20: Thực hành bài toán tìm kiếm

Tags: Bộ đề 8

Câu 3: Xét đoạn mã Python sau:
```python
f = open('data.txt', 'r')
lines = f.readlines()
```
Biến `lines` sẽ chứa dữ liệu kiểu nào?

4 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 20: Thực hành bài toán tìm kiếm

Tags: Bộ đề 8

Câu 4: Trong bài toán tìm kiếm điểm học sinh, giả sử dữ liệu được lưu trữ trong tệp 'diem_thi.txt' với mỗi dòng có định dạng 'Tên học sinh,Điểm'. Để đọc và xử lý dữ liệu này, phương thức `split(',')` được sử dụng với mục đích gì?

5 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 20: Thực hành bài toán tìm kiếm

Tags: Bộ đề 8

Câu 5: Thuật toán tìm kiếm nào hiệu quả hơn trên dữ liệu đã được sắp xếp?

6 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 20: Thực hành bài toán tìm kiếm

Tags: Bộ đề 8

Câu 6: Ưu điểm chính của thuật toán tìm kiếm nhị phân so với tìm kiếm tuần tự là gì?

7 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 20: Thực hành bài toán tìm kiếm

Tags: Bộ đề 8

Câu 7: Trong thuật toán tìm kiếm nhị phân, nếu giá trị cần tìm nhỏ hơn giá trị ở vị trí giữa, bước tiếp theo sẽ thực hiện tìm kiếm ở:

8 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 20: Thực hành bài toán tìm kiếm

Tags: Bộ đề 8

Câu 8: Để đọc toàn bộ nội dung của một tệp tin văn bản vào một biến kiểu chuỗi trong Python, bạn sử dụng phương thức nào?

9 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 20: Thực hành bài toán tìm kiếm

Tags: Bộ đề 8

Câu 9: Giả sử bạn có danh sách tên học sinh đã được sắp xếp theo bảng chữ cái. Bạn muốn tìm kiếm tên một học sinh cụ thể. Thuật toán tìm kiếm nào phù hợp nhất để tối ưu thời gian tìm kiếm?

10 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 20: Thực hành bài toán tìm kiếm

Tags: Bộ đề 8

Câu 10: Trong Python, để ghi một chuỗi vào tệp tin, bạn sử dụng phương thức nào của đối tượng tệp?

11 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 20: Thực hành bài toán tìm kiếm

Tags: Bộ đề 8

Câu 11: Xét đoạn mã Python sau:
```python
f = open('output.txt', 'a')
f.write('Dữ liệu mới')
```
Đoạn mã này thực hiện thao tác gì với tệp 'output.txt'?

12 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 20: Thực hành bài toán tìm kiếm

Tags: Bộ đề 8

Câu 12: Khi thực hiện tìm kiếm tuần tự trong danh sách có N phần tử, trường hợp tốt nhất (best-case scenario) về số lần so sánh là bao nhiêu?

13 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 20: Thực hành bài toán tìm kiếm

Tags: Bộ đề 8

Câu 13: Trong bài toán tìm kiếm, 'từ khóa tìm kiếm' (search query) đóng vai trò gì?

14 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 20: Thực hành bài toán tìm kiếm

Tags: Bộ đề 8

Câu 14: Để đọc từng dòng trong tệp văn bản và thực hiện xử lý trên từng dòng, cấu trúc lặp nào sau đây thường được sử dụng trong Python?

15 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 20: Thực hành bài toán tìm kiếm

Tags: Bộ đề 8

Câu 15: Khi tìm kiếm nhị phân được áp dụng cho danh sách 1024 phần tử, số lần so sánh tối đa trong trường hợp xấu nhất (worst-case scenario) là bao nhiêu?

16 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 20: Thực hành bài toán tìm kiếm

Tags: Bộ đề 8

Câu 16: Trong quá trình thực hành bài toán tìm kiếm điểm thi, nếu tệp dữ liệu điểm bị lỗi hoặc không tồn tại, chương trình cần xử lý như thế nào?

17 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 20: Thực hành bài toán tìm kiếm

Tags: Bộ đề 8

Câu 17: Để tìm kiếm thông tin gần đúng (ví dụ: tìm kiếm tên học sinh có thể viết sai chính tả), thuật toán tìm kiếm nhị phân có phù hợp không?

18 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 20: Thực hành bài toán tìm kiếm

Tags: Bộ đề 8

Câu 18: Trong Python, cấu trúc `with open(...) as f:` mang lại lợi ích gì so với `f = open(...)` thông thường?

19 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 20: Thực hành bài toán tìm kiếm

Tags: Bộ đề 8

Câu 19: Giả sử bạn có tệp 'data.csv' chứa dữ liệu dạng CSV. Để đọc dữ liệu này và xử lý, thư viện nào của Python thường được sử dụng?

20 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 20: Thực hành bài toán tìm kiếm

Tags: Bộ đề 8

Câu 20: Trong bài toán tìm kiếm điểm, giả sử bạn muốn mở rộng chức năng để tìm kiếm theo khoảng điểm (ví dụ: tìm tất cả học sinh có điểm từ 8.0 đến 9.0). Thuật toán tìm kiếm nhị phân có trực tiếp áp dụng được không?

21 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 20: Thực hành bài toán tìm kiếm

Tags: Bộ đề 8

Câu 21: Khi ghi dữ liệu vào tệp văn bản, sự khác biệt giữa chế độ 'w' và chế độ 'a' là gì?

22 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 20: Thực hành bài toán tìm kiếm

Tags: Bộ đề 8

Câu 22: Trong thuật toán tìm kiếm tuần tự, số lần so sánh trung bình (average-case scenario) khi tìm thấy phần tử ở giữa danh sách N phần tử là khoảng bao nhiêu?

23 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 20: Thực hành bài toán tìm kiếm

Tags: Bộ đề 8

Câu 23: Để kiểm tra xem một tệp tin có tồn tại hay không trước khi mở nó trong Python, bạn có thể sử dụng module nào?

24 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 20: Thực hành bài toán tìm kiếm

Tags: Bộ đề 8

Câu 24: Trong bài toán quản lý danh sách học sinh và điểm, việc sắp xếp danh sách tên học sinh theo thứ tự alphabet mang lại lợi ích gì cho việc tìm kiếm?

25 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 20: Thực hành bài toán tìm kiếm

Tags: Bộ đề 8

Câu 25: Nếu bạn cần đọc dữ liệu từ một tệp rất lớn, phương thức đọc nào sau đây giúp tiết kiệm bộ nhớ nhất?

26 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 20: Thực hành bài toán tìm kiếm

Tags: Bộ đề 8

Câu 26: Trong ngữ cảnh tìm kiếm dữ liệu từ tệp, 'độ phức tạp thời gian' của thuật toán tìm kiếm mô tả điều gì?

27 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 20: Thực hành bài toán tìm kiếm

Tags: Bộ đề 8

Câu 27: Để ghi nhiều dòng văn bản vào một tệp tin, phương thức `writelines()` trong Python nhận đầu vào là kiểu dữ liệu nào?

28 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 20: Thực hành bài toán tìm kiếm

Tags: Bộ đề 8

Câu 28: Xét tình huống cần tìm kiếm nhanh chóng thông tin học sinh trong một trường học lớn với hàng nghìn học sinh. Dữ liệu được lưu trữ và sắp xếp theo mã học sinh. Giải pháp lưu trữ và thuật toán tìm kiếm nào sẽ hiệu quả nhất?

29 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 20: Thực hành bài toán tìm kiếm

Tags: Bộ đề 8

Câu 29: Trong Python, khi mở tệp với encoding='UTF-8', mục đích chính là gì?

30 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 20: Thực hành bài toán tìm kiếm

Tags: Bộ đề 8

Câu 30: Giả sử bạn có hai danh sách: `ten_hoc_sinh` và `diem_thi` (đã được sắp xếp theo tên). Để tìm điểm của học sinh có tên 'Nguyen Van A', bạn nên sử dụng thuật toán tìm kiếm nào và tại sao?

Xem kết quả

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 20: Thực hành bài toán tìm kiếm

Trắc nghiệm Tin học 11 Kết nối tri thức Bài 20: Thực hành bài toán tìm kiếm - Đề 09

Trắc nghiệm Tin học 11 Kết nối tri thức Bài 20: Thực hành bài toán tìm kiếm - Đề 09 bao gồm nhiều câu hỏi hay, bám sát chương trình. Cùng làm bài tập trắc nghiệm ngay.

Câu 1: Trong Python, khi làm việc với tệp văn bản, chế độ mở tệp nào sau đây cho phép bạn vừa đọc vừa ghi dữ liệu, đồng thời giữ lại nội dung hiện có của tệp?

  • A. "r"
  • B. "w"
  • C. "a"
  • D. "r+"

Câu 2: Cho đoạn mã Python sau:
```python
f = open("thong_tin.txt", "w", encoding="utf-8")
danh_sach = ["An", "Binh", "Lan"]
f.writelines(danh_sach)
f.close()
```
Điều gì xảy ra với tệp "thong_tin.txt" sau khi đoạn mã này được thực thi?

  • A. Tệp "thong_tin.txt" sẽ chứa các tên "An", "Binh", "Lan" mỗi tên trên một dòng.
  • B. Tệp "thong_tin.txt" sẽ chứa chuỗi "AnBinhLan".
  • C. Đoạn mã sẽ gây ra lỗi vì `writelines()` không hoạt động với danh sách.
  • D. Tệp "thong_tin.txt" sẽ không được tạo ra.

Câu 3: Bạn có một tệp văn bản "du_lieu.csv" chứa dữ liệu dạng CSV (Comma Separated Values). Để đọc dữ liệu từ tệp này và xử lý từng dòng như một danh sách các giá trị, bạn nên sử dụng phương thức nào sau khi mở tệp?

  • A. `read()`
  • B. `readline()`
  • C. `readlines()` kết hợp với `split(",")` trên mỗi dòng
  • D. `write()`

Câu 4: Trong thuật toán tìm kiếm nhị phân, giả sử bạn đang tìm kiếm số 35 trong danh sách đã sắp xếp `[10, 20, 25, 30, 35, 40, 45, 50]`. Ở bước đầu tiên, phần tử ở vị trí giữa của danh sách là 30. Bước tiếp theo thuật toán sẽ thực hiện như thế nào?

  • A. Tìm kiếm trong nửa danh sách từ đầu đến 30.
  • B. Tìm kiếm trong nửa danh sách từ 35 đến cuối.
  • C. Tìm kiếm từ đầu đến cuối danh sách.
  • D. Thuật toán kết thúc và trả về "không tìm thấy".

Câu 5: Xét một danh sách học sinh đã được sắp xếp theo tên. Bạn muốn kiểm tra xem một học sinh có tên "Mai" có trong danh sách hay không. Thuật toán tìm kiếm nào sẽ hiệu quả nhất về mặt thời gian trong trường hợp này?

  • A. Tìm kiếm tuần tự (Sequential Search)
  • B. Tìm kiếm nhị phân (Binary Search)
  • C. Cả hai thuật toán có hiệu quả như nhau.
  • D. Không thuật toán nào phù hợp.

Câu 6: Trong Python, bạn muốn đảm bảo rằng tệp sẽ tự động được đóng sau khi hoàn thành các thao tác đọc/ghi, ngay cả khi có lỗi xảy ra. Cấu trúc nào sau đây giúp bạn thực hiện điều này?

  • A. Sử dụng `f.close()` ở cuối chương trình.
  • B. Sử dụng vòng lặp `try...except...finally`.
  • C. Sử dụng cấu trúc `with open(...) as f:`
  • D. Python tự động đóng tệp sau khi chương trình kết thúc.

Câu 7: Cho đoạn mã Python:
```python
f = open("diem_so.txt", "r")
data = f.read()
f.seek(0)
dong_dau = f.readline()
f.close()
```
Biến `dong_dau` sẽ chứa giá trị nào sau khi đoạn mã thực thi?

  • A. Dòng đầu tiên của tệp "diem_so.txt".
  • B. Toàn bộ nội dung của tệp "diem_so.txt".
  • C. Một chuỗi rỗng.
  • D. Lỗi, vì không thể gọi `readline()` sau `read()`.

Câu 8: Bạn có một danh sách tên học sinh chưa được sắp xếp. Bạn muốn tìm kiếm một tên cụ thể trong danh sách này. Thuật toán tìm kiếm nào có thể được sử dụng?

  • A. Tìm kiếm tuần tự (Sequential Search)
  • B. Tìm kiếm nhị phân (Binary Search)
  • C. Cả hai thuật toán đều có thể sử dụng nhưng nhị phân hiệu quả hơn.
  • D. Không thuật toán nào phù hợp với dữ liệu chưa sắp xếp.

Câu 9: Trong ngữ cảnh bài toán tìm kiếm thông tin học sinh từ tệp, yếu tố nào sau đây không ảnh hưởng trực tiếp đến hiệu quả của thuật toán tìm kiếm?

  • A. Kích thước của tệp dữ liệu.
  • B. Thuật toán tìm kiếm được sử dụng.
  • C. Định dạng của tệp dữ liệu (ví dụ: văn bản thuần túy, CSV).
  • D. Màu sắc của tệp dữ liệu.

Câu 10: Để đọc toàn bộ nội dung của một tệp văn bản vào một biến duy nhất dưới dạng chuỗi trong Python, bạn sử dụng phương thức nào?

  • A. `read()`
  • B. `readline()`
  • C. `readlines()`
  • D. `readall()`

Câu 11: Giả sử bạn có một tệp "log.txt" ghi lại các sự kiện theo thời gian. Mỗi dòng chứa thông tin sự kiện và dấu thời gian. Bạn muốn tìm tất cả các sự kiện xảy ra trong một khoảng thời gian nhất định. Bạn sẽ sử dụng phương pháp nào để đọc và xử lý tệp này hiệu quả nhất?

  • A. Đọc toàn bộ tệp vào bộ nhớ bằng `read()` và sau đó tìm kiếm.
  • B. Đọc tệp từng dòng bằng `readline()` hoặc lặp qua đối tượng tệp và kiểm tra dấu thời gian trên mỗi dòng.
  • C. Sử dụng phương thức `readlines()` để đọc tất cả các dòng vào danh sách và sau đó tìm kiếm trong danh sách.
  • D. Chỉ mở tệp ở chế độ đọc mà không cần đọc nội dung.

Câu 12: Khi thực hiện tìm kiếm nhị phân, điều kiện tiên quyết nào sau đây phải được đảm bảo đối với dữ liệu?

  • A. Dữ liệu phải là số nguyên.
  • B. Dữ liệu phải là chuỗi.
  • C. Dữ liệu phải được sắp xếp.
  • D. Dữ liệu phải có kích thước nhỏ.

Câu 13: Cho danh sách `A = [5, 12, 23, 38, 45, 56]`. Bạn muốn kiểm tra xem số 30 có nằm trong danh sách này không bằng thuật toán tìm kiếm nhị phân. Số lần so sánh tối đa cần thực hiện là bao nhiêu?

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

Câu 14: Trong Python, khi bạn mở một tệp để ghi bằng chế độ "w", nếu tệp đã tồn tại, điều gì sẽ xảy ra?

  • A. Chương trình sẽ báo lỗi và không mở tệp.
  • B. Nội dung cũ của tệp sẽ bị xóa và tệp được mở để ghi dữ liệu mới.
  • C. Dữ liệu mới sẽ được ghi thêm vào cuối tệp.
  • D. Tệp sẽ được mở ở chế độ chỉ đọc.

Câu 15: Bạn cần viết một chương trình Python để tìm kiếm thông tin học sinh (tên, điểm) trong một tệp văn bản. Tệp này có cấu trúc mỗi dòng là "Tên,Điểm". Bạn nên sử dụng cấu trúc dữ liệu nào để lưu trữ dữ liệu đọc từ tệp để việc tìm kiếm theo tên được hiệu quả nhất?

  • A. Danh sách (List)
  • B. Bộ (Tuple)
  • C. Từ điển (Dictionary)
  • D. Tập hợp (Set)

Câu 16: Cho đoạn mã Python:
```python
f = open("so_lieu.txt", "r")
for line in f:
print(line.strip())
f.close()
```
Đoạn mã này thực hiện công việc gì?

  • A. Đọc và in ra từng dòng của tệp "so_lieu.txt", loại bỏ khoảng trắng đầu và cuối mỗi dòng.
  • B. Đọc toàn bộ nội dung tệp "so_lieu.txt" và in ra một lần.
  • C. Ghi nội dung vào tệp "so_lieu.txt".
  • D. Đếm số dòng trong tệp "so_lieu.txt".

Câu 17: Trong thuật toán tìm kiếm tuần tự, trường hợp tốt nhất về số lần so sánh xảy ra khi nào?

  • A. Phần tử cần tìm nằm ở vị trí đầu tiên trong danh sách.
  • B. Phần tử cần tìm nằm ở vị trí cuối cùng trong danh sách.
  • C. Phần tử cần tìm nằm ở vị trí giữa danh sách.
  • D. Phần tử cần tìm không có trong danh sách.

Câu 18: Bạn có một tệp văn bản lớn chứa thông tin sản phẩm. Mỗi dòng mô tả một sản phẩm. Bạn muốn tìm kiếm sản phẩm dựa trên một từ khóa cho trước. Phương pháp tìm kiếm nào phù hợp để duyệt qua từng dòng và kiểm tra sự xuất hiện của từ khóa?

  • A. Đọc toàn bộ tệp vào bộ nhớ và sử dụng tìm kiếm nhị phân.
  • B. Đọc tệp từng dòng và kiểm tra từ khóa trên mỗi dòng.
  • C. Sử dụng cơ sở dữ liệu để lưu trữ thông tin sản phẩm và thực hiện truy vấn.
  • D. Không thể tìm kiếm trong tệp văn bản lớn.

Câu 19: Trong Python, để kiểm tra xem một tệp có tồn tại hay không trước khi thực hiện các thao tác đọc/ghi, bạn có thể sử dụng module nào?

  • A. `file`
  • B. `io`
  • C. `os.path`
  • D. `sys`

Câu 20: Bạn muốn sao chép nội dung của tệp "file_goc.txt" sang tệp "file_sao.txt". Đoạn mã Python nào sau đây thực hiện công việc này hiệu quả nhất?

  • A. ```python
    import shutil
    shutil.copy("file_goc.txt", "file_sao.txt")
    ```
  • B. ```python
    with open("file_goc.txt", "r") as f_goc:
    data = f_goc.read()
    with open("file_sao.txt", "w") as f_sao:
    f_sao.write(data)
    ```
  • C. ```python
    with open("file_goc.txt", "r") as f_goc, open("file_sao.txt", "w") as f_sao:
    for line in f_goc:
    f_sao.write(line)
    ```
  • D. ```python
    import os
    os.rename("file_goc.txt", "file_sao.txt")
    ```

Câu 21: Khi nào thì tìm kiếm tuần tự là lựa chọn duy nhất hoặc phù hợp hơn so với tìm kiếm nhị phân?

  • A. Khi danh sách dữ liệu không được sắp xếp.
  • B. Khi danh sách dữ liệu có kích thước rất lớn.
  • C. Khi cần tìm kiếm phần tử ở vị trí cuối danh sách.
  • D. Khi muốn tìm kiếm phần tử nhỏ nhất trong danh sách.

Câu 22: Trong thuật toán tìm kiếm nhị phân, nếu giá trị cần tìm nhỏ hơn phần tử ở vị trí giữa, thì phạm vi tìm kiếm sẽ được thu hẹp về phía nào?

  • A. Phía bên phải của phần tử giữa.
  • B. Phía bên trái của phần tử giữa.
  • C. Cả hai phía của phần tử giữa.
  • D. Không thu hẹp phạm vi tìm kiếm.

Câu 23: Phương thức `split()` trong Python thường được sử dụng để xử lý dữ liệu đọc từ tệp văn bản như thế nào?

  • A. Để đọc toàn bộ tệp thành một chuỗi duy nhất.
  • B. Để đóng tệp sau khi đọc.
  • C. Để tách một dòng thành các phần nhỏ hơn dựa trên dấu phân cách.
  • D. Để ghi dữ liệu vào tệp.

Câu 24: Khi làm việc với tệp văn bản chứa tiếng Việt, tham số `encoding="utf-8"` trong hàm `open()` có vai trò gì?

  • A. Tăng tốc độ đọc/ghi tệp.
  • B. Đảm bảo đọc và ghi đúng các ký tự tiếng Việt và các ngôn ngữ khác.
  • C. Mã hóa nội dung tệp để bảo mật.
  • D. Giảm kích thước tệp văn bản.

Câu 25: Trong bài toán tìm kiếm điểm học sinh từ tệp, nếu bạn muốn cho phép người dùng tìm kiếm gần đúng (ví dụ: tìm "Lan" có thể ra kết quả "Lan Anh", "Ngọc Lan"), bạn cần áp dụng kỹ thuật tìm kiếm nào phức tạp hơn?

  • A. Tìm kiếm nhị phân.
  • B. Tìm kiếm tuần tự.
  • C. Tìm kiếm theo chỉ mục.
  • D. Tìm kiếm mờ (Fuzzy Search) hoặc các kỹ thuật xử lý ngôn ngữ tự nhiên.

Câu 26: Cho danh sách tên học sinh đã sắp xếp. Nếu bạn thực hiện tìm kiếm nhị phân và không tìm thấy tên cần tìm, bạn có thể kết luận gì về tên đó trong danh sách?

  • A. Tên học sinh đó không có trong danh sách.
  • B. Tên học sinh có trong danh sách nhưng ở vị trí khác.
  • C. Thuật toán tìm kiếm nhị phân bị lỗi.
  • D. Cần sử dụng thuật toán tìm kiếm khác.

Câu 27: Trong Python, để ghi nhiều dòng văn bản vào tệp một cách hiệu quả, phương thức nào sau đây thường được ưu tiên hơn khi so sánh với việc gọi `f.write()` nhiều lần trong vòng lặp?

  • A. `f.write()`
  • B. `f.writelines()`
  • C. `f.print()`
  • D. `f.writeline()`

Câu 28: Xét tình huống bạn cần tìm kiếm thông tin học sinh trong một tệp dữ liệu rất lớn (vài GB). Giải pháp nào sau đây giúp giảm thiểu lượng bộ nhớ sử dụng trong quá trình tìm kiếm?

  • A. Đọc toàn bộ tệp vào bộ nhớ và thực hiện tìm kiếm.
  • B. Chia nhỏ tệp thành nhiều phần nhỏ hơn và tìm kiếm tuần tự trong từng phần.
  • C. Đọc tệp từng dòng và xử lý dòng đó, không tải toàn bộ tệp vào bộ nhớ.
  • D. Sử dụng thuật toán tìm kiếm nhị phân trên toàn bộ tệp.

Câu 29: Khi thực hiện tìm kiếm nhị phân trên một danh sách có kích thước n, độ phức tạp thời gian trường hợp xấu nhất là O(log n). Điều này có nghĩa là gì?

  • A. Thời gian tìm kiếm tỉ lệ tuyến tính với kích thước danh sách.
  • B. Thời gian tìm kiếm không đổi, không phụ thuộc vào kích thước danh sách.
  • C. Thời gian tìm kiếm tăng theo lũy thừa của kích thước danh sách.
  • D. Số phép so sánh cần thiết tăng chậm hơn nhiều so với tốc độ tăng kích thước danh sách.

Câu 30: Trong Python, bạn muốn mở tệp "ket_qua.txt" để ghi dữ liệu nhị phân. Chế độ mở tệp nào sau đây là phù hợp?

  • A. "w"
  • B. "r"
  • C. "wb"
  • D. "rb"

1 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 20: Thực hành bài toán tìm kiếm

Tags: Bộ đề 9

Câu 1: Trong Python, khi làm việc với tệp văn bản, chế độ mở tệp nào sau đây cho phép bạn *vừa đọc vừa ghi* dữ liệu, đồng thời giữ lại nội dung hiện có của tệp?

2 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 20: Thực hành bài toán tìm kiếm

Tags: Bộ đề 9

Câu 2: Cho đoạn mã Python sau:
```python
f = open('thong_tin.txt', 'w', encoding='utf-8')
danh_sach = ['An', 'Binh', 'Lan']
f.writelines(danh_sach)
f.close()
```
Điều gì xảy ra với tệp 'thong_tin.txt' sau khi đoạn mã này được thực thi?

3 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 20: Thực hành bài toán tìm kiếm

Tags: Bộ đề 9

Câu 3: Bạn có một tệp văn bản 'du_lieu.csv' chứa dữ liệu dạng CSV (Comma Separated Values). Để đọc dữ liệu từ tệp này và xử lý từng dòng như một danh sách các giá trị, bạn nên sử dụng phương thức nào sau khi mở tệp?

4 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 20: Thực hành bài toán tìm kiếm

Tags: Bộ đề 9

Câu 4: Trong thuật toán tìm kiếm nhị phân, giả sử bạn đang tìm kiếm số 35 trong danh sách đã sắp xếp `[10, 20, 25, 30, 35, 40, 45, 50]`. Ở bước đầu tiên, phần tử ở vị trí giữa của danh sách là 30. Bước tiếp theo thuật toán sẽ thực hiện như thế nào?

5 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 20: Thực hành bài toán tìm kiếm

Tags: Bộ đề 9

Câu 5: Xét một danh sách học sinh đã được sắp xếp theo tên. Bạn muốn kiểm tra xem một học sinh có tên 'Mai' có trong danh sách hay không. Thuật toán tìm kiếm nào sẽ hiệu quả nhất về mặt thời gian trong trường hợp này?

6 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 20: Thực hành bài toán tìm kiếm

Tags: Bộ đề 9

Câu 6: Trong Python, bạn muốn đảm bảo rằng tệp sẽ tự động được đóng sau khi hoàn thành các thao tác đọc/ghi, ngay cả khi có lỗi xảy ra. Cấu trúc nào sau đây giúp bạn thực hiện điều này?

7 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 20: Thực hành bài toán tìm kiếm

Tags: Bộ đề 9

Câu 7: Cho đoạn mã Python:
```python
f = open('diem_so.txt', 'r')
data = f.read()
f.seek(0)
dong_dau = f.readline()
f.close()
```
Biến `dong_dau` sẽ chứa giá trị nào sau khi đoạn mã thực thi?

8 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 20: Thực hành bài toán tìm kiếm

Tags: Bộ đề 9

Câu 8: Bạn có một danh sách tên học sinh chưa được sắp xếp. Bạn muốn tìm kiếm một tên cụ thể trong danh sách này. Thuật toán tìm kiếm nào có thể được sử dụng?

9 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 20: Thực hành bài toán tìm kiếm

Tags: Bộ đề 9

Câu 9: Trong ngữ cảnh bài toán tìm kiếm thông tin học sinh từ tệp, yếu tố nào sau đây *không* ảnh hưởng trực tiếp đến hiệu quả của thuật toán tìm kiếm?

10 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 20: Thực hành bài toán tìm kiếm

Tags: Bộ đề 9

Câu 10: Để đọc toàn bộ nội dung của một tệp văn bản vào một biến duy nhất dưới dạng chuỗi trong Python, bạn sử dụng phương thức nào?

11 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 20: Thực hành bài toán tìm kiếm

Tags: Bộ đề 9

Câu 11: Giả sử bạn có một tệp 'log.txt' ghi lại các sự kiện theo thời gian. Mỗi dòng chứa thông tin sự kiện và dấu thời gian. Bạn muốn tìm tất cả các sự kiện xảy ra trong một khoảng thời gian nhất định. Bạn sẽ sử dụng phương pháp nào để đọc và xử lý tệp này hiệu quả nhất?

12 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 20: Thực hành bài toán tìm kiếm

Tags: Bộ đề 9

Câu 12: Khi thực hiện tìm kiếm nhị phân, điều kiện tiên quyết nào sau đây phải được đảm bảo đối với dữ liệu?

13 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 20: Thực hành bài toán tìm kiếm

Tags: Bộ đề 9

Câu 13: Cho danh sách `A = [5, 12, 23, 38, 45, 56]`. Bạn muốn kiểm tra xem số 30 có nằm trong danh sách này không bằng thuật toán tìm kiếm nhị phân. Số lần so sánh tối đa cần thực hiện là bao nhiêu?

14 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 20: Thực hành bài toán tìm kiếm

Tags: Bộ đề 9

Câu 14: Trong Python, khi bạn mở một tệp để ghi bằng chế độ 'w', nếu tệp đã tồn tại, điều gì sẽ xảy ra?

15 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 20: Thực hành bài toán tìm kiếm

Tags: Bộ đề 9

Câu 15: Bạn cần viết một chương trình Python để tìm kiếm thông tin học sinh (tên, điểm) trong một tệp văn bản. Tệp này có cấu trúc mỗi dòng là 'Tên,Điểm'. Bạn nên sử dụng cấu trúc dữ liệu nào để lưu trữ dữ liệu đọc từ tệp để việc tìm kiếm theo tên được hiệu quả nhất?

16 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 20: Thực hành bài toán tìm kiếm

Tags: Bộ đề 9

Câu 16: Cho đoạn mã Python:
```python
f = open('so_lieu.txt', 'r')
for line in f:
print(line.strip())
f.close()
```
Đoạn mã này thực hiện công việc gì?

17 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 20: Thực hành bài toán tìm kiếm

Tags: Bộ đề 9

Câu 17: Trong thuật toán tìm kiếm tuần tự, trường hợp *tốt nhất* về số lần so sánh 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 20: Thực hành bài toán tìm kiếm

Tags: Bộ đề 9

Câu 18: Bạn có một tệp văn bản lớn chứa thông tin sản phẩm. Mỗi dòng mô tả một sản phẩm. Bạn muốn tìm kiếm sản phẩm dựa trên một từ khóa cho trước. Phương pháp tìm kiếm nào phù hợp để duyệt qua từng dòng và kiểm tra sự xuất hiện của từ khóa?

19 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 20: Thực hành bài toán tìm kiếm

Tags: Bộ đề 9

Câu 19: Trong Python, để kiểm tra xem một tệp có tồn tại hay không trước khi thực hiện các thao tác đọc/ghi, bạn có thể sử dụng module nào?

20 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 20: Thực hành bài toán tìm kiếm

Tags: Bộ đề 9

Câu 20: Bạn muốn sao chép nội dung của tệp 'file_goc.txt' sang tệp 'file_sao.txt'. Đoạn mã Python nào sau đây thực hiện công việc này hiệu quả nhất?

21 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 20: Thực hành bài toán tìm kiếm

Tags: Bộ đề 9

Câu 21: Khi nào thì tìm kiếm tuần tự là lựa chọn *duy nhất* hoặc *phù hợp hơn* so với 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 20: Thực hành bài toán tìm kiếm

Tags: Bộ đề 9

Câu 22: Trong thuật toán tìm kiếm nhị phân, nếu giá trị cần tìm *nhỏ hơn* phần tử ở vị trí giữa, thì phạm vi tìm kiếm sẽ được thu hẹp về phía nào?

23 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 20: Thực hành bài toán tìm kiếm

Tags: Bộ đề 9

Câu 23: Phương thức `split()` trong Python thường được sử dụng để xử lý dữ liệu đọc từ tệp văn bản như thế nào?

24 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 20: Thực hành bài toán tìm kiếm

Tags: Bộ đề 9

Câu 24: Khi làm việc với tệp văn bản chứa tiếng Việt, tham số `encoding='utf-8'` trong hàm `open()` có vai trò gì?

25 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 20: Thực hành bài toán tìm kiếm

Tags: Bộ đề 9

Câu 25: Trong bài toán tìm kiếm điểm học sinh từ tệp, nếu bạn muốn cho phép người dùng tìm kiếm gần đúng (ví dụ: tìm 'Lan' có thể ra kết quả 'Lan Anh', 'Ngọc Lan'), bạn cần áp dụng kỹ thuật tìm kiếm nào phức tạp hơn?

26 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 20: Thực hành bài toán tìm kiếm

Tags: Bộ đề 9

Câu 26: Cho danh sách tên học sinh đã sắp xếp. Nếu bạn thực hiện tìm kiếm nhị phân và không tìm thấy tên cần tìm, bạn có thể kết luận gì về tên đó trong danh sách?

27 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 20: Thực hành bài toán tìm kiếm

Tags: Bộ đề 9

Câu 27: Trong Python, để ghi nhiều dòng văn bản vào tệp một cách hiệu quả, phương thức nào sau đây thường được ưu tiên hơn khi so sánh với việc gọi `f.write()` nhiều lần trong vòng lặp?

28 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 20: Thực hành bài toán tìm kiếm

Tags: Bộ đề 9

Câu 28: Xét tình huống bạn cần tìm kiếm thông tin học sinh trong một tệp dữ liệu rất lớn (vài GB). Giải pháp nào sau đây giúp giảm thiểu lượng bộ nhớ sử dụng trong quá trình tìm kiếm?

29 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 20: Thực hành bài toán tìm kiếm

Tags: Bộ đề 9

Câu 29: Khi thực hiện tìm kiếm nhị phân trên một danh sách có kích thước n, độ phức tạp thời gian *trường hợp xấu nhất* là O(log n). Điều này có nghĩa là gì?

30 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 20: Thực hành bài toán tìm kiếm

Tags: Bộ đề 9

Câu 30: Trong Python, bạn muốn mở tệp 'ket_qua.txt' để ghi dữ liệu *nhị phân*. Chế độ mở tệp nào sau đây là phù hợp?

Xem kết quả

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 20: Thực hành bài toán tìm kiếm

Trắc nghiệm Tin học 11 Kết nối tri thức Bài 20: Thực hành bài toán tìm kiếm - Đề 10

Trắc nghiệm Tin học 11 Kết nối tri thức Bài 20: Thực hành bài toán tìm kiếm - Đề 10 bao gồm nhiều câu hỏi hay, bám sát chương trình. Cùng làm bài tập trắc nghiệm ngay.

Câu 1: Trong Python, khi làm việc với tệp tin văn bản, chế độ mở tệp nào sau đây cho phép bạn vừa đọc vừa ghi, đồng thời tạo tệp mới nếu nó chưa tồn tại hoặc ghi đè lên nội dung cũ nếu tệp đã tồn tại?

  • A.
  • B.
  • C.
  • D.

Câu 2: Giả sử bạn có một danh sách tên học sinh đã được sắp xếp theo thứ tự bảng chữ cái. Để tìm kiếm một tên học sinh cụ thể trong danh sách này một cách hiệu quả nhất, 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ự (Sequential Search)
  • B. Tìm kiếm nhị phân (Binary Search)
  • C. Tìm kiếm theo chiều rộng (Breadth-First Search)
  • D. Tìm kiếm theo chiều sâu (Depth-First Search)

Câu 3: Trong ngữ cảnh bài toán tìm kiếm điểm thi học sinh từ một tệp dữ liệu, thao tác nào sau đây thể hiện kỹ năng áp dụng thuật toán tìm kiếm tuần tự?

  • A. Sắp xếp danh sách học sinh theo điểm thi trước khi tìm kiếm.
  • B. Chia danh sách học sinh thành các nhóm nhỏ để tìm kiếm song song.
  • C. Duyệt qua danh sách học sinh từ đầu đến cuối và so sánh tên với tên cần tìm.
  • D. Sử dụng chỉ mục (index) để truy cập trực tiếp vào tên học sinh cần tìm.

Câu 4: Cho đoạn mã Python sau: `f = open(

  • A. Đọc toàn bộ nội dung tệp "diem_thi.txt" và lưu trữ thành một danh sách các dòng.
  • B. Ghi nội dung mới vào tệp "diem_thi.txt", xóa nội dung cũ nếu có.
  • C. Mở tệp "diem_thi.txt" để ghi thêm dữ liệu vào cuối tệp.
  • D. Kiểm tra xem tệp "diem_thi.txt" có tồn tại hay không.

Câu 5: Trong bài toán tìm kiếm nhị phân, giả sử bạn đang tìm kiếm số 35 trong danh sách đã sắp xếp: `[10, 20, 25, 30, 35, 40, 45, 50]`. Ở bước đầu tiên, phần tử ở vị trí giữa của danh sách là số nào?

  • A. 20
  • B. 30
  • C. 35
  • D. 40

Câu 6: Xét tình huống cần tìm kiếm thông tin học sinh dựa trên mã số học sinh (MSHS). Nếu dữ liệu học sinh được lưu trữ trong một tệp văn bản, mỗi dòng chứa thông tin một học sinh (MSHS, Tên, Điểm). Phương pháp nào sau đây không phù hợp để tăng tốc độ tìm kiếm khi số lượng học sinh rất lớn?

  • A. Đọc toàn bộ tệp vào bộ nhớ và sử dụng tìm kiếm tuần tự trên danh sách.
  • B. Sắp xếp dữ liệu trong tệp theo MSHS và sử dụng tìm kiếm nhị phân.
  • C. Sử dụng cơ sở dữ liệu để quản lý và tìm kiếm dữ liệu học sinh.
  • D. Xây dựng chỉ mục (index) cho tệp dữ liệu dựa trên MSHS.

Câu 7: Lệnh `f.write(data)` trong Python có chức năng gì khi làm việc với tệp tin?

  • A. Đọc dữ liệu từ tệp và gán vào biến `data`.
  • B. Ghi nội dung của biến `data` vào tệp tin.
  • C. Xóa nội dung của tệp tin.
  • D. Đóng tệp tin.

Câu 8: Trong thuật toán tìm kiếm nhị phân, điều kiện tiên quyết để thuật toán hoạt động đúng và hiệu quả là gì?

  • A. Dữ liệu phải được lưu trữ trong tệp văn bản.
  • B. Dữ liệu phải chứa các số nguyên.
  • C. Dữ liệu phải được sắp xếp theo một thứ tự nhất định.
  • D. Dữ liệu phải có kích thước nhỏ.

Câu 9: Giả sử bạn có một chương trình Python thực hiện tìm kiếm điểm thi học sinh. Để chương trình thân thiện với người dùng hơn, bạn nên thêm chức năng nào sau đây?

  • A. Chỉ hiển thị kết quả tìm kiếm dưới dạng số.
  • B. Yêu cầu người dùng nhập mã nguồn chương trình trước khi tìm kiếm.
  • C. Không cung cấp thông báo lỗi khi không tìm thấy học sinh.
  • D. Hiển thị thông báo rõ ràng khi tìm thấy học sinh và khi không tìm thấy, hướng dẫn người dùng nhập lại nếu cần.

Câu 10: Trong Python, khi mở tệp tin với chế độ "a", nếu tệp tin đã tồn tại, điều gì sẽ xảy ra?

  • A. Nội dung tệp tin sẽ bị xóa và con trỏ ghi được đặt ở đầu tệp.
  • B. Nội dung tệp tin được giữ nguyên và con trỏ ghi được đặt ở cuối tệp.
  • C. Chương trình sẽ báo lỗi và không mở được tệp tin.
  • D. Tệp tin sẽ được mở ở chế độ chỉ đọc.

Câu 11: Xét đoạn chương trình tìm kiếm tuần tự trong danh sách. Trong trường hợp tốt nhất, số lần so sánh cần thực hiện để tìm thấy phần tử là bao nhiêu?

  • A. 1
  • B. 2
  • C. Nửa số phần tử trong danh sách
  • D. Bằng số phần tử trong danh sách

Câu 12: Hàm `split()` trong Python thường được sử dụng để xử lý dữ liệu đọc từ tệp văn bản. Chức năng chính của hàm này là gì?

  • A. Đọc dữ liệu từ tệp văn bản.
  • B. Ghi dữ liệu vào tệp văn bản.
  • C. Tách một chuỗi thành danh sách các chuỗi con dựa trên dấu phân cách.
  • D. Đóng tệp văn bản.

Câu 13: Trong bài toán quản lý điểm thi, giả sử bạn muốn lưu trữ điểm của học sinh vào tệp sao cho dễ dàng đọc và xử lý sau này. Định dạng tệp nào sau đây là phù hợp nhất?

  • A. Tệp hình ảnh (.jpg, .png)
  • B. Tệp văn bản có cấu trúc (ví dụ: CSV, TXT với dấu phân cách)
  • C. Tệp âm thanh (.mp3, .wav)
  • D. Tệp thực thi (.exe)

Câu 14: Để đảm bảo dữ liệu điểm thi được lưu trữ an toàn và không bị mất khi chương trình kết thúc, bạn cần thực hiện thao tác nào sau khi hoàn tất việc ghi dữ liệu vào tệp?

  • A. Mở lại tệp ở chế độ đọc.
  • B. Xóa biến đối tượng tệp.
  • C. Đóng tệp bằng lệnh `f.close()`.
  • D. Sao chép tệp sang một thư mục khác.

Câu 15: Trong thuật toán tìm kiếm nhị phân, nếu giá trị cần tìm nhỏ hơn phần tử ở vị trí giữa, bạn sẽ tiếp tục tìm kiếm ở nửa nào của danh sách?

  • A. Nửa đầu của danh sách (bên trái phần tử giữa).
  • B. Nửa sau của danh sách (bên phải phần tử giữa).
  • C. Cả hai nửa danh sách.
  • D. Không tìm kiếm nữa và thông báo không tìm thấy.

Câu 16: Bạn có một tệp văn bản chứa thông tin sinh viên, mỗi dòng có định dạng "Tên,Tuổi,Điểm". Để đọc tệp này và lưu trữ thông tin tên và điểm vào hai danh sách riêng biệt (TenHS, DiemHS), bạn cần sử dụng kết hợp các phương thức nào?

  • A. `readlines()` và `write()`
  • B. `read()` và `split()`
  • C. `write()` và `split()`
  • D. `readlines()` và `split()`

Câu 17: Trong tình huống nào thì thuật toán tìm kiếm tuần tự được coi là lựa chọn phù hợp hơn so với tìm kiếm nhị phân?

  • A. Khi dữ liệu đã được sắp xếp và số lượng phần tử rất lớn.
  • B. Khi cần tìm kiếm phần tử ở vị trí giữa danh sách.
  • C. Khi dữ liệu chưa được sắp xếp hoặc số lượng phần tử nhỏ.
  • D. Khi yêu cầu tốc độ tìm kiếm phải cực kỳ nhanh.

Câu 18: Giả sử bạn muốn ghi thêm thông tin học sinh mới vào cuối tệp "danh_sach_hs.txt" mà không làm mất dữ liệu cũ. Chế độ mở tệp nào sau đây bạn nên sử dụng?

  • A.
  • B.
  • C.
  • D.

Câu 19: Để đọc duy nhất một dòng từ tệp văn bản trong Python, bạn sử dụng phương thức nào?

  • A. `readline()`
  • B. `readlines()`
  • C. `read()`
  • D. `readchar()`

Câu 20: Trong bài toán tìm kiếm điểm thi, nếu bạn muốn tìm kiếm gần đúng tên học sinh (ví dụ, tìm kiếm "Lan" có thể trả về "Lan Anh", "Nguyễn Thị Lan"), thuật toán tìm kiếm nào sau đây phù hợp nhất?

  • A. Tìm kiếm nhị phân
  • B. Tìm kiếm tuần tự
  • C. Tìm kiếm theo giá trị băm (Hash Search)
  • D. Các thuật toán tìm kiếm chuỗi gần đúng (ví dụ: Fuzzy Search, Levenshtein Distance)

Câu 21: Khi sử dụng vòng lặp `for` để duyệt qua các dòng trong tệp đã mở bằng `f = open(...)`, biến lặp sẽ đại diện cho đối tượng nào trong mỗi lần lặp?

  • A. Vị trí dòng hiện tại trong tệp.
  • B. Một chuỗi chứa nội dung của dòng hiện tại.
  • C. Một danh sách chứa các từ trong dòng hiện tại.
  • D. Số thứ tự của dòng hiện tại.

Câu 22: Để chuyển đổi dữ liệu đọc từ tệp văn bản (ví dụ: điểm thi đọc được dưới dạng chuỗi) sang kiểu số để thực hiện các phép tính, bạn cần sử dụng hàm nào trong Python?

  • A. `str()`
  • B. `list()`
  • C. `int()` hoặc `float()`
  • D. `tuple()`

Câu 23: Trong bài toán tìm kiếm nhị phân, trường hợp xấu nhất xảy ra khi nào?

  • A. Khi phần tử cần tìm nằm ở vị trí đầu danh sách.
  • B. Khi phần tử cần tìm nằm ở vị trí giữa danh sách.
  • C. Khi phần tử cần tìm nằm ở vị trí cuối danh sách.
  • D. Khi phần tử cần tìm không tồn tại trong danh sách.

Câu 24: Câu lệnh `with open(

  • A. Tốc độ đọc tệp nhanh hơn.
  • B. Tự động đóng tệp tin sau khi khối lệnh `with` kết thúc, ngay cả khi có lỗi xảy ra.
  • C. Cho phép ghi dữ liệu vào tệp đồng thời với đọc.
  • D. Giảm dung lượng bộ nhớ sử dụng khi làm việc với tệp lớn.

Câu 25: Để kiểm tra xem một tên học sinh có tồn tại trong danh sách tên `ten_hs` hay không, cách thức nào sau đây hiệu quả và ngắn gọn nhất trong Python?

  • A. Duyệt qua danh sách bằng vòng lặp `for` và so sánh từng phần tử.
  • B. Sử dụng hàm `index()` và xử lý ngoại lệ khi không tìm thấy.
  • C. Sử dụng toán tử `in`.
  • D. Sắp xếp danh sách và sử dụng tìm kiếm nhị phân.

Câu 26: Trong bài toán tìm kiếm thông tin học sinh, giả sử bạn muốn tìm kiếm học sinh có điểm thi cao nhất. Thuật toán tìm kiếm nào sau đây có thể được điều chỉnh để giải quyết bài toán này?

  • A. Tìm kiếm nhị phân (không trực tiếp áp dụng).
  • B. Tìm kiếm tuần tự (có thể điều chỉnh để tìm giá trị lớn nhất).
  • C. Tìm kiếm nội suy.
  • D. Tìm kiếm theo chiều rộng.

Câu 27: Khi làm việc với tệp văn bản chứa dữ liệu tiếng Việt, tham số `encoding=

  • A. Tăng tốc độ đọc/ghi tệp.
  • B. Mã hóa dữ liệu trong tệp để bảo mật.
  • C. Chỉ cho phép đọc tệp, không cho phép ghi.
  • D. Đảm bảo hiển thị đúng các ký tự tiếng Việt và các ký tự đặc biệt khác.

Câu 28: Để đếm số dòng trong một tệp văn bản sử dụng Python, cách nào sau đây là hiệu quả nhất về mặt sử dụng bộ nhớ, đặc biệt khi tệp có kích thước rất lớn?

  • A. Duyệt tệp từng dòng bằng vòng lặp `for` và đếm.
  • B. Đọc toàn bộ tệp bằng `readlines()` và đếm số phần tử trong danh sách.
  • C. Sử dụng hàm `len(f.read())`.
  • D. Sử dụng hàm `countlines(f)` (giả định có hàm này).

Câu 29: Trong ngữ cảnh tìm kiếm điểm thi, nếu bạn muốn cho phép người dùng nhập tên gần đúng của học sinh (ví dụ, sai chính tả nhẹ) và vẫn tìm kiếm được kết quả phù hợp, bạn cần áp dụng kỹ thuật nào?

  • A. Chỉ sử dụng tìm kiếm nhị phân.
  • B. Chỉ sử dụng tìm kiếm tuần tự.
  • C. Sử dụng các thuật toán so sánh chuỗi gần đúng (ví dụ: Levenshtein Distance) để tìm kiếm tương đối.
  • D. Yêu cầu người dùng nhập chính xác tên học sinh.

Câu 30: Giả sử bạn có hai danh sách: `ten_hs = ["An", "Binh", "Lan"]` và `diem_hs = [8.5, 9.0, 7.8]`. Để ghi thông tin này vào tệp "diem_hs.txt" sao cho mỗi dòng có định dạng "Tên: An, Điểm: 8.5", bạn cần sử dụng kết hợp các thao tác nào?

  • A. Chỉ sử dụng `f.write()` với danh sách `ten_hs` và `diem_hs`.
  • B. Sử dụng `f.readlines()` để ghi danh sách vào tệp.
  • C. Sử dụng vòng lặp `for` để duyệt `ten_hs` và `diem_hs`, sau đó dùng `f.write()` để ghi từng dòng.
  • D. Sử dụng vòng lặp `for` để duyệt đồng thời cả hai danh sách, định dạng chuỗi theo yêu cầu và dùng `f.write()` để ghi vào tệp.

1 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 20: Thực hành bài toán tìm kiếm

Tags: Bộ đề 10

Câu 1: Trong Python, khi làm việc với tệp tin văn bản, chế độ mở tệp nào sau đây cho phép bạn *vừa đọc vừa ghi*, đồng thời tạo tệp mới nếu nó chưa tồn tại hoặc ghi đè lên nội dung cũ nếu tệp đã tồn tại?

2 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 20: Thực hành bài toán tìm kiếm

Tags: Bộ đề 10

Câu 2: Giả sử bạn có một danh sách tên học sinh đã được sắp xếp theo thứ tự bảng chữ cái. Để tìm kiếm một tên học sinh cụ thể trong danh sách này một cách hiệu quả nhất, thuật toán tìm kiếm nào sau đây 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 20: Thực hành bài toán tìm kiếm

Tags: Bộ đề 10

Câu 3: Trong ngữ cảnh bài toán tìm kiếm điểm thi học sinh từ một tệp dữ liệu, thao tác nào sau đây thể hiện kỹ năng *áp dụng* thuật toán tìm kiếm tuần tự?

4 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 20: Thực hành bài toán tìm kiếm

Tags: Bộ đề 10

Câu 4: Cho đoạn mã Python sau: `f = open("diem_thi.txt", "r"); lines = f.readlines(); f.close()`. Đoạn mã này thực hiện thao tác gì với tệp 'diem_thi.txt'?

5 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 20: Thực hành bài toán tìm kiếm

Tags: Bộ đề 10

Câu 5: Trong bài toán tìm kiếm nhị phân, giả sử bạn đang tìm kiếm số 35 trong danh sách đã sắp xếp: `[10, 20, 25, 30, 35, 40, 45, 50]`. Ở bước đầu tiên, phần tử ở vị trí giữa của danh sách là số nào?

6 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 20: Thực hành bài toán tìm kiếm

Tags: Bộ đề 10

Câu 6: Xét tình huống cần tìm kiếm thông tin học sinh dựa trên mã số học sinh (MSHS). Nếu dữ liệu học sinh được lưu trữ trong một tệp văn bản, mỗi dòng chứa thông tin một học sinh (MSHS, Tên, Điểm). Phương pháp nào sau đây *không phù hợp* để tăng tốc độ tìm kiếm khi số lượng học sinh rất lớn?

7 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 20: Thực hành bài toán tìm kiếm

Tags: Bộ đề 10

Câu 7: Lệnh `f.write(data)` trong Python có chức năng gì khi làm việc với tệp tin?

8 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 20: Thực hành bài toán tìm kiếm

Tags: Bộ đề 10

Câu 8: Trong thuật toán tìm kiếm nhị phân, điều kiện tiên quyết để thuật toán hoạt động đúng và hiệu quả là gì?

9 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 20: Thực hành bài toán tìm kiếm

Tags: Bộ đề 10

Câu 9: Giả sử bạn có một chương trình Python thực hiện tìm kiếm điểm thi học sinh. Để chương trình thân thiện với người dùng hơn, bạn nên thêm chức năng nào sau đây?

10 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 20: Thực hành bài toán tìm kiếm

Tags: Bộ đề 10

Câu 10: Trong Python, khi mở tệp tin với chế độ 'a', nếu tệp tin đã tồn tại, điều gì sẽ xảy ra?

11 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 20: Thực hành bài toán tìm kiếm

Tags: Bộ đề 10

Câu 11: Xét đoạn chương trình tìm kiếm tuần tự trong danh sách. Trong trường hợp *tốt nhất*, số lần so sánh cần thực hiện để tìm thấy phần tử là bao nhiêu?

12 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 20: Thực hành bài toán tìm kiếm

Tags: Bộ đề 10

Câu 12: Hàm `split()` trong Python thường được sử dụng để xử lý dữ liệu đọc từ tệp văn bản. Chức năng chính của hàm này là gì?

13 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 20: Thực hành bài toán tìm kiếm

Tags: Bộ đề 10

Câu 13: Trong bài toán quản lý điểm thi, giả sử bạn muốn lưu trữ điểm của học sinh vào tệp sao cho dễ dàng đọc và xử lý sau này. Định dạng tệp nào sau đây là phù hợp nhất?

14 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 20: Thực hành bài toán tìm kiếm

Tags: Bộ đề 10

Câu 14: Để đảm bảo dữ liệu điểm thi được lưu trữ an toàn và không bị mất khi chương trình kết thúc, bạn cần thực hiện thao tác nào sau khi hoàn tất việc ghi dữ liệu vào tệp?

15 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 20: Thực hành bài toán tìm kiếm

Tags: Bộ đề 10

Câu 15: Trong thuật toán tìm kiếm nhị phân, nếu giá trị cần tìm *nhỏ hơn* phần tử ở vị trí giữa, bạn sẽ tiếp tục tìm kiếm ở nửa nào của danh sách?

16 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 20: Thực hành bài toán tìm kiếm

Tags: Bộ đề 10

Câu 16: Bạn có một tệp văn bản chứa thông tin sinh viên, mỗi dòng có định dạng 'Tên,Tuổi,Điểm'. Để đọc tệp này và lưu trữ thông tin tên và điểm vào hai danh sách riêng biệt (TenHS, DiemHS), bạn cần sử dụng kết hợp các phương thức nào?

17 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 20: Thực hành bài toán tìm kiếm

Tags: Bộ đề 10

Câu 17: Trong tình huống nào thì thuật toán tìm kiếm tuần tự được coi là lựa chọn *phù hợp hơn* so với tìm kiếm nhị phân?

18 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 20: Thực hành bài toán tìm kiếm

Tags: Bộ đề 10

Câu 18: Giả sử bạn muốn ghi thêm thông tin học sinh mới vào cuối tệp 'danh_sach_hs.txt' mà không làm mất dữ liệu cũ. Chế độ mở tệp nào sau đây bạn nên sử dụng?

19 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 20: Thực hành bài toán tìm kiếm

Tags: Bộ đề 10

Câu 19: Để đọc *duy nhất một dòng* từ tệp văn bản trong Python, bạn sử dụng phương thức nào?

20 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 20: Thực hành bài toán tìm kiếm

Tags: Bộ đề 10

Câu 20: Trong bài toán tìm kiếm điểm thi, nếu bạn muốn tìm kiếm *gần đúng* tên học sinh (ví dụ, tìm kiếm 'Lan' có thể trả về 'Lan Anh', 'Nguyễn Thị Lan'), thuật toán tìm kiếm nào sau đây phù hợp nhất?

21 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 20: Thực hành bài toán tìm kiếm

Tags: Bộ đề 10

Câu 21: Khi sử dụng vòng lặp `for` để duyệt qua các dòng trong tệp đã mở bằng `f = open(...)`, biến lặp sẽ đại diện cho đối tượng nào trong mỗi lần lặp?

22 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 20: Thực hành bài toán tìm kiếm

Tags: Bộ đề 10

Câu 22: Để chuyển đổi dữ liệu đọc từ tệp văn bản (ví dụ: điểm thi đọc được dưới dạng chuỗi) sang kiểu số để thực hiện các phép tính, bạn cần sử dụng hàm nào trong Python?

23 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 20: Thực hành bài toán tìm kiếm

Tags: Bộ đề 10

Câu 23: Trong bài toán tìm kiếm nhị phân, trường hợp *xấu nhất* xảy ra khi nào?

24 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 20: Thực hành bài toán tìm kiếm

Tags: Bộ đề 10

Câu 24: Câu lệnh `with open("data.txt", "r") as f:` có ưu điểm gì so với `f = open("data.txt", "r"); ... ; f.close()` trong việc quản lý tệp tin?

25 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 20: Thực hành bài toán tìm kiếm

Tags: Bộ đề 10

Câu 25: Để kiểm tra xem một tên học sinh có *tồn tại* trong danh sách tên `ten_hs` hay không, cách thức nào sau đây hiệu quả và ngắn gọn nhất trong Python?

26 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 20: Thực hành bài toán tìm kiếm

Tags: Bộ đề 10

Câu 26: Trong bài toán tìm kiếm thông tin học sinh, giả sử bạn muốn tìm kiếm học sinh có điểm thi *cao nhất*. Thuật toán tìm kiếm nào sau đây có thể được điều chỉnh để giải quyết bài toán này?

27 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 20: Thực hành bài toán tìm kiếm

Tags: Bộ đề 10

Câu 27: Khi làm việc với tệp văn bản chứa dữ liệu tiếng Việt, tham số `encoding="UTF-8"` trong hàm `open()` có vai trò gì?

28 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 20: Thực hành bài toán tìm kiếm

Tags: Bộ đề 10

Câu 28: Để đếm số dòng trong một tệp văn bản sử dụng Python, cách nào sau đây là hiệu quả nhất về mặt sử dụng bộ nhớ, đặc biệt khi tệp có kích thước rất lớn?

29 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 20: Thực hành bài toán tìm kiếm

Tags: Bộ đề 10

Câu 29: Trong ngữ cảnh tìm kiếm điểm thi, nếu bạn muốn cho phép người dùng nhập *tên gần đúng* của học sinh (ví dụ, sai chính tả nhẹ) và vẫn tìm kiếm được kết quả phù hợp, bạn cần áp dụng kỹ thuật nào?

30 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 20: Thực hành bài toán tìm kiếm

Tags: Bộ đề 10

Câu 30: Giả sử bạn có hai danh sách: `ten_hs = ['An', 'Binh', 'Lan']` và `diem_hs = [8.5, 9.0, 7.8]`. Để ghi thông tin này vào tệp 'diem_hs.txt' sao cho mỗi dòng có định dạng 'Tên: An, Điểm: 8.5', bạn cần sử dụng kết hợp các thao tác nào?

Xem kết quả