Skip to main content

Bài 3: Tóm tắt sau dự án

Tại sao Robot VR vẫn tiếp tục di chuyển khi đến đĩa màu xanh lá cây?

Khi dự án này được chạy, VR Robot vẫn tiếp tục tiến về phía trước ngay cả khi va vào đĩa xanh đầu tiên, như được hiển thị trong video bên dưới.

Tệp video

Dự án này chỉ hướng dẫn Robot VR kiểm tra các điều kiện của mỗi câu lệnh if else một lần khi bắt đầu dự án.Sơ đồ luồng logic trong dự án VEXcode VR của chúng tôi. Các mũi tên chỉ ra rằng mỗi câu lệnh if chỉ được chạy một lần trước khi dự án kết thúc, do đó làm cho dự án của chúng ta kém phản hồi hơn nhiều so với mong muốn. Dự án của chúng tôi kiểm tra xem mắt trước có phát hiện màu xanh lá cây hay không và nếu có thì nó sẽ quay sang phải 90 độ. Tiếp theo, nếu mắt trước phát hiện màu xanh, nó sẽ quay sang trái 90 độ. Tiếp theo, nếu mắt trước phát hiện màu đỏ thì xe sẽ dừng lái. Cuối cùng, nếu mắt trước không phát hiện được gì thì nó sẽ lái về phía trước.

Câu lệnh if khác với vòng lặp while

  • Trong khivòng lặp không yêu cầu VR Robot phải đưa ra quyết định. Khi điều kiện là Đúng, vòng lặp whilevới điều kiệnkhông phải sẽ thực thi lệnh tiếp theo bên ngoài vòng lặp. Khi điều kiện là Sai, vòng lặp while với điều kiện not tiếp tục chờ cho đến khi điều kiện là Đúng và dừng phần còn lại của dự án chạy.
    Sơ đồ luồng dự án của một dự án Python sử dụng câu lệnh while not và lệnh turn right bên ngoài vòng lặp. Một mũi tên màu đỏ tuần hoàn được hiển thị bên phải với các từ: Liên tục kiểm tra tình trạng, Mắt trước không phát hiện màu xanh lá cây và Robot tiến về phía trước. Bên dưới các mũi tên màu đỏ là một mũi tên màu xanh lá cây với dòng chữ: Mắt trước phát hiện màu xanh lá cây, thoát khỏi vòng lặp.
  • Nếucâu lệnh yêu cầu Robot VR đưa ra quyết định. Nếu điều kiện là Đúng, thì các lệnh bên trong câu lệnh if sẽ được thực thi. Nếu điều kiện là Sai, thì các lệnh bên trong câu lệnh if sẽ không được thực thi.
    Luồng dự án giống như phần đầu trang với bốn câu lệnh if tuần tự và mũi tên màu xanh lá cây ở bên phải. Bên cạnh mỗi mũi tên là phần câu hỏi và câu trả lời. Theo thứ tự này thì: Mắt trước có phát hiện được màu xanh lá cây không? SAI. Front Eye có phát hiện được màu xanh không? SAI. Front Eye có phát hiện được màu đỏ không? SAI. Mắt trước không phân biệt được màu sắc phải không? Tiến về phía trước một cách thực sự.
  • Cảm biến Front Eye không phát hiện màu nào khi bắt đầu dự án, do đó câu lệnh if cuối cùng trả về True. Robot VR sẽ tiếp tục di chuyển về phía trước vì câu lệnh nếu cuối cùng được báo cáo là Đúng và tất cả các khối khác được báo cáo là Sai khi bắt đầu dự án. 
  • Lưu ý rằng không có vòng lặp nào trong dự án này có thể tạm dừng luồng dự án để kiểm tra điều kiện nhiều lần. Câu lệnhifkiểm tra điều kiện một lần, sau đó tiếp tục. 
  • Lưu dự án trước khi chuyển sang Bài học tiếp theo để tìm hiểu về việc thêm các điều kiện kiểm tra lặp lại với các câu lệnh nếu.

Câu hỏi

Vui lòng chọn liên kết bên dưới để truy cập bài kiểm tra bài học.

Google Doc / .docx / .pdf