15 câu Trắc nghiệm Tin học 11 Kết nối tri thức Bài 22 có đáp án
15 câu hỏi
PHẦN I. Câu trắc nghiệm nhiều phương án lựa chọn. Thí sinh trả lời từ câu 1 đến câu 10. Mỗi câu hỏi thí sinh chỉ lựa chọn một phương án.
Thuật toán nào phù hợp nhất để sắp xếp số lượng các mặt hàng trong kho theo thứ tự tăng dần?
Thuật toán nổi bọt
Thuật toán sắp xếp chọn
Thuật toán sắp xếp chèn
Thuật toán sắp xếp nhan
Đáp án: C
Giải thích: Thuật toán sắp xếp chèn thích hợp cho việc sắp xếp danh sách các phần tử khi đã có thứ tự nhất định và cần sắp xếp thêm vào. Nó cũng dễ triển khai với danh sách có số lượng phần tử trung bình.
Trong thuật toán sắp xếp chèn, tại sao chúng ta phải dịch chuyển các phần tử lớn hơn giá trị đang xét lên một vị trí?
Để tìm vị trí chính xác của phần tử mới
Để giảm số lần so sánh
Để giảm số lần trao đổi
Để tăng tốc độ sắp x
Đáp án: A
Giải thích: Việc dịch chuyển các phần tử lớn hơn lên một vị trí giúp tạo khoảng trống tại vị trí chính xác cho phần tử đang xét, đảm bảo danh sách được sắp xếp đúng thứ tự.
Trong nhiệm vụ 2, thuật toán nào được sử dụng để sắp xếp điểm trung bình môn Tin học theo thứ tự giảm dần?
Thuật toán sắp xếp chèn
Thuật toán sắp xếp chọn
Thuật toán nổi bọt
Thuật toán sắp xếp nhan
Đáp án: B
Giải thích: Thuật toán sắp xếp chọn là thuật toán hiệu quả khi tìm phần tử lớn nhất để đặt ở đầu hoặc cuối danh sách. Trong trường hợp này, thuật toán được dùng để sắp xếp điểm theo thứ tự giảm dần
Dòng lệnh nào trong nhiệm vụ 1 dùng để thêm số lượng mặt hàng vào danh sách soluong_ds?
soluong_ds.append(int(line))
soluong_ds = [int(line)]
soluong_ds.insert(line)
soluong_ds.remove(line)
Đáp án: A
Giải thích: Lệnh append() thêm phần tử vào cuối danh sách, giúp lưu từng số lượng mặt hàng từ tệp vào danh sách soluong_ds.
Trong thuật toán sắp xếp chọn, mục đích của biến Max là gì?
Lưu giá trị nhỏ nhất của dãy
Lưu chỉ số của phần tử có giá trị lớn nhất trong dãy
Lưu chỉ số của phần tử có giá trị nhỏ nhất trong dãy
Xác định chỉ số cuối của dãy
Đáp án: B
Giải thích: Trong sắp xếp giảm dần, Max dùng để lưu chỉ số của phần tử lớn nhất để thực hiện hoán đổi và đưa phần tử này về đúng vị trí trong dãy
Trong nhiệm vụ 1, hàm InsertionSort(soluong_ds) thực hiện chức năng gì?
Thực hiện sắp xếp nổi bọt danh sách
Sắp xếp danh sách theo thứ tự tăng dần
Sắp xếp danh sách theo thứ tự giảm dần
Đọc dữ liệu từ tệp và in danh sác
Đáp án: B
Giải thích: Hàm InsertionSort được sử dụng để sắp xếp các phần tử trong danh sách soluong_ds theo thứ tự tăng dần.
Khi nào chúng ta sử dụng thuật toán sắp xếp nổi bọt?
Khi số lượng phần tử trong danh sách rất lớn
Khi cần sắp xếp một danh sách ngẫu nhiên có số lượng nhỏ hoặc trung bình
Khi không yêu cầu hiệu suất cao
Khi danh sách đã được sắp xếp hoàn toàn
Đáp án: B
Giải thích: Thuật toán nổi bọt thích hợp khi danh sách có số lượng phần tử không quá lớn, do độ phức tạp của thuật toán cao và không hiệu quả cho danh sách lớn.
Trong nhiệm vụ 2, việc sắp xếp điểm trung bình theo thứ tự giảm dần có thể thực hiện bằng cách nào?
Tìm phần tử nhỏ nhất và đưa về đầu danh sách
Tìm phần tử lớn nhất và đưa về cuối danh sách
Tìm phần tử lớn nhất và đưa về đầu danh sách
Không cần thực hiện sắp xếp
Đáp án: C
Giải thích: Để sắp xếp giảm dần, cần tìm phần tử lớn nhất và đưa về đầu danh sách sau mỗi vòng lặp.
Dòng lệnh nào sẽ hiển thị danh sách điểm trung bình đã sắp xếp từ cao đến thấp?
print('Danh sách điểm theo thứ tự tăng dần là:')
print('Danh sách điểm theo thứ tự giảm dần là:')
print('Danh sách điểm trung bình là:')
print('Danh sách điểm đã sắp xếp:')
Đáp án: B
Giải thích: Để hiển thị danh sách điểm trung bình theo thứ tự giảm dần, cần sử dụng câu thông báo đúng ý nghĩa
Phát biểu nào sau đây đúng về thuật toán chèn trong sắp xếp danh sách?
Luôn tìm phần tử lớn nhất và đưa về đầu danh sách
Thực hiện dịch chuyển phần tử lớn hơn sang phải để tạo khoảng trống cho phần tử chèn vào
Thực hiện hoán đổi phần tử ở vị trí đầu và cuối
Thực hiện sắp xếp dãy theo thứ tự ngẫu nhiên
Đáp án: B
Giải thích: Trong sắp xếp chèn, các phần tử lớn hơn sẽ dịch sang phải để tạo chỗ trống, giúp chèn phần tử hiện tại vào đúng vị trí.
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 chương trình sắp xếp các mặt hàng trong kho theo số lượng tăng dần, bước nào là cần thiết để thực hiện sắp xếp chèn?
a) So sánh từng phần tử với phần tử liền sau nó
b) Tìm vị trí đúng của từng phần tử trong dãy đã sắp xếp
c) Di chuyển phần tử lớn nhất lên đầu danh sách
d) In ra số lượng mặt hàng theo thứ tự ngẫu nhiê
a) Sai, vì sắp xếp chèn không so sánh từng phần tử với phần tử liền sau mà sẽ tìm vị trí đúng trong dãy đã sắp xếp.
b) Đúng, vì thuật toán sắp xếp chèn cần tìm vị trí chính xác của phần tử trong dãy đã sắp xếp để đảm bảo thứ tự tăng dần.
c) Sai, đây là cách sắp xếp thường dùng cho thuật toán chọn chứ không phải sắp xếp chèn.
d) Sai, vì in ngẫu nhiên không liên quan đến sắp xếp chèn và sẽ không cho kết quả theo thứ tự tăng dần.
Trong chương trình sắp xếp điểm trung bình của học sinh theo thứ tự giảm dần, thuật toán sắp xếp chọn thực hiện như thế nào?
a) Sắp xếp từng phần tử từ đầu đến cuối danh sách
b) Tìm phần tử nhỏ nhất và di chuyển lên đầu
c) Tìm phần tử lớn nhất và đặt lên đầu danh sách
d) Đổi chỗ tất cả các phần tử
a) Sai, vì sắp xếp chọn không cần sắp xếp tất cả phần tử từ đầu đến cuối mà chỉ tìm phần tử có giá trị lớn nhất và đặt ở đúng vị trí.
b) Sai, vì đây là cách sắp xếp tăng dần, trong khi đề bài yêu cầu sắp xếp giảm dần.
c) Đúng, vì thuật toán sắp xếp chọn khi sắp xếp giảm dần sẽ tìm phần tử lớn nhất và đặt ở vị trí đầu của dãy còn lại.
d) Sai, vì không cần phải đổi chỗ tất cả phần tử mà chỉ đổi khi tìm thấy phần tử lớn nhất trong phần còn lại của danh sách.
PHẦN III. Câu trả lời ngắn. Thí sinh trả lời từ câu 1 đến câu 3
Tại sao trong Nhiệm vụ 1, chúng ta lại sử dụng thuật toán sắp xếp chèn để sắp xếp các mặt hàng theo thứ tự số lượng tăng dần?
Đáp án: Chúng ta sử dụng thuật toán sắp xếp chèn vì nó hiệu quả khi làm việc với danh sách có kích thước nhỏ hoặc gần như đã sắp xếp
Giải thích: Thuật toán sắp xếp chèn giúp đưa từng phần tử vào đúng vị trí trong danh sách đã sắp xếp trước đó mà không cần di chuyển nhiều phần tử như các thuật toán khác, do đó rất phù hợp để sắp xếp số lượng mặt hàng tăng dần khi danh sách có kích thước nhỏ.
Làm thế nào để chương trình đọc được dữ liệu từ tệp văn bản chứa danh sách số lượng mặt hàng trong kho?
Đáp án: Chương trình sử dụng hàm open("kho.inp", encoding="utf8") để mở tệp và đọc từng dòng dữ liệu, sau đó thêm vào danh sách soluong_ds để sắp xếp.
Giải thích: Lệnh open("kho.inp", encoding="utf8") mở tệp ở chế độ đọc với mã hóa UTF-8, sau đó readlines() đọc từng dòng và chuyển dữ liệu thành số nguyên trước khi thêm vào danh sách. Cách này giúp chương trình lấy được dữ liệu ban đầu để xử lý.
Trong Nhiệm vụ 2, sắp xếp chọn hoạt động như thế nào để sắp xếp điểm trung bình học sinh theo thứ tự giảm dần?
Đáp án: Sắp xếp chọn hoạt động bằng cách tìm phần tử lớn nhất ở mỗi vòng lặp và đưa nó về vị trí đầu của phần còn lại chưa sắp xếp, tạo ra danh sách sắp xếp theo thứ tự giảm dần.
Giải thích: Sắp xếp chọn sẽ duyệt qua danh sách và tìm giá trị lớn nhất, sau đó đổi chỗ nó với phần tử đầu của dãy chưa sắp xếp. Lặp lại quá trình này cho đến khi danh sách được sắp xếp hoàn toàn theo thứ tự giảm dần, đúng như yêu cầu bài toán.


