Bài 13: Thực hành dữ liệu kiểu xâu

Minh Lệ

1) Tìm hiểu bài toán: Robot thám hiểm sao Hoả đang ở điểm có toạ độ (0;0) nhận được dòng lệnh điều khiển từ Trái Đất. Dòng lệnh chỉ chứa các kí tự từ tập kí tự {E, S, W, N}, mỗi kí tự là một tập lệnh di chuyển với quãng đường bằng một đơn vị độ dài. Lệnh E – đi về hứng đông, lệnh S – đi về hướng nam, lệnh W – đi về hướng tây và lệnh N – đi về hướng bắc. Trục Ox của hệ toạ độ chạy từ tây sang đông, trục Oy – chạy từ tây sang đông, trục Oy – chạy từ nam lên bắc. Em hãy xác định toạ độ của robot sau khi thực hiện lệnh di chuyển nhận được

Ví dụ: với dòng lệnh “ENENWWWS”, sau khi thực hiện robot sẽ tới vị trí (-1;1) (Hình 3).

2) Em hãy đọc hiểu và chạy thử chương trình ở Hình 4 và cho biết chương trình đó có giải quyết được bài toán ở mục a) hay không.

Hà Quang Minh
7 tháng 11 2023 lúc 20:31

a) Hướng giải: Đếm số lượng từng kí tự ‘E’, ‘N’, ‘S’, ‘W’. Toạ độ x của đích tới sẽ bằng số kí tự ‘E’ trừ số lượng kí tự ‘W’. Toạ độ y của đích tới bằng số kí tự ‘N’ trừ số lượng kí tự ‘S’

b) - Chương trình đó giải quyết được bài toán trên

s = input('Dòng lệnh: ')

e = s.count('E')

w = s.count('W')

n = s.count('N')

s = s.count('S')

x = e - w

y = n - s

print('Toạ độ hiện tại của robot: (', x, ',',y, ')')