Mời các em cùng tham khảo nội dung Bài 15: Gỡ lỗi chương trình chương trình Tin học 8 Chân trời sáng tạo này, các em sẽ biết chạy thử, tìm lỗi và sửa được lỗi cho chương trình. HOC247 mời các em cùng theo dõi chi tiết bài học dưới đây để nắm vững các kiến thức mới đầy thú vị và bổ ích
Tóm tắt lý thuyết
1.1. Phát hiện và phân loại lỗi
- Kiểm thử là công đoạn quan trọng trong quy trình sản xuất phần mềm, giúp kiểm tra tính hoạt động của chương trình.
- Phát hiện lỗi trong chương trình là một trong những mục đích chính của việc kiểm thử.
- Lỗi chương trình có thể được phân thành hai loại:
+ Lỗi cú pháp: là lỗi viết chương trình, câu lệnh sai cú pháp dẫn đến chương trình không hoạt động. Hầu hết các ngôn ngữ lập trình cung cấp công cụ phát hiện lỗi cú pháp. Ngôn ngữ lập trình trực quan như Scratch giúp hạn chế những tình huống gây ra lỗi cú pháp.
+ Lỗi logic: là lỗi xảy ra trong trường hợp chương trình hoạt động nhưng đưa ra kết quả sai.
Ví dụ: Chương trình ở Hình 2 đưa ra kết quả sai khi nhập giá trị a, b bằng nhau.
- Nguyên nhân là do phép so sánh a > b cho kết quả là sai, và khi đó chương trình đưa ra thông báo a nhỏ hơn b.
- Tuy nhiên, a = b cũng thuộc trường hợp này, dẫn đến chương trình đưa ra thông báo sai.
- Thực hiện chương trình với các bộ dữ liệu cụ thể là cách thường được sử dụng để phát hiện lỗi logic trong chương trình.
- Các bộ dữ liệu thử cần được xây dựng để kiểm thử các tình huống có thể xảy ra khi đưa chương trình vào sử dụng.
1.2. Gỡ lỗi
- Sau khi phát hiện lỗi, ta cẩn tìm câu lệnh, cấu trúc điều khiển gây ra lỗi, nguyên nhân gây ra lỗi và sửa lỗi chương trình (còn được gọi là gỡ lỗi).
Tìm lỗi
- Các công cụ hỗ trợ lập trình giúp xác định các câu lệnh, cấu trúc điều khiển sai cú pháp một cách dễ dàng.
- Tuy nhiên, việc phát hiện lỗi logic thường không dễ dàng bằng cách này.
- Dưới đây là một số lưu ý trong việc xác định vị trí, nguyên nhân gây lỗi logic:
+ Cần tập trung xem xét câu lệnh trực tiếp tạo ra lỗi và những câu lệnh, cấu trúc điều khiển có liên quan logic đến lỗi.
+ Xem xét kỹ lưỡng, cụ thể hoạt động của câu lệnh, cấu trúc điều khiển này trong tình huống phát sinh lỗi.
+ Bằng tư duy logic của bản thân, ta cần phân tích, suy luận để xác định nguyên nhân gây lỗi.
Ví dụ, nguyên nhân lỗi trong chương trình ở Hình 2 là chưa tính đến trường hợp a = b.
- Bổ sung câu lệnh để theo dõi sự thay đổi giá trị của các biến, kết quả thực hiện câu lệnh, cấu trúc điều khiển nào đó giúp xác định vị trí, nguyên nhân gây ra lỗi dễ dàng và nhanh chóng hơn khi cần thiết.
Sửa lỗi
- Khi đã xác định được câu lệnh, cấu trúc điều khiển, nguyên nhân gây ra lỗi ta có thể thực hiện chỉnh sửa lỗi.
- Để sửa lỗi cú pháp chương trình ở Hình 1, ta cần kết hợp câu lệnh ask and wait với set to để nhập hai số a, b từ bàn phím (Hình 2).
- Để sửa lỗi logic chương trình ở Hình 2, ta cần chỉnh sửa để chương trình xét cả 3 trường hợp có thể xảy ra khi so sánh hai số a, b (Hình 5).
Bài tập minh họa
Thế nào là lỗi cú pháp, lỗi logic?
Hướng dẫn giải:
- Lỗi cú pháp là lỗi do viết chương trình, câu lệnh sai cú pháp dẫn đến chương trình không hoạt động. Hầu hết các ngôn ngữ lập trình đều có công cụ hỗ trợ hạn chế, phát hiện lỗi cú pháp.
- Lỗi logic là lỗi xảy ra trong trường hợp chương trình hoạt động nhưng đưa ra kết quả sai. Sử dụng bộ dữ liệu thử là cách thường được sử dụng để phát hiện lỗi logic trong chương trình.
3. Luyện tập Bài 15 Tin học 8 Chân trời sáng tạo
Sau bài học này, em sẽ: Chạy thử, tìm lỗi và sửa được lỗi cho chương trình.
3.1. Trắc nghiệm Bài 15 Tin học 8 Chân trời sáng tạo
Các em có thể hệ thống lại nội dung kiến thức đã học được thông qua bài kiểm tra Trắc nghiệm Tin học 8 Chân trời sáng tạo Bài 15 cực hay có đáp án và lời giải chi tiết.
-
- A. Gợi ý nội dung cho bài trình chiếu.
- B. Nhằm phát hiện những tình huống bất thường (được gọi là lỗi) khi thực hiện chương trình.
- C. Cung cấp công cụ đề chèn thêm văn bản, điều chỉnh độ sáng, tối, tương phản, làm mờ, sắc nét,…
- D. Sự kết hợp của biến, hằng, dấu ngoặc, phép toán và các hàm để trả lại giá trị thuộc một kiểu dữ liệu nhất định.
-
- 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.
-
Câu 3:
Định nghĩa về lỗi cú pháp?
- A. Lỗi xảy ra trong trường hợp chương trình hoạt động nhưng đưa ra kết quả sai.
- B. Là một vùng trong bộ nhớ, được đặt tên và được dùng để lưu trữ dữ liệu khi thực hiện chương trình.
- C. Là lỗi viết chương trình, câu lệnh sai cú pháp dẫn đến chương trình không hoạt động.
- D. Là đại lượng có giá trị không đổi trong quá trình thực hiện chương trình.
Câu 4-10: Mời các em đăng nhập xem tiếp nội dung và thi thử Online để củng cố kiến thức về bài học này nhé!
3.2. Bài tập SGK Bài 15 Tin học 8 Chân trời sáng tạo
Các em có thể xem thêm phần hướng dẫn Giải bài tập Tin học 8 Chân trời sáng tạo Bài 15 để giúp các em nắm vững bài học và các phương pháp giải bài tập.
Khởi động trang 95 SGK Tin học 8 Chân trời sáng tạo - CTST
Khám phá trang 96 SGK Tin học 8 Chân trời sáng tạo - CTST
Khám phá 1 trang 97 SGK Tin học 8 Chân trời sáng tạo - CTST
Khám phá 2 trang 97 SGK Tin học 8 Chân trời sáng tạo - CTST
Luyện tập 1 trang 98 SGK Tin học 8 Chân trời sáng tạo - CTST
Luyện tập 2 trang 98 SGK Tin học 8 Chân trời sáng tạo - CTST
Luyện tập 3 trang 98 SGK Tin học 8 Chân trời sáng tạo - CTST
Luyện tập 4 trang 98 SGK Tin học 8 Chân trời sáng tạo - CTST
Thực hành 1 trang 98 SGK Tin học 8 Chân trời sáng tạo - CTST
Thực hành 2 trang 98 SGK Tin học 8 Chân trời sáng tạo - CTST
Thực hành 3 trang 98 SGK Tin học 8 Chân trời sáng tạo - CTST
4. Hỏi đáp Bài 15 Tin học 8 Chân trời sáng tạo
Trong quá trình học tập nếu có thắc mắc hay cần trợ giúp gì thì các em hãy comment ở mục Hỏi đáp, Cộng đồng Tin học HOC247 sẽ hỗ trợ cho các em một cách nhanh chóng!
Chúc các em học tập tốt và luôn đạt thành tích cao trong học tập!
-- Mod Tin Học 8 HỌC247