Bỏ qua để đến nội dung

Bảng D1 2026 - Vòng sơ khảo toàn quốc 1

HỘI THI TIN HỌC TRẺ TOÀN QUỐC Lần thứ XXXII – 2026
ĐỀ CHÍNH THỨC

ĐỀ THI BẢNG D1 – TIỂU HỌC VÒNG SƠ KHẢO 1 Thời gian làm bài 150 phút, không kể thời gian phát đề


TTTên bàiTên tệp kết quảĐiểm
1Ngã tư đường phốD1.sb3100

Bài 1. Phần mềm: Mô phỏng ngã tư đường phố (100 điểm)

Phần tiêu đề “Bài 1. Phần mềm: Mô phỏng ngã tư đường phố (100 điểm)”

Nhiệm vụ của em là thiết kế chương trình (phần mềm) mô phỏng ngã tư đường phố bao gồm cả phần thiết kế đồ họa và lập trình. Chức năng chính của chương trình là mô phỏng hoạt động giao thông tại một ngã tư tiêu biểu, mô phỏng giao thông hoạt động nhộn nhịp nhưng vẫn an toàn. Giao diện khởi động của phần mềm có dạng như hình sau:

Ngã tư nhìn từ trên xuống: bốn góc cỏ xanh viền cam, đường ngang và dọc có vạch kẻ đứt, bốn ô tô đánh số 1 (trái), 2 (dưới), 3 (phải), 4 (trên) ở bốn đầu phố, bốn đèn giao thông ở bốn góc ngã tư

Màn hình ban đầu của chương trình Mô phỏng ngã tư đường phố.

Hình ảnh chính của phần mềm là một ngã tư đường phố nằm chính giữa sân khấu. Độ rộng của các đường ngang và dọc đều bằng giá trị d cho trước. Mặc định d = 120. Tại 4 đầu của các phố ta thấy có 4 ô tô con, được đánh số từ 1 đến 4. Trên mỗi tuyến phố, tại gần ngã tư có 4 đèn giao thông, cũng ký hiệu từ 1 đến 4. Mỗi đèn đường có thể hiển thị bằng ba màu: Đỏ, Vàng và Xanh. Cần lập trình để điều khiển các ô tô này chuyển động trên các tuyến phố theo các yêu cầu sau:

  • Ô tô số 1 sẽ chuyển động trên phố ngang từ trái sang phải, khi hết đường thì quay lại từ bên trái và cứ như vậy mãi mãi.
  • Tương tự ô tô số 2 di chuyển theo phố dọc từ dưới lên trên, ô tô số 3 di chuyển theo phố ngang từ phải sang trái, ô tô số 4 di chuyển theo phố dọc từ trên xuống.
  • Mỗi ô tô đều chuyển động đều và có vận tốc chạy khác nhau (không nhất thiết phải giống nhau).

Để điều khiển các ô tô chạy tự động không đâm vào nhau ta cần có hệ thống đèn giao thông. Có 4 đèn giao thông đánh số từ 1 đến 4 được sắp xếp trên sân khấu như hình trên. Ô tô thứ k (k = 1, 2, 3, 4) sẽ quan sát đèn giao thông thứ k tương ứng. Cần lập trình để thiết lập chế độ tự động của các đèn, ví dụ mỗi đèn sẽ lần lượt bật màu đỏ (4 giây), vàng (2 giây), xanh (4 giây), vàng (2 giây), đỏ (4 giây), … cứ như vậy liên tục. Tất cả các ô tô đều phải tuân thủ theo hiệu lệnh đèn như sau:

  • Chỉ được đi nếu có tín hiệu đèn xanh.
  • Nếu gặp đèn đỏ hoặc vàng sẽ phải dừng lại trước ngã tư.
  • Nếu gặp đèn vàng mà đã vào ngã tư rồi thì được đi tiếp.

Chương trình sẽ bắt đầu khi bấm phím Space.

Chương trình cần có chức năng kiểm tra nếu các ô tô đâm vào nhau hoặc lao trên vỉa hè thì lập tức dừng chương trình.

Nhiệm vụ của em là lập trình thực hiện bài toán mô phỏng trên để chương trình tự động chạy càng lâu càng tốt.

Sau đây là một số hình ảnh minh họa cho phần mềm mô phỏng.

Đèn 1 và 3 đỏ, đèn 2 và 4 xanh: ô tô 1 và 3 dừng trên phố ngang, ô tô 2 và 4 đi qua ngã tư theo phố dọc

Trạng thái các đèn 1, 3 Đỏ, đèn 2, 4 Xanh.

Đèn 1 và 3 xanh, đèn 2 và 4 đỏ: ô tô 1 và 3 đi qua ngã tư, ô tô 2 và 4 dừng trên phố dọc

Trạng thái các đèn 1, 3 Xanh, đèn 2, 4 Đỏ.

Cả bốn đèn đều vàng, các ô tô dừng trước ngã tư, một ô tô đã ở trong ngã tư đi tiếp

Trạng thái toàn bộ 4 đèn đều bật màu Vàng.

Chú ý:

  • Mỗi học sinh được cấp hình ảnh 2 ô tô ban đầu. Học sinh cần thiết lập các hình ảnh đồ họa khác như ô tô, đường phố, đèn giao thông, …
  • Giám thị không cần giải thích gì thêm.