Bài học cùng chủ đề
Báo cáo học liệu
Mua học liệu
Mua học liệu:
-
Số dư ví của bạn: 0 coin - 0 Xu
-
Nếu mua học liệu này bạn sẽ bị trừ: 2 coin\Xu
Để nhận Coin\Xu, bạn có thể:
Sửa lỗi SVIP
1. Kiểm thử và phân loại lỗi
a. Kiểm thử
Nhiệm vụ của người lập trình sau kiểm thử là loại bỏ lỗi trước khi coi là một sản phẩm hoàn chỉnh.
Ví dụ:
Chương trình đoán số tìm ra người chiến thắng bằng cách tìm ra người có số lần dự đoán là thấp nhất.
Chương trình Scratch | Một số nhận định |
✔ 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. ✖ Chương trình không thực hiện đúng kịch bản vì số lần đoán hiển thị không đúng. |
Chương trình cần phải sửa lại vì đã xảy ra lỗi.
b. Phân loại lỗi
Phân loại lỗi giúp xác định được hướng xử lí.
Đối với lập trình Scratch, lỗi phổ biến là lỗi logic.
Lỗi cú pháp | Lỗi logic | |
Nội dung | 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 chương trình không hoạt động. | Xảy ra khi các câu lệnh trong chương trình tuy viết đúng cú pháp nhưng thực hiện không đúng kịch bản. |
Ví dụ | Viết sai từ khóa while thành white trong Python | Yêu cầu hiển thị từ 1 đến 10 nhưng máy chỉ hiển thị từ 1 đến 9 |
2. Phát hiện và sửa lỗi logic
a. Phát hiện lỗi
Xem xét trò chơi đoán số trong ví dụ của Mục 1.a.
Cách 1. Tìm kiếm lỗi bằng suy luận logic
Mặc dù (9) tăng giá trị của số lần đoán sau khi (7) hoặc (8) được thực hiện, nhưng không có lệnh nào sau khối lệnh (4).
→ Vị trí cần sửa lỗi là sau (4).
Cách 2. Chạy thử với dữ liệu mẫu
Cú pháp | ||
Nội dung |
Nên thêm lệnh “đợi…giây” vào vị trí cần quan sát dữ liệu.
|
Hiện giá trị của các biến số bí mật và số lần đoán. Sau đó, thực hiện vừa chạy chương trình, vừa tính thủ công.
|
Em có thể nhập số bí mật ngay trong lần đoán đầu tiên. Khi đó, lẽ ra số lần đoán cần nhận giá trị 1 thì nó vẫn chỉ mang giá trị 0.
b. Sửa lỗi
- Phương pháp 1: Tập chung vào khối lệnh trực tiếp gây ra lỗi và những khối lệnh liên quan logic đến nó theo các cấu trúc điều khiển.
- Phương pháp 2: 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 vào và so sánh với các giá trị tính được theo cách thủ công.
Bạn có thể đánh giá bài học này ở đây