Lý thuyết Tin học 8 Bài 15 (Kết nối tri thức): Gỡ lỗi

Tóm tắt lý thuyết Tin học lớp 8 Bài 15: Gỡ lỗi hay, chi tiết sách Kết nối tri thức sẽ giúp học sinh nắm vững kiến thức trọng tâm, ôn luyện để học tốt Tin học 8.

1 4,966 07/08/2026


Lý thuyết Tin học 8 Bài 15: Gỡ lỗi

A. Lý thuyết Gỡ lỗi

1. Kiểm thử và phân loại lỗi

a) Kiểm thử

- Trò chơi sẽ thông báo số lần đoán khi người chơi đoán đúng số bí mật theo kịch bản.

- Khi chạy chương trình, số lần đoán máy tính hiển thị luôn kém số lần thực tế một đơn vị.

- Kiểm thử chương trình cần được thực hiện để phát hiện và loại bỏ các lỗi trước khi chương trình được coi là hoàn chỉnh.

Lý thuyết Tin học 8 Bài 15 (Kết nối tri thức): Gỡ lỗi (ảnh 1)

b) Phân loại lỗi

- Chương trình hoạt động sai về việc hiển thị số lần đoán khi chạy thử, mặc dù các khối lệnh vẫn được thực hiện chính xác.

- Có hai loại lỗi:

+ Lỗi cú pháp là khi viết lệnh sai so với quy tắc của ngôn ngữ lập trình.

+ Lỗi lôgic (ngữ nghĩa) là khi các lệnh được viết đúng cú pháp nhưng không thực hiện đúng kịch bản.

2. Phát hiện lỗi và sửa lỗl lôgic

- Hầu hết các ngôn ngữ lập trình có chức năng chì rõ lỗi cú pháp, ngôn ngữ lập trình trực quan hạn chế lỗi cú pháp.

- Lỗi cú pháp dễ dàng phát hiện và sửa chữa, nhưng việc xác định lỗi lôgic thường khó khăn.

a) Phát hiện lỗi lôgic

- Có hai cách thường được sử dụng để phát hiện lỗi lôgic:

+ Cách thứ nhất: Dựa vào phân tích lôgic để tìm lỗi. Tập trung vào những khối lệnh liên quan đến lỗi và so sánh với kịch bản xem chúng có được thực hiện đúng yêu cầu hay không.

+ Chẳng hạn, trong chương trình của trò chơi Đoán số, lỗi được thể hiện ở việc chương trình hiển thị sai giá trị cùa số lần đoán. Các khối lệnh liên quan đến biến này là khởi tạo giá trị (2), thay đổi giá trị (9) và hiển thị giá trị (11).

+ Theo kịch bản, số lần đoán cần phải tăng 1 đơn vị mỗi khi người chơi nhập một giá trị số (đoán). Điều này xảy ra ở các câu lệnh (4), (7) và (8).

+ Tuy nhiên, có thể thấy rằng, 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 như thế sau khối lệnh (4) cả. Theo cách này, việc phát hiện vị trí xuất hiện lỗi trong chương trình được tìm kiếm bằng cách suy luận lôgic, bắt đầu từ những khối lệnh thực hiện không đúng kịch bản. Hạn chế việc tìm lỗi theo cách dò dòng lệnh.

+ Cách thứ hai: Chạy thử với dữ liệu mẫu để dò lỗi. Vì là người lập trình, em có thể cho hiện giá trị các biến số bí mật và số lần đoán băng cách đánh dấu 0 vào bên cạnh các biến đó trong nhóm “Các biến số” (Hình 15.2a).

+ Chạy chương trình với một số đầu vào dự kiến. Chẳng hạn, 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.

+ Từ đó, em nhận thấy rằng lỗi xảy ra do không tăng giá trị của số lần đoán sau lần nhập giá trị đầu tiên của người chơi ở lệnh (4)7

