Với Giải Câu F85 trang 48 SBT Tin học 10 Cánh diều trong Bài 16: Kiểm thử và gỡ lỗi chương trình Sách bài tập Tin học 10 Cánh diều hay nhất, chi tiết sẽ giúp học sinh dễ dàng làm bài tập trong SBT Tin học 10.
Sửa lỗi cho chương trình Xét bài toán: Robot hạ cánh xuống vùng cần thăm dò ở trạng thái quay mặt về hướng Đông.
Câu F85 trang 48 SBT Tin học 10: Sửa lỗi cho chương trình
Xét bài toán: Robot hạ cánh xuống vùng cần thăm dò ở trạng thái quay mặt về hướng Đông.
Có ba lệnh điều khiển chuyển động: L - quay sang trái và tiến một bước, R - quay sang phải và tiến một bước, C – tiến một bước theo hướng đang đi. Các lệnh robot nhận được trong ngày được lưu trữ dưới dạng xâu Trace chỉ chứa các kí tự từ tập {L, R, C}. Hình bên minh hoạ một số chuyển động của robot. Để chuẩn bị cho trạng thái ngủ qua đêm người ta cần biết cuối ngày robot đang quay mặt nhìn về hướng nào.
Hãy xác định hướng quay mặt của robot và đưa ra kết quả dưới dạng một kí tự từ tập {E, N, W, S}, trong đó E là hướng Đông, N là hướng Bắc, W là hướng Tây và S là hướng Nam.
Dữ liệu: Gồm một dòng chứa xâu Trace được nhập vảo từ thiết bị vào chuẩn.
Kết quả: Đưa ra thiết bị ra chuẩn một kí tự xác định hướng nhìn của robot.
Gợi ý thuật toán:
- Xét hướng ban đầu của robot: Đông (E).
- Sau một lần rẽ trái (lệnh L) robot chuyển sang hướng Bắc (N).
- Sau hai lần rẽ trái (lệnh L) robot chuyển sang hướng Tây (W).
- Sau ba lần rẽ trái (lệnh L) robot chuyển sang hướng Nam (S).
- Sau bốn lần rẽ trái (lệnh L) robot quay trở về hướng Đông (E).
- Một lần rẽ phải (lệnh R) tương đương với ba lần rẽ trái (không tính chuyển động).
- Các lệnh C - không thay đổi hướng đi.
Như vậy tính số lần rẽ theo lệnh L ta dễ dàng xác định hướng nhìn của robot ở cuối hành trình đã cho.
Chương trình ở hình sau thực hiện bài toán trên. Chương trình không có lỗi cú pháp nhưng khi thực hiện cho kết quả sai. Em hãy tìm chỗ sai và sửa lại để có chương trình đúng.
Lời giải:
Cần thay câu lệnh k = (p+3*q) //4 bằng lệnh k = (p+3*q) % 4.
Xem thêm lời giải SBT Tin học 10 Cánh diều hay, chi tiết khác:
Câu F81 trang 47 SBT Tin học 10: Lỗi trong chương trình Có mấy loại lỗi khi lập trình? Hệ thống hỗ trợ gì cho người lập trình trong việc tìm và khắc phục lỗi?
Câu F82 trang 47 SBT Tin học 10: Kiểm thử Kiểm thử là gì? Tại sao cần kiểm thử khi mà chương trình chạy đưa ra kết quả đúng với ví dụ đã cho?
Câu F83 trang 47 SBT Tin học 10: Tìm lỗi Chương trình sau thực hiện nhập từ thiết bị vào chuẩn hai dòng:
Câu F84 trang 48 SBT Tin học 10: Hoàn thiện chương trình Xét bài toán: Cho đa giác n đỉnh, đỉnh thứ i có toạ độ nguyên (xi, yi). với i = 1, 2, ..., n. Hãy tính và đưa ra độ dài cạnh lớn nhất của đa giác
Câu F85 trang 48 SBT Tin học 10: Sửa lỗi cho chương trình Xét bài toán: Robot hạ cánh xuống vùng cần thăm dò ở trạng thái quay mặt về hướng Đông.
Xem thêm lời giải SBT Tin học 10 Cánh diều hay, chi tiết khác:
Bài 14, 15: Kiểu dữ liệu danh sách - Xử lí danh sách. Thực hành với dữ liệu kiểu danh sách
Bài 17, 18: Thực hành lập trình giải bài toán trên máy tính
Bài 1: Hệ nhị phân và ứng dụng. Thực hành về các phép toán bit và hệ nhị phân
CÔNG TY TNHH ĐẦU TƯ VÀ DỊCH VỤ GIÁO DỤC VIETJACK
- Người đại diện: Nguyễn Thanh Tuyền
- Số giấy chứng nhận đăng ký kinh doanh: 0108307822, ngày cấp: 04/06/2018, nơi cấp: Sở Kế hoạch và Đầu tư thành phố Hà Nội.
2021 © All Rights Reserved.