← Tất cả bài hướng dẫn
Luyện tập

Luyện tập: Đèn giao thông tự động

Dùng thông điệp, trang phục và bộ đếm thời gian để mô phỏng đèn xanh - vàng - đỏ.

Nội dung đề bài

Tạo đèn giao thông tự đổi màu theo chu kỳ: xanh 5 giây, vàng 2 giây, đỏ 5 giây rồi lặp lại. Hiển thị tên màu hiện tại bằng lời thoại hoặc biến.

Hình minh họa khối lệnh Scratch

Các khối Scratch minh họa chu kỳ đèn giao thông
ĐÈN GIAO THÔNG
Khi bấm cờ xanh
  liên tục
    chuyển trang phục thành [Xanh]
    nói [Đèn xanh] trong 5 giây
    chuyển trang phục thành [Vàng]
    nói [Đèn vàng] trong 2 giây
    chuyển trang phục thành [Đỏ]
    nói [Đèn đỏ] trong 5 giây

Thuật toán từng bước

  1. 1Tạo ba trang phục có tên Xanh, Vàng, Đỏ và kiểm tra thứ tự trước khi lập trình.
  2. 2Bắt đầu tại trang phục Xanh để lần chạy đầu tiên luôn có trạng thái rõ ràng.
  3. 3Lần lượt đổi trang phục và chờ đúng thời lượng quy định.
  4. 4Đặt toàn bộ chu kỳ trong khối liên tục để sau đèn đỏ chương trình quay lại đèn xanh.
  5. 5Nếu muốn đồng bộ nhiều nhân vật, phát tin Xanh/Vàng/Đỏ và để từng nhân vật phản hồi tin tương ứng.

Giải thích chi tiết

Đề bài là một chuỗi trạng thái tuần hoàn. Mỗi trạng thái gồm hai thao tác: hiển thị màu và chờ đủ thời gian. Vòng lặp liên tục đóng vai trò nối trạng thái cuối (đỏ) về trạng thái đầu (xanh). Dùng thời gian chờ riêng cho từng màu thay vì một khoảng chờ chung. Kiểm thử bằng đồng hồ: một chu kỳ chuẩn dài 12 giây (5 + 2 + 5). Nếu chu kỳ bắt đầu ở màu khác, hãy đặt trang phục đầu tiên ngay dưới sự kiện cờ xanh.