15 câu Trắc nghiệm Tin học 11 Kết nối tri thức Bài 20 có đáp án
15 câu hỏi
Trong Python, lệnh nào sau đây dùng để mở tệp văn bản data.txt để ghi thêm dữ liệu mà không xóa nội dung cũ?
f = open("data.txt", "r", encoding="UTF-8")
f = open("data.txt", "w", encoding="UTF-8")
f = open("data.txt", "a", encoding="UTF-8")
f = open("data.txt", "x", encoding="UTF-8")
Đáp án: C
Giải thích: Tham số "a" trong lệnh mở tệp dùng để ghi tiếp dữ liệu vào tệp mà không xóa nội dung cũ. Các lựa chọn khác không phù hợp.
Khi mở tệp bằng lệnh f = open("data.txt", "r"), Python sẽ thực hiện điều gì?
Mở tệp để ghi dữ liệu từ đầu
Mở tệp để ghi thêm dữ liệu
Mở tệp để đọc dữ liệu
Mở tệp nếu tệp không tồn tại
Đáp án: C
Giải thích: Tham số "r" trong lệnh open() chỉ ra rằng tệp sẽ được mở để đọc dữ liệu.
Câu lệnh f.close() có tác dụng gì trong Python?
Đóng tệp sau khi hoàn tất việc đọc hoặc ghi
Xóa nội dung của tệp
Ghi dữ liệu ra tệp
Mở tệp để đọc
Đáp án: A
Giải thích: Lệnh f.close() được dùng để đóng tệp sau khi hoàn tất các thao tác đọc hoặc ghi, giúp giải phóng tài nguyên.
Lệnh print(TenHS[i], DiemHS[i], file=f) dùng để:
Hiển thị dữ liệu trên màn hình
Ghi dữ liệu vào tệp
Xóa dữ liệu trong tệp
Tạo một tệp mới
Đáp án: B
Giải thích: Lệnh print() với tham số file=f được sử dụng để ghi dữ liệu vào tệp thay vì hiển thị trên màn hình.
Câu lệnh line.split() trong Python có chức năng gì?
Tách một dòng thành danh sách các phần tử dựa trên dấu cách
Xóa dòng trong tệp
Ghi một dòng vào tệp
Tạo một dòng mới trong tệp
Đáp án: A
Giải thích: Lệnh split() tách dòng văn bản thành danh sách các từ, sử dụng khoảng trắng làm ký tự phân tách.
Thuật toán nào được sử dụng để tăng tốc độ tìm kiếm trong tệp đã được sắp xếp theo thứ tự tăng dần?
Tìm kiếm tuần tự
Tìm kiếm nhị phân
Tìm kiếm mờ
Tìm kiếm tuyến tính
Đáp án: B
Giải thích: Thuật toán tìm kiếm nhị phân được áp dụng hiệu quả khi dữ liệu đã được sắp xếp, giúp tăng tốc độ tìm kiếm.
Khi tìm kiếm tên học sinh trong danh sách, nếu tên học sinh không tồn tại, chương trình sẽ:
Ghi lại tên vào danh sách
Thông báo "Không tìm thấy dữ liệu của học sinh"
Ghi lại điểm số của học sinh đó
Xóa tên học sinh khỏi danh sác
Đáp án: B
Giải thích: Nếu tên học sinh không tồn tại trong danh sách, chương trình sẽ hiển thị thông báo không tìm thấy dữ liệu.
Trong thuật toán tìm kiếm nhị phân, điều kiện nào quyết định quá trình tìm kiếm tiếp theo?
Vị trí giữa của danh sách so sánh với giá trị cần tìm
Giá trị đầu tiên của danh sách
Giá trị cuối cùng của danh sách
Tổng số phần tử trong danh sách
Đáp án: A
Giải thích: Thuật toán tìm kiếm nhị phân so sánh giá trị ở giữa danh sách với giá trị cần tìm để quyết định bước tiếp theo.
Khi sử dụng lệnh f.readlines(), kết quả trả về là:
Một danh sách các dòng trong tệp
Một danh sách các ký tự trong tệp
Một chuỗi chứa toàn bộ nội dung tệp
Một số nguyên đếm số dòng trong tệp
Đáp án: A
Giải thích: Lệnh f.readlines() đọc tất cả các dòng trong tệp và trả về chúng dưới dạng một danh sách.
Trong bài toán tra cứu điểm thi, nếu người dùng nhập từ khóa "end", chương trình sẽ:
Kết thúc quá trình tra cứu
Xóa dữ liệu của học sinh
In ra danh sách học sinh
Ghi lại tên học sinh cuối cùng
Đáp án: A
Giải thích: Khi người dùng nhập từ khóa "end", chương trình sẽ dừng quá trình tra cứu điểm thi và kết thúc vòng lặp.
PHẦN II. Câu trắc nghiệm đúng sai. Thí sinh trả lời từ câu 1 đến câu 2. Trong mỗi ý a), b), c), d) ở mỗi câu, thí sinh chọn đúng hoặc sai
Trong Python, lệnh nào dưới đây được sử dụng để mở một tệp văn bản chỉ cho mục đích đọc?
a) f = open(, "w", encoding="UTF-8")
b) f = open(, "a", encoding="UTF-8")
c) f = open(, "r", encoding="UTF-8")
d) f = open(, "rb", encoding="UTF-8")
a) Sai. Tham số "w" mở tệp để ghi và sẽ xóa dữ liệu cũ trong tệp nếu có, không phù hợp với việc chỉ đọc.
b) Sai. Tham số "a" mở tệp để ghi tiếp (append) dữ liệu, không phải chỉ đọc.
c) Đúng. Tham số "r" mở tệp để đọc dữ liệu, đây là lựa chọn đúng để đọc tệp văn bản.
d) Sai. Tham số "rb" mở tệp ở chế độ đọc nhị phân, không phù hợp cho tệp văn bản thông thường.
Thuật toán nào dưới đây được sử dụng để tìm kiếm một phần tử trong danh sách đã được sắp xếp theo thứ tự tăng dần?
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 lặp (Iterative Search)
a) Sai. Tìm kiếm tuần tự không tối ưu cho danh sách đã được sắp xếp vì nó kiểm tra từng phần tử từ đầu đến cuối.
b) Đúng. Tìm kiếm nhị phân là thuật toán tối ưu cho danh sách đã được sắp xếp, với độ phức tạp O(log n) bằng cách chia đôi danh sách tại mỗi bước.
c) Sai. Tìm kiếm nội suy sử dụng phương pháp khác, không phải tìm kiếm nhị phân.
d) Sai. Tìm kiếm lặp không phải là một thuật toán tìm kiếm chuẩn trong bối cảnh này.
PHẦN III. Câu trả lời ngắn. Thí sinh trả lời từ câu 1 đến câu 3
Làm thế nào để đọc dữ liệu từ một tệp văn bản trong Python?
Đáp án: Để đọc dữ liệu từ tệp văn bản trong Python, ta sử dụng lệnh open(<file name>, "r", encoding="UTF-8") để mở tệp và sau đó dùng phương thức read() hoặc readlines() để đọc dữ liệu. Ví dụ:
f = open('data.txt', 'r', encoding='UTF-8')
data = f.readlines()
f.close()
Giải thích: Lệnh open() mở tệp với chế độ đọc và tham số encoding là UTF-8 để đọc tệp có tiếng Việt. Phương thức readlines() đọc tất cả các dòng của tệp và trả về dưới dạng danh sách.
Làm thế nào để ghi dữ liệu vào tệp văn bản trong Python?
Đáp án: Để ghi dữ liệu vào tệp văn bản, ta sử dụng lệnh open(<file name>, "w", encoding="UTF-8") để mở tệp với chế độ ghi, sau đó dùng phương thức write() hoặc print() với tham số file=<đối tượng file>. Ví dụ:
f = open('output.txt', 'w', encoding='UTF-8')
f.write("Hello, Python!\n")
f.close()
Giải thích: Lệnh open() với chế độ "w" sẽ ghi đè lên tệp hiện có hoặc tạo một tệp mới nếu tệp chưa tồn tại. Phương thức write() ghi dữ liệu vào tệp.
Làm thế nào để tìm kiếm tên học sinh trong danh sách và in ra điểm của họ?
Đáp án: Để tìm kiếm tên học sinh trong danh sách, có thể duyệt qua danh sách tên và sử dụng vòng lặp for để kiểm tra từng phần tử. Nếu tên được tìm thấy, ta có thể lấy điểm từ danh sách tương ứng. Ví dụ:
ten_list = ['Hà', 'Bình', 'Quang']
diem_list = [9.6, 8.5, 7.2]
ten = input('Nhập tên học sinh: ')
if ten in ten_list:
index = ten_list.index(ten)
print('Điểm của', ten, 'là:', diem_list[index])
else:
print('Không tìm thấy học sinh')
Giải thích: Sử dụng phương thức in và index() để kiểm tra xem tên học sinh có tồn tại trong danh sách hay không. Sau đó, truy cập danh sách điểm theo chỉ số để in ra kết quả.


