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

Bảng D1 2025 - Vòng sơ khảo toàn quốc đợt 2

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

ĐỀ THI BẢNG D1 – TIỂU HỌC VÒNG SƠ KHẢO. ĐỢT 2 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
1Điều khiển ô tô tự láiD1.sb3100
2Mở rộng (nếu có)40

Bài 1. Phần mềm: Điều khiển ô tô tự lái (100 điểm)

Phần tiêu đề “Bài 1. Phần mềm: Điều khiển ô tô tự lái (100 điểm)”

Em được cấp một chiếc ô tô có sẵn phần mềm tự lái. Tuy nhiên, do ô tô này không thể tự động lái hoàn toàn, nên vẫn cần con người điều khiển để có thể tự động đi được trên sa hình. Nhiệm vụ của em là viết chương trình cho phép mô phỏng điều khiển xe ô tô tự lái trên sa hình.

Màn hình sau là hình ảnh sa hình. Sa hình có dạng là một “bùng binh” (vòng xoay) lớn, mô tả một đường đi theo 2 chiều từ A sang B và ngược lại. Bùng binh nằm giữa màn hình có dạng là 2 vòng tròn đồng tâm, bán kính vòng tròn lớn R = 170, bán kính vòng tròn nhỏ r = 100. Ban đầu ô tô sẽ nằm tại vị trí A bên trái màn hình.

Sa hình: nền cỏ xanh, đường trắng hình vành khăn giữa hai vòng tròn viền đỏ nối với đường ngang từ A (trái) sang B (phải), ô tô ở vị trí A, bốn nút điều khiển ở góc trái dưới

Ô tô đã cài sẵn phần mềm lái tự động. Ô tô có thể tự động thực hiện được các việc sau:

  1. Đi thẳng với vận tốc cố định.
  2. Quay trái hoặc quay phải 90 độ.
  3. Tự động di chuyển theo vòng tròn của bùng binh theo chiều ngược hoặc xuôi kim đồng hồ.
  4. Ngoài ra nếu ô tô đi ra khỏi màn hình tại vị trí A sẽ tự động quay lại đi vào từ phía B. Hoặc nếu ô tô đi ra khỏi màn hình tại vị trí B thì sẽ tự động quay lại đi vào màn hình từ vị trí A.

Chương trình điều khiển sẽ bắt đầu khi người chơi bấm phím Space, ô tô tại vị trí A sẽ đi thẳng về phía trước (hướng phải). Nhiệm vụ người chơi là sử dụng các nút lệnh (hoặc phím) để điều khiển ô tô tự lái trên sa hình. Nếu ô tô trong khi di chuyển chỉ cần va chạm với vỉa hè thì chương trình lập tức dừng lại và kết thúc. Nhiệm vụ người chơi là điều khiển ô tô tự lái trên sa hình càng lâu càng tốt.

Bảng sau mô tả ý nghĩa và chức năng các nút lệnh (phím) điều khiển chính của chương trình.

LệnhNút lệnhPhímÝ nghĩa
Quay phảiNút mũi tên rẽ phảiPhím →Ô tô sẽ tự động xoay phải đúng 90°, sau đó đi thẳng.
Quay tráiNút mũi tên rẽ tráiPhím ←Ô tô sẽ tự động xoay trái đúng 90°, sau đó đi thẳng.
Đi vòng ngược kim đồng hồNút tròn mũi tên cong sang phảiPhím ↑Ô tô xoay phải 90° và bắt đầu đi tròn theo chiều ngược kim đồng hồ.
Đi vòng xuôi kim đồng hồNút tròn mũi tên cong sang tráiPhím ↓Ô tô xoay trái 90° và bắt đầu đi tròn theo chiều xuôi kim đồng hồ.

Chú ý: Hình ảnh nền (sa hình) có thể được vẽ trước hoặc lập trình vẽ tại thời điểm bắt đầu chương trình. Các nút lệnh thí sinh tự thiết kế, không nhất thiết giống như trong hình ảnh trên.

Thí sinh được phép mở rộng chương trình theo bất cứ hướng nào, sau đây là một vài gợi ý có thể:

  • Bổ sung nút lệnh Chế độ Tự động cho phép ô tô chuyển sang chế độ tự động lái hoàn toàn không cần sử dụng các nút lệnh điều khiển nữa. Từ Chế độ Tự động sẽ cần thêm nút lệnh để chuyển về Chế độ Điều khiển ô tô tự lái được mô tả ở trên. Chú ý ở Chế độ tự động, chương trình phải bảo đảm ô tô sẽ không bao giờ lao lên vỉa hè.
  • Tính năng lập trình tự vẽ sa hình chính xác cũng có thể được coi là một mở rộng hay của chương trình và khuyến khích thí sinh thực hiện phần mở rộng này.

Chú ý:

  • Bộ dữ liệu nhân vật bao gồm 1 tệp oto.sprite3 và được cấp cho từng thí sinh.
  • Giám thị không cần giải thích gì thêm.