Huong dan tra loi - Bai tap Tin 8 (SGK)

Chia sẻ bởi Hà Tấn Lực | Ngày 14/10/2018 | 61

Chia sẻ tài liệu: Huong dan tra loi - Bai tap Tin 8 (SGK) thuộc Tin học 8

Nội dung tài liệu:

Bài 1. Máy tính và chương trình máy tính
Câu hỏi và bài tập
Khi soạn thảo văn bản trên máy tính và yêu cầu chương trình tìm kiếm một cụm từ trong văn bản và thay thế bằng một cụm từ khác, thực chất ta đã yêu cầu máy tính thực hiện những lệnh gì? Có thể thay đổi thứ tự những lệnh đó mà vẫn không thay đổi kết quả được không?
Trong ví dụ về rô-bốt, nếu thay đổi thứ tự của hai lệnh trong chương trình, rô-bốt có thực hiện được công việc nhặt rác không? Hãy xác định vị trí mới của rô-bốt sau khi thực hiện xong lệnh “Hãy quét nhà” và đưa ra các lệnh để rô-bốt trở lại vị trí ban đầu của mình.
Hãy cho biết lí do cần phải viết chương trình để điều khiển máy tính.
Tại sao người ta phải tạo ra các ngôn ngữ lập trình trong khi có thể điều khiển máy tính bằng ngôn ngữ máy?
Chương trình dịch làm gì?
Hãy cho biết các bước cần thực hiện để tạo ra các chương trình máy tính.
Hướng dẫn trả lời
Khi soạn thảo văn bản trên máy tính và yêu cầu chương trình tìm kiếm một cụm từ trong văn bản và thay thế bằng một cụm từ khác, thực chất ta đã yêu cầu máy tính thực hiện rất nhiều lệnh. Có thể mô tả các lệnh với các mức độ chi tiết khác nhau. Dưới đây chỉ mô tả những lệnh cơ bản nhất theo trật tự thực hiện việc thay thế một cụm từ tìm được:
Sao chép cụm từ cần tìm vào bộ nhớ (ta gọi đây là cụm từ 1).
Sao chép cụm từ sẽ thay thế cụm từ tìm được vào bộ nhớ (cụm từ 2).
Tìm cụm từ 1 trong văn bản.
Xóa cụm từ 1 tìm được trong văn bản.
Sao chép cụm từ 2 vào vị trí con trỏ trong văn bản.
Dưới đây mô tả một cách chi tiết hơn:
Sao chép dãy kí tự cần tìm vào bộ nhớ (dãy 1).
Sao chép dãy kí tự sẽ thay thế dãy kí tự tìm được vào bộ nhớ (dãy 2).
Đặt con trỏ trước kí tự đầu tiên trong văn bản.
Sao chép dãy kí tự (tính từ vị trí con trỏ sang phải) có độ dài bằng dãy kí tự cần tìm vào bộ nhớ (dãy 3).
So sánh dãy 1 và dãy 3. Nếu dãy 3 không trùng với dãy 1, chuyển đến lệnh 8.
Xóa dãy 3 trong văn bản.
Sao chép dãy 2 vào vị trí con trỏ soạn thảo trong văn bản.
Di chuyển con trỏ sang phải một kí tự và quay lại lệnh 4.
Qua các lệnh liệt kê theo thứ tự nói trên, dễ thấy rằng có thể thay đổi thứ tự thực hiện của một vài lệnh (1 và 2), nhưng nói chung việc thay đổi thứ tự các lệnh sẽ không cho kết quả mong muốn.
Nếu thay đổi thứ tự của hai lệnh trong chương trình điều khiển rô-bốt, rô-bốt sẽ không thực hiện được công việc nhặt rác vì rô-bốt sẽ không đi đúng hướng và có thể không đi tới vị trí có rác, hoặc thực hiện việc nhặt rác tại vị trí không có rác,.... Ví dụ, nếu thay đổi thứ tự của lệnh 1 “Tiến 2 bước” và lệnh 2 “Quay trái, tiến 1 bước”, tác dụng của cả hai lệnh này sẽ là “Quay trái và tiến 3 bước”. Khi đó rô-bốt sẽ nhặt rác tại vị trí không có rác. Nói chung, các lệnh điều khiển rô-bốt hay chương trình cần được đưa ra theo một thứ tự xác định sao cho ta đạt kết quả mong muốn. Trong một số ít trường hợp, ta có thể đưa ra các lệnh khác nhau, nhưng vẫn đạt kết quả. Chẳng hạn, trong ví dụ về rô-bốt, thay cho hai câu lệnh đầu tiên, ta có thể điều khiển rô-bốt đến đúng vị trí có rác bằng các lệnh sau: “Quay trái, tiến 1 bước” và “Quay phải, tiến 2 bước” hoặc “Quay phải, tiến 2 bước”, “Quay trái, tiến 2 bước” và “Quay trái, tiến 4 bước”. Trong một số ít các trường hợp khác, việc thay đổi thứ tự của một vài câu lệnh vẫn cho kết quả đúng như yêu cầu.
Tuy nhiên, như là một nguyên tắc chung, việc thay đổi thứ tự các câu lệnh sẽ không cho kết quả đúng. Có thể liên hệ với thứ tự các bước của thuật toán trong Bài 5.
Vị trí mới của rô-bốt sau khi thực hiện xong lệnh “Hãy quét nhà” là vị trí có thùng rác (ở góc đối diện). Ta có nhiều cách khác nhau để đưa ra hai lệnh để rô-bốt trở lại vị trí ban đầu của mình, một trong các cách đó là hai lệnh “Quay trái, tiến 5 bước” và “Quay trái, tiến 3 bước”.
* Một số tài liệu cũ có thể bị lỗi font khi hiển thị do dùng bộ mã không phải Unikey ...

Người chia sẻ: Hà Tấn Lực
Dung lượng: 298,50KB| Lượt tài: 1
Loại file: doc
Nguồn : Chưa rõ
(Tài liệu chưa được thẩm định)