Bài tập 2.Em hãy viết chương trình mở rộng yêu cầu của chương trình minh họa trong Mục 2, yêu...

Câu hỏi:

Bài tập 2. Em hãy viết chương trình mở rộng yêu cầu của chương trình minh họa trong Mục 2, yêu cầu robot xử lý vật cản như sau:

- Nếu gặp phải vật cản thứ nhất sẽ rẽ trái.

- Nếu gặp phải vật cản thứ hai sẽ rẽ phải.

- Nếu gặp phải vật cản thứ ba thì xoay 180 độ đi theo chiều ngược lại.

- Nếu gặp phải các vật cản tiếp theo thì lặp lại yêu cầu như trên: robto rẽ trái, sau đó rẽ phải, sau đó xoay để đi ngược lại nếu gặp các vật cản tiếp theo.

Câu trả lời:
Người trả lời: GV. Đỗ Hồng Hưng
Cách làm:

- Khởi tạo biến dem_vat_can = 0.
- Sử dụng vòng lặp vô hạn để thực hiện các bước sau:
- Robot di chuyển thẳng với tốc độ 50.
- Kiểm tra tín hiệu siêu âm từ cảm biến để xác định gặp vật cản.
- Nếu gặp vật cản:
- Nếu dem_vat_can = 0: Robot rẽ trái và đợi 0.5 giây.
- Nếu dem_vat_can = 1: Robot rẽ phải và đợi 0.5 giây.
- Nếu dem_vat_can = 2: Robot rẽ trái với tốc độ 100 và đợi 1 giây.
- Tăng giá trị của dem_vat_can lên 1.
- Nếu dem_vat_can = 3: Reset lại dem_vat_can về 0.

Câu trả lời:

Để mở rộng yêu cầu của chương trình minh họa trong Mục 2, yêu cầu robot xử lý vật cản theo các quy tắc cụ thể như trên, chúng ta cần viết chương trình như sau:

```python
dem_vat_can = 0
while True:
robot.move_forward(50)
if sensor.ultrasonic() < 10:
if dem_vat_can == 0:
robot.turn_left(50)
robot.wait(0.5)
elif dem_vat_can == 1:
robot.turn_right(50)
robot.wait(0.5)
elif dem_vat_can == 2:
robot.turn_left(100)
robot.wait(1)
dem_vat_can += 1
if dem_vat_can == 3:
dem_vat_can = 0
```

Trong chương trình trên, robot sẽ di chuyển thẳng, kiểm tra và xử lý vật cản theo yêu cầu trong câu hỏi. Nếu gặp các vật cản thứ nhất, thứ hai và thứ ba, robot sẽ thực hiện hành động tương ứng và lặp lại quá trình xử lý vật cản đó.
Bình luận (0)
Nhấn vào đây để đánh giá
Thông tin người gửi
0.09415 sec| 2162.648 kb