TopStudy

Tin học · Lớp 12

Chuyên đề Tin 12 CTST Bài 1.1. Hàng đợi

12 câu · 18 phút · Ngân hàng đề TopStudy. Đáp án và lời giải do TopStudy biên soạn, mở ngay dưới từng câu.

Làm bài

Nội dung đề

Phần I. Tự luận

Câu 1

1 điểm
Khi làm thủ tục tại các cơ quan hành chính nhà nước, em sẽ gặp các hệ thống xếp hàng tự động (Hình 1). Theo em, các hệ thống này hoạt động theo nguyên tắc nào?
Xem đáp án và lời giải

Hướng dẫn chấm do TopStudy biên soạn, mang tính gợi ý

Khi làm thủ tục tại các cơ quan hành chính nhà nước, em sẽ gặp các hệ thống xếp hàng tự động (Hình 1). Theo em, các hệ thống này hoạt động theo nguyên tắc “vào trước ra trước, được đặt tên là “hàng đợi” (queue).

Câu 2

1 điểm

Cho Hình 4, biểu diễn một hàng đợi, hãy cho biết:

a) Phần tử đầu hàng đợi, phần tử cuối hàng đợi.

b) Sau khi lấy ra một phần tử, thì phần tử đầu hàng đợi là phần tử nào?

c) Sau khi thêm vào phần tử k vào thì phần tử cuối hàng đợi là phần tử nào?

Hình minh hoạ

Xem đáp án và lời giải

Hướng dẫn chấm do TopStudy biên soạn, mang tính gợi ý

Cho Hình 4, biểu diễn một hàng đợi, gồm có:

a) Phần tử đầu hàng đợi là m, phần tử cuối hàng đợi là x.

b) Sau khi lấy ra một phần tử, thì phần tử đầu hàng đợi là phần tử tiếp ngay sau nó. Ví dụ lấy ra phần tử m, thì phần tử đầu hàng đợi sẽ là +.

c) Sau khi thêm vào phần tử k vào thì phần tử cuối hàng đợi là phần tử k.

Câu 3

1 điểm
Cho hàng đợi rỗng, hãy vẽ hình minh hoạ từng bước thực hiện các thao tác sau: enqueue (1), enqueue (3), enqueue (5), dequeue (), dequeue (), enqueue (7).
Xem đáp án và lời giải

Hướng dẫn chấm do TopStudy biên soạn, mang tính gợi ý

Hình minh hoạ

Câu 4

1 điểm
Các thông tin cần thiết để biểu diễn hàng đợi bằng mảng 1 chiều là gì?
Xem đáp án và lời giải

Hướng dẫn chấm do TopStudy biên soạn, mang tính gợi ý

Các thông tin cần thiết để biểu diễn hàng đợi bằng mảng 1 chiều là:

Hàng đợi là một dãy các phần tử. Do đó, em có thể dùng mảng 1 chiều để biểu diễn hàng đợi. Phép thêm vào (enqueue) được thực hiện ở đầu rear và phép lấy ra (dequeue) được thực hiện ở đầu font. Phần đầu của hàng đợi được

Câu 5

1 điểm
Với hàng đợi ở Hình 5, hãy vẽ hình khi thực hiện liên tục các thao tác: thêm vào 0, lấy ra, lấy ra
Xem đáp án và lời giải

Hướng dẫn chấm do TopStudy biên soạn, mang tính gợi ý

Với hàng đợi ở Hình 5, hãy vẽ hình khi thực hiện liên tục các thao tác: thêm vào 0, lấy ra, lấy ra.

Hàng đợi ban đầu:

| 40 | 20 | 30 | 10 | 60 | 50 | 70 |

Biểu diễn bằng mảng một chiều:

| 40 | 20 | 30 | 10 | 60 | 50 | 70 |

0 1 2 3 4 5 6

Thêm vào 0 (enqueue(0)):

| 40 | 20 | 30 | 10 | 60 | 50 | 70 | 0 |

Biểu diễn bằng mảng một chiều:

| 40 | 20 | 30 | 10 | 60 | 50 | 70 | 0 |

0 1 2 3 4 5 6 7

Lấy ra (dequeue()):

Lấy ra phần tử đầu tiên (40).

| 20 | 30 | 10 | 60 | 50 | 70 | 0 |

Biểu diễn bằng mảng một chiều:

| 20 | 30 | 10 | 60 | 50 | 70 | 0 |

0 1 2 3 4 5 6

Lấy ra (dequeue()):

Lấy ra phần tử tiếp theo (20).

| 30 | 10 | 60 | 50 | 70 | 0 |

Biểu diễn bằng mảng một chiều:

| 30 | 10 | 60 | 50 | 70 | 0 |

0 1 2 3 4 5

Câu 6

1 điểm
Tại sao không cần sử dụng các chỉ số front, rear khi dùng kiểu list để biểu diễn hàng đợi trong Python?
Xem đáp án và lời giải

Câu 7

1 điểm
Theo em, có cách nào kiểm tra hàng đợi queue là rỗng mà không dùng hàm len (queue)?
Xem đáp án và lời giải

Câu 8

1 điểm

Trong Python, khi sử dụng kiểu list để biểu diễn hàng đợi. Hãy cho biết:

a) Chỉ số của phần tử đầu.

b) Chỉ số của phần tử cuối.

Xem đáp án và lời giải

Câu 9

1 điểm
Theo em, thứ tự thực hiện phép toán enqueue với các giá trị thích hợp để kết quả là một hàng đợi trong Hình 5 là những bước nào?
Xem đáp án và lời giải

Câu 10

1 điểm

Các phần tử trong hàng đợi biểu diễn bằng kiểu list trong Python có thể thuộc kiểu chuỗi hay không? Nếu có, sử dụng các hàm initQueue(), enqueue() để tạo hàng đợi có các phần tử như sau:

“Một”

“Hai”

“Ba”

“Bốn”

Sau đó sử dụng các hàm enqueue(), dequeue() để hang đợi có kết quả là:

“Bốn”

“Ba”

“Hai”

“Một”

“Không”

Xem đáp án và lời giải

Câu 11

1 điểm
Theo em, có thể dùng danh sách liên kết để biểu diễn hàng đợi hay không?
Xem đáp án và lời giải

Câu 12

1 điểm

Tạo tệp queue py chứa các hàm enqueue(), dequeue(), front(), rear(), isEmptyQueue() của hàng đợi. Sau đó:

- Khởi tạo hàng đọi rồng han trởi sáng tạo

- Thực hiện các hàm enqueue() với giá trị thích hợp để hàng đợi có kết quả như Hình 6a.

- Thực hiện các hàm enqueue(), dequeue() với các giá trị thích hợp để hàng đợi có kết quả như Hình 6b.

Hình minh hoạ

Xem đáp án và lời giải

Đề cùng chủ đề

Tất cả đề Chuyên đề 1. Tìm hiểu một vài kiểu dữ liệu tuyến tinh · Các bộ sách Tin học Lớp 12