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
ĐÈ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âyThuật toán từng bước
- 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.
- 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.
- 3Lần lượt đổi trang phục và chờ đúng thời lượng quy định.
- 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.
- 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.