Ra quyết định - C++
Hộp công cụ giáo viên
-
Mục đích của bài đọc này
Phòng thí nghiệm STEM này tập trung vào việc lập trình robot để phản ứng với các điều kiện mà nó phát hiện. Bài đọc đầu tiên này nhằm giới thiệu ý tưởng về các điều kiện, điều kiện boolean (ĐÚNG hoặc SAI) và lợi ích của việc đưa các cấu trúc lập trình này vào một dự án. Học sinh nên bắt đầu nhận ra rằng việc đưa lập trình có điều kiện vào sẽ cải thiện cách robot phản ứng với môi trường của nó.
Khi quan sát một robot, có vẻ như nó đang đưa ra quyết định về hành vi của chính mình nhưng trong quá trình lập trình, nó đang kiểm tra các điều kiện và thực hiện hành động phù hợp. Học sinh có thể xem xét các điều kiện ảnh hưởng như thế nào đến quyết định sáng suốt của mình.
Quyết định cần đưa ra:Tôi có nên mang theo ô không?
Tình hình hiện tại:Có khả năng trời sẽ mưa (ĐÚNG).
Quyết định:Mang theo ô.
Ra quyết định
Ở cấp độ cơ bản nhất, các chương trình được viết để thực hiện các chuỗi hành vi đơn giản. Ví dụ: bạn có thể muốn robot của mình lái xe về phía trước và cũng thực hiện một số lượt để đến đích. Nhưng, điều gì sẽ xảy ra nếu bạn muốn robot của mình chờ đúng thời điểm để bắt đầu lái xe về phía trước và hoàn thành lộ trình của nó? Điều đó sẽ yêu cầu lập trình với các câu lệnh có điều kiện. Bạn sẽ sử dụng một câu lệnh có điều kiện để xác định "thời điểm thích hợp để bắt đầu" trong dự án của bạn. Có thể "thời điểm thích hợp" là sau khi một nút được nhấn hoặc khi một cảm biến phát hiện một mức cụ thể và sau đó nó bắt đầu lái xe. Khi bạn quan sát hành vi của robot, có vẻ như nó đang quyết định khi nào bắt đầu lái nhưng thực tế là do bạn đã đặt điều kiện cho thời điểm bắt đầu lái.
Các câu lệnh có điều kiện là các câu lệnh lập trình mạnh mẽ sử dụng điều kiện boolean (TRUE hoặc FALSE). Sử dụng kịch bản ví dụ tương tự như trên, bạn có thể lập trình robot của mình để liên tục kiểm tra xem màn hình não của nó có được nhấn hay không và lái xe về phía trước khi nó được nhấn. Câu lệnh có điều kiện trong dự án đó có thể đọc một cái gì đó tương tự như, "Nếu màn hình phát hiện rằng nó được nhấn (TRUE), hãy chạy trình tự lái xe." Câu lệnh này không đề cập đến bất kỳ hành vi nào nếu điều kiện là SAI (màn hình làchứ không phảikhi nhấn) nên robot không thực hiện hành động nào khi SAI. Các câu lệnh có điều kiện cho phép bạn phát triển các dự án có robot hoạt động khác nhau tùy thuộc vào những gì nó cảm nhận được. Để biết thêm thông tin về Logic Boolean, hãy nhấp vàotại đây.
Trong ví dụ sau, nếu nhấn vào màn hình của Bộ não (ĐÚNG), robot sẽ tiến về phía trước. Nếu màn hình não không được nhấn (FALSE), robot sẽ ngừng lái xe. Điều này cho thấy robot chỉ lái xe về phía trước khi màn hình của Bộ não được nhấn, nếu không robot sẽ dừng lại.
// Bắt đầu mã dự án
int main() {
// Khởi tạo cấu hình robot. KHÔNG ĐƯỢC GỠ BỎ!
vexcodeInit();
while (true) {
if (Brain.Screen.pressing()) {
Drivetrain.drive(forward);
}
else {
Drivetrain.stop();
}
}
}
Mẹo dành cho giáo viên
-
Sử dụng tính năng Tự động hoàn thành
Tự động hoàn thành là một tính năng trong VEXcode V5 giúp dự đoán phần còn lại của lệnh bạn đang nhập. Khi học sinh làm việc trong VEXcode V5, hãy khuyến khích các em sử dụng tính năng Tự động hoàn thành để hỗ trợ cú pháp. Bạn có thể nhận thấy chức năng tự động hoàn thành khi bạn bắt đầu nhập hướng dẫn. Sử dụng phím “Lên” và “Xuống” để chọn tên bạn muốn, sau đó nhấn “Tab” hoặc (Enter/Return) trên bàn phím để thực hiện lựa chọn. Để biết thêm thông tin về tính năng này, hãy xem các bài viếtC++.

Mở rộng việc học của bạn
Để mở rộng hoạt động này, hãy yêu cầu học sinh chia thành từng cặp và vẽ phác thảo mê cung để nhóm khác hoàn thành. Mê cung này cần tối thiểu ba đến năm câu lệnh điều kiện. Ví dụ, tiếp tục tiến về phía trước cho đến khi gặp một bức tường. Sau đó, rẽ trái. Học sinh phải viết lời giải cho mê cung dưới dạng sơ đồ. Sau đó, học sinh sẽ trao đổi mê cung với một nhóm khác, và nhóm này sẽ tạo ra giải pháp cho mê cung dưới dạng sơ đồ. Sau đó, hai đội sẽ so sánh câu trả lời để xem chúng khớp nhau đến mức nào.
Để liên hệ hoạt động này với trò chơi trực tuyến hoặc trò chơi di động, hãy yêu cầu học sinh mô tả mục tiêu của trò chơi/ứng dụng yêu thích của chúng. Sau đó, yêu cầu học sinh tạo sơ đồ phác thảo mười quyết định đầu tiên có/không hoặc đúng/sai mà các em tuân theo trong trò chơi.