Bài 1. Máy tính và chương trình máy tính 3
Câu hỏi và bài tập 3
Hướng dẫn trả lời 4
Bài 2. Làm quen với Ngôn ngữ lập trình 6
Câu hỏi và bài tập 6
Hướng dẫn trả lời 6
Bài 3. Chương trình máy tính Và Dữ LIệU 8
Câu hỏi và bài tập 8
Hướng dẫn trả lời 8
Bài 4. Sử DụNG biến TRONG CHƯƠNG TRìNH 11
Câu hỏi và bài tập 11
Hướng dẫn trả lời 12
Bài 5. Từ BàI TOáN ĐếN CHƯƠNG TRìNH 14
Câu hỏi và bài tập 14
Hướng dẫn trả lời 14
Bài 6. CÂU LệNH ĐIềU KIệN 17
Câu hỏi và bài tập 17
Hướng dẫn trả lời 18
Bài 7. CÂU LệNH lặp 21
Câu hỏi và bài tập 21
Hướng dẫn trả lời 22
Bài 8. Lặp với số lần CHƯA BIếT TRƯớC 25
Câu hỏi và bài tập 25
Hướng dẫn trả lời 26
Bài 9. Làm việc với dãy số 30
Câu hỏi và bài tập 30
Hướng dẫn trả lời 30

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
nguon VI OLET