+ Lưu ý: Chương trình có thể chạy theo từng bước bằng cách chèn lệnh “đợi... giây" (Hình 15.2b) vào những vị trí cần quan sát dữ liệu.

Lý thuyết Tin học 8 Bài 15 (Kết nối tri thức): Gỡ lỗi (ảnh 1)

+ Theo cách này, người lập trình có thể kết hợp chạy chương trình từng bước với việc theo dõi giá trị của các biến, so sánh chúng với các giá trị tương ứng được tính theo cách thủ công để phát hiện câu lệnh nào gây ra lỗi và cách nó hoạt động để gây ra lỗi đó.

b) Sửa lỗi

- Khi đã biết vị trí câu lệnh xảy ra lỗi trong chương trình và cách thức câu lệnh đó tạo ra lỗi, em có thể đưa ra những cách sửa lỗi phù hợp với yêu cầu.

- Chẳng hạn, tăng giá trị số lần đoán lên 1 đơn vị sau lần đoán đầu tiên bằng cách bổ sung lệnh (4a) “thay đổi số lần đoán một lượng 1” giống như lệnh (9) vào sau lệnh (4).

B. Bài tập Gỡ lỗi

Đang cập nhật…

Trắc nghiệm Tin 8 Bài 15: Gỡ lỗi

Câu 1. Thực hiện in ra kết quả sau mỗi lần thực hiện câu lệnh giúp biết được điều nào sau đây?

A. Số lượng dữ liệu cần xử lí trong câu lệnh.

B. Cách dữ liệu thay đổi trong chương trình.

C. Thời gian thực hiện của một câu lệnh.

D. Những giá trị tồn tại trong chương trình.

Đáp án đúng là: C

Câu 2. Một chương trình đúng kịch bản, logic nhưng không thể thực hiện được do mắc loại lỗi nào sau đây?

A. Lỗi về tính logic.

B. Lỗi về ngữ nghĩa.

C. Lỗi về khối lệnh.

D. Lỗi về kịch bản.

Đáp án đúng là: B

Câu 3. Cho chương trình Scratch như sau:

Trắc nghiệm Tin học 8 Kết nối tri thức Bài 15 (có đáp án): Gỡ lỗi

Dưới đây là một số nhận xét của các bạn học sinh về chương trình.

(Nhấp vào ô màu vàng để chọn đúng / sai)

Trắc nghiệm Tin học 8 Kết nối tri thức Bài 15 (có đáp án): Gỡ lỗi

Trắc nghiệm Tin học 8 Kết nối tri thức Bài 15 (có đáp án): Gỡ lỗi

Khi nhập vào số 2, chương trình vẫn thực hiện nhưng kết quả sai.

Cần sửa các lệnh ở vị trí 1 và 5.

Câu 4. Cho chương trình Scratch như sau:

Trắc nghiệm Tin học 8 Kết nối tri thức Bài 15 (có đáp án): Gỡ lỗi

Vị trí nào sau đây làm cho kết quả không thể hiển thị?

A. 1.

B. 3.

C. 4.

D. 2.

Đáp án đúng là: C

Câu 5. Cho chương trình Scratch sau:

Trắc nghiệm Tin học 8 Kết nối tri thức Bài 15 (có đáp án): Gỡ lỗi

Nhân vật di chuyển 20 bước mà không chờ 2 giây giữa hai lệnh di chuyển do lỗi nào sau đây?

A. Lệnh di chuyển có giá trị điền nhỏ.

B. Thời gian chờ của lệnh đợi quá lâu.

C. Lệnh đợichưa được đặt đúng vị trí.

D. Lệnh nói có thời gian thực hiện dài.

Đáp án đúng là: C

Câu 6. Cho chương trình Scratch như sau:

Trắc nghiệm Tin học 8 Kết nối tri thức Bài 15 (có đáp án): Gỡ lỗi

Khối lệnh ở vị trí nào cần thay đổi để giá trị nhập vào thuộc phạm vi từ 50 đến 100?

A. Vị trí 3.

B. Vị trí 1.

C. Vị trí 2.

D. Vị trí 4.

Đáp án đúng là: D

Biểu thức logic trong khối lệnh điều kiện sai về mặt logic.

Câu 7. Khi chương trình trả ra kết quả không đúng, hành động nào sau đây là KHÔNG cần thiết?

A. Nhập thêm các bộ dữ liệu khác vào chương trình.

B. Xem xét tính logic của các lệnh trong chương trình.

C. Kiểm tra lại kết quả ở mỗi lần thực hiện câu lệnh.

D. So sánh hoạt động của chương trình với kịch bản.

Đáp án đúng là: A

Câu 8. Cho chương trình Scratch dùng để hiển thị các số giảm dần như sau:

Trắc nghiệm Tin học 8 Kết nối tri thức Bài 15 (có đáp án): Gỡ lỗi

Giá trị trong vị trí của câu lệnh nào sau đây cần thay đổi đề chương trình hoạt động?

A. 2.

B. 3.

C. 4.

D. 1.

Đáp án đúng là: D

Cần đặt giá trị của biến temp > 50 vì điều kiện dùng của vòng lặp là temp < 50.

Câu 9. Thực hiện in ra kết quả sau mỗi lần thực hiện câu lệnh giúp biết được điều nào sau đây?

A. Vị trí gây ra lỗi trong chương trình.

B. Kiểu dữ liệu trong chương trình.

C. Thời gian thực hiện chương trình.

D. Phạm vi xử lí dữ liệu của khối lệnh.

Đáp án đúng là: A

Câu 10. Loại lỗi nào sau đây thường xuất hiện trong ngôn ngữ Scratch?

A. Lỗi về cú pháp.

B. Lỗi về tính logic.

C. Lỗi về tên biến.

D. Lỗi về ngữ nghĩa.

Đáp án đúng là: B

Câu 11. Cho chương trình Scratch sau:

Trắc nghiệm Tin học 8 Kết nối tri thức Bài 15 (có đáp án): Gỡ lỗi

Nhân vật không di chuyển sau khi bấm thực hiện, phương án nào sau đây nêu đúng lỗi của chương trình?

A. Điều kiện lệnh rẽ nhánh bị sai biểu thức.

B. Giá trị ban đầu của biến x chưa phù hợp.

C. Lệnh cập nhật giá trị của x không thực thi.

D. Giá trị của lệnh di chuyển phải lớn hơn 0.

Đáp án đúng là: B

Nếu giá trị ban đầu của biến x không lớn hơn 10, thì điều kiện <(x > 10)> sẽ không được thỏa mãn, do đó lệnh di chuyển (10) bước sẽ không được thực hiện.

Câu 12. Sắp xếp chiều tăng dần của quá trình lập trình.

Xây dựng kịch bản.

Tìm và gỡ lỗi.

Phân tích bài toán.

Tạo chương trình.

Phân tích bài toán.

Xây dựng kịch bản.

Tạo chương trình.

Tìm và gỡ lỗi.

Câu 13. Cho chương trình Scratch sau:

Trắc nghiệm Tin học 8 Kết nối tri thức Bài 15 (có đáp án): Gỡ lỗi

Nhân vật không phát thông báo "Đã đến nơi" khi thực hiện chương trình vì lí do nào sau đây?

A. Giá trị của x chưa được cập nhật lại.

B. Điều kiện rẽ nhánh có giá trị là False.

C. Lệnh di chuyển đặt không đúng vị trí.

D. Thời gian phát thông báo là rất ngắn.

Đáp án đúng là: B

Do giá trị x = 12 làm sai lệch điều kiện của chương trình nên nhân vật không phát thông báo.

Xem thêm các bài lý thuyết Tin học 8 sách Kết nối tri thức hay, chi tiết tại:

1 4,966 07/08/2026


Xem thêm các chương trình khác: