btvn.vn
Tìm kiếm Đăng nhập

Cấu trúc và truy vết chương trình robot

Lưu trên thiết bị này
Chuyên đề lựa chọn CS: Kết nối robot · Chọn bài khác

Khởi động và phần theo dõi

Một chương trình robot thường có phần **khởi động** để đặt trạng thái ban đầu và phần **lặp** để liên tục nhận tín hiệu, xử lí và điều khiển. Trong ví dụ SGK, khối `forever` giữ việc kiểm cảm biến khi robot còn vận hành. Nhưng không phải mọi nhiệm vụ đều phải lặp vô tận: nhiệm vụ chạy một khoảng thời gian rồi dừng có thể dùng lặp hữu hạn hoặc điều kiện dừng. Mã giả dưới đây chỉ mô tả ý tưởng, chưa là lệnh của một bộ robot cụ thể: ```text Khởi động: số_lần = 0 Lặp 3 lần: Bật còi Đợi 1 giây Tắt còi số_lần = số_lần + 1 ``` Sau vòng lặp, còi đã bật rồi tắt ba lần và `số_lần = 3`. Nếu đặt `số_lần = 0` **bên trong** mỗi lần lặp thì cuối mỗi lượt chỉ về 1, không đếm được tổng.

Khi nào cần vòng kiểm liên tục?

Xe tránh vật cản cần quan sát khoảng cách trong lúc chạy. Một sơ đồ rõ là: khởi tạo trạng thái, rồi trong vòng lặp **đọc cảm biến** → **nếu vật gần thì dừng; ngược lại đi**. Dữ liệu có thể thay đổi giữa hai lượt. Nếu chương trình chỉ đọc một lần lúc khởi động, xe có thể bỏ qua vật xuất hiện sau đó. Khi truy vết, viết một dòng cho mỗi lần đọc: giá trị cảm biến, nhánh được chọn, lệnh gửi ra. Đây là kiểm bằng tay để tìm lỗi lôgic; nó chưa xác nhận cảm biến và động cơ thật hoạt động.

Bài luyện

Trong mã giả bài học, sau “Lặp 3 lần: bật còi; đợi; tắt còi; tăng số_lần”, số_lần bằng bao nhiêu nếu bắt đầu từ 0?
Chọn một đáp án

Bài luyện

Xe cần tiếp tục kiểm vật cản trong lúc di chuyển. Cách nào phù hợp?
Chọn một đáp án

Đang học