Hoạt động 2. Không làm việc hay làm việc
Em hãy cho biết, chương trình đã cho trong Hình 15.1 không hoạt động được hay nó có hoạt động nhưng đã thực hiện không đúng kịch bản?
Hướng dẫn trả lời:
Khi chạy thử, em nhận ra rằng chương trình vẫn hoạt động vì máy tính vẫn hỏi và trả lời theo sự điều khiển của các khối lệnh. Tuy nhiên nó thực hiện không đúng kịch bản vì số lần đoán được hiển thị không đúng với số lần thực tế mà người chơi đã đoán.
Có hai loại lỗi:
1) Lỗi cú pháp xảy ra khi lệnh viết sai so với quy tắc của ngôn ngữ lập trình, làm cho chương trình không hoạt động:
2) Lỗi lôgic (hay lỗi ngữ nghĩa) xảy ra khi các câu lệnh trong chương trình tuy được viết đúng cú pháp nhưng thực hiện không đúng kịch bản như trong chương trình của trò chơi Đoán số.
Câu hỏi 2. Chọn phát biểu đúng nhất về hoạt động gỡ lỗi.
A. Gỡ lỗi là phát hiện và loại bỏ lỗi. Trong lập trình, không nhất thiết phải gỡ lỗi.
B. Gỡ lỗi là chạy thử chương trình để phát hiện lỗi. Trong lập trình, không nhất thiết phải gỡ lỗi.
C. Gỡ lỗi là chạy thử chương trình để phát hiện lỗi. Gỡ lỗi là một phần quan trọng của lập trình.
D. Gỡ lỗi là phát hiện và loại bỏ lỗi. Gỡ lỗi là một phần quan trọng của lập trình.
Hướng dẫn trả lời:
Chọn D. Gỡ lỗi là phát hiện và loại bỏ lỗi. Gỡ lỗi là một phần quan trọng của lập trình.
Hoạt động 2. Gỡ lỗi
Câu hỏi 1. Xét tình huống máy tính hiển thị số lần đoán không đúng với số lần đoán thực tế của người chơi. Em hãy trả lời các câu hỏi:
1. Theo kịch bản, biến số lần đoán sẽ thay đổi trong tình huống nào?
2. Những khối lệnh nào làm thay đổi biến số lần đoán?
3. Có điều gì khác nhau giữa kịch bản và những khối lệnh tương ứng?
Hướng dẫn trả lời:
1. Theo kịch bản, biến số lần đoán sẽ thay đổi trong tình huống nào?
2. Những khối lệnh nào làm thay đổi biến số lần đoán?
3. Có điều gì khác nhau giữa kịch bản và những khối lệnh tương ứng?
a. Tập trung vào những khối lệnh trực tiếp gây ra lỗi và những khối lệnh liên quan lôgic đến nó theo các cấu trúc điều khiển.
b. Chạy chương trình từng bước, kết hợp theo dõi sự thay đổi của các biến, các giá trị đầu ra và so sánh với các giá trị tính được theo cách thủ công.
Câu hỏi 3. Em hãy gỡ lỗi đoạn chương trình xác định một số n được nhập từ bàn phím là số chẵn hay số lẻ được cho trong Hình 15.3.
Hướng dẫn trả lời:
Lỗi chưa đặt điều kiện cho n
Câu hỏi 1. Em hãy chọn một cách khác với cách đã nêu trong phần b) Sửa lỗi của mục 2 để sửa lỗi của chương trình được cho trong Hình 15.1.
Hướng dẫn trả lời:
- Lỗi xảy ra ở biểu thức điều kiện. Vì mỗi người không đoán quá 7 lần, nên vòng lặp (6) - ( 10) sẽ kết thúc khi số lần đoán bằng 7.
Câu hỏi 1. Đổi vai trò máy tính và người chơi trong trò chơi Đoán số. Em chọn một số nguyên trong khoảng từ 1 đến 120 và viết số đó ra giấy. Máy tính sẽ hiển thị một số mà em phải trả lời bằng các phím “d', ”c” hoặc ”t' tương ứng với tình huống số máy tính hiển thị đúng, cao hơn hay thấp hơn số em đã chọn. Hãy viết chương trình để sau một số bước càng ít càng tốt, máy tính tìm ra số em đã chọn. Chạy thử, phát hiện và sửa các lỗi của chương trình đó.
Hướng dẫn trả lời:
Học sinh tự thực hiện. Lưu ý Máy tính sẽ hiển thị một số mà em phải trả lời bằng các phím “d', ”c” hoặc ”t' tương ứng với tình huống số máy tính hiển thị đúng.