Chào mừng quý vị đến với website của ...
Quý vị chưa đăng nhập hoặc chưa đăng ký làm thành viên, vì vậy chưa thể tải được các tài liệu của Thư viện về máy tính của mình.
Nếu chưa đăng ký, hãy nhấn vào chữ ĐK thành viên ở phía bên trái, hoặc xem phim hướng dẫn tại đây
Nếu đã đăng ký rồi, quý vị có thể đăng nhập ở ngay phía bên trái.
Nếu chưa đăng ký, hãy nhấn vào chữ ĐK thành viên ở phía bên trái, hoặc xem phim hướng dẫn tại đây
Nếu đã đăng ký rồi, quý vị có thể đăng nhập ở ngay phía bên trái.
Bài 15. Gỡ lỗi
(Tài liệu chưa được thẩm định)
Nguồn: Bạch Kim
Người gửi: Ngô Văn Chinh (trang riêng)
Ngày gửi: 11h:04' 20-10-2023
Dung lượng: 898.4 KB
Số lượt tải: 0
Nguồn: Bạch Kim
Người gửi: Ngô Văn Chinh (trang riêng)
Ngày gửi: 11h:04' 20-10-2023
Dung lượng: 898.4 KB
Số lượt tải: 0
Số lượt thích:
0 người
BÀI 15. GỠ LỖI
Trang bìa
Trang bìa
Ảnh
BÀI 15. GỠ LỖI
TIN HỌC 8
A. Khởi động
- Khởi động
Ảnh
- Khởi động:
Chúng ta đã tạo ra một chương trình máy tính trong Bài 14 và thế là tớ đã biết lập trình.
Chưa xong đâu, chúng ta cần phải thực hiện một việc nữa, đó là gỡ lỗi.
Gỡ lỗi là làm những gì? Bạn hãy hướng dẫn cụ thể hơn cho tớ nhé.
B. Hình thành kiến thức mới
1. Kểm thử và phân loại lỗi
Ảnh
1. Kểm thử và phân loại lỗi
- HĐ1: Đếm số lần đoán
Trong trò chơi Đoán số ở Bài 14, ai đoán đúng số bí mật với ít lần đoán hơn sẽ là người thắng cuộc, ở chương trình trong Hình 15.1? biến số lần đoán được bổ sung để đếm số lần người chơi đoán và thông báo giá trị này khi người chơi đoán đúng số bí mật. Trước khi chia sẻ trò chơi của mình, em quyết định kiểm tra xem trò chơi có hoạt động tốt không. Hãy cho biết kết quả của việc kiểm tra đó bằng cách mô tả tình huống chương trình chạy không đúng kịch bản (nếu có).
- Hình 15.1 (- HĐ1: Đếm số lần đoán)
Ảnh
- Kiến thức mới (- Kiến thức mới)
Ảnh
a. Kiểm thử
Theo kịch bản, 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. Tuy nhiên, khi chạy thử chương trình, em sẽ thấy số lần đoán mà máy tính hiển thị luôn kém số lần thực tế mà người chơi đâ đoán một đơn vị. Việc chạy thử chương trình để kiểm tra (còn gọi là kiểm thử) 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ác lỗi cần được loại bỏ trước khi chương trình được coi là sản phẩm hoàn chỉnh và có thể chia sẻ với người khác.
- Hoạt động 2: Không làm việc hay làm việc sai?
- HĐ2: Không làm việc hay làm việc sai?
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?
Ảnh
b. Phân loại lỗi (- Kiến thức mới)
Ảnh
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.
b. Phân loại lỗi
+ tiếp (b. Phân loại lỗi)
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 logic (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ố.
Ảnh
- Kết luận
- Kết luận:
Ảnh
+ Cần phải chạy thử chương trình để phát hiện và loại bỏ lỗi. + Có hai loại lỗi: lỗi cú pháp và lỗi lôgic.
Lỗi cú pháp là lỗi viết câu lệnh sai quy tắc, làm cho chương trình không hoạt động. Lỗi lôgic là lỗi câu lệnh, tuy được viết đúng quy tắc nhưng thực hiện sai so với kịch bản.
- Câu hỏi
- Câu hỏi:
Bài tập trắc nghiệm
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.
2. Phát hiện lỗi và sửa lỗi lôgic
Ảnh
2. Phát hiện lỗi và sửa lỗi lôgic
- HĐ3: Gỡ lỗi
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?
- Kiến thức mới (- Kiến thức mới)
Có hai cách thường được sử dụng để phát hiện lỗi lôgic.
Ảnh
a. 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. 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).
+ Lưu ý (a. Phát hiện lỗi lôgic)
Ảnh
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.
b. Sửa lỗi
Ảnh
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, có thể đưa ra những cách sửa lỗi phù hợp với yêu cầu.
b. Sửa lỗi
Ví dụ:
Tăng giá trị số lần đoán ln 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).
- Kết luận
- Kết luận:
Ảnh
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. 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.
Hai phương pháp phổ biến để phát hiện lôgic trong chương trình:
- Câu hỏi
- Câu hỏi:
Ảnh
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 H15.3.
Hình 15.3. Chương trình xác định một số là chẵn hay lẻ
3. Thực hành: Gỡ lỗi
3. Thực hành: Gỡ lỗi
Ảnh
Hình vẽ
- Nhiệm vụ:
Giả sử trong trò chơi Đoán số, không ai được đoán quá 7 lần. Em hãy gỡ lỗi chương trình trò chơi Đoán số trong Hình 15.4 (đã được bổ sung chức năng thông báo người chơi thua cuộc nếu vẫn đoán sai ở lần thứ 7).
- Hình 15.4 (- Nhiệm vụ)
Ảnh
- Hướng dẫn (3. Thực hành: Sử dụng hằng, biến, biểu thức trong chương trình)
Ảnh
Hướng dẫn:
Ảnh
+ Bước 1. Chạy thử chương trình
a. Kiểm thử và phát hiện lỗi
Với tình huống đoán đúng số bí mật sau không quá 7 lần đoán, thông báo hiển thị số lần đoán không xuất hiện cụm từ "Số lần đoán:" như trong chương trình.
Với tình huống đoán sai, chương trình không kết thúc và báo thua ngay sau khi đoán sai lần thứ 7 mà vẫn cho đoán thêm một lần nữa.
+ Bước 2 (a. Kiểm thử và phát hiện lỗi)
Ảnh
Ảnh
Hướng dẫn:
+ Bước 2. Phát hiện lỗi
Trong tình huống 1, lỗi xảy ra ở câu lệnh hiển thị. Phép toán ghép nối các chữ là "kết hợp..." chứ không phải dấu "+".
Trong tình huống 2, 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. Ngoài ra, sau 7 lần đoán, vẫn có thể xảy ra cả hai khả năng đoán đúng hoặc đoán sai. Vì vậy, số lần đoán không cho biết kết quả đoán đúng hay sai.
b. Sửa các lỗi phát hiện được
Ảnh
Hướng dẫn:
Ảnh
- Điều kiện trong câu lệnh (6) cần đổi thành
b. Sửa các lỗi phát hiện được
Ảnh
- Điều kiện rẽ nhánh ở lệnh (11) cần được chỉnh sửa thành
Ảnh
+ tiếp (b. Sửa các lỗi phát hiện được)
Ảnh
Hướng dẫn:
- Sửa biểu thức trong lệnh hiển thị (14). Khi đó, các lệnh (11) đến (14) như Hình 15.5.
Ảnh
Luyện tập
- Luyện tập
Ảnh
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.
- Luyện tập:
Vận dụng
- Vận dụng
Ảnh
- Vận dụng
Đổ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 đó.
Dặn dò
- Dặn dò
Ảnh
Dặn dò:
Ôn lại bài vừa học. Làm bài tập về nhà trong SBT. Chuẩn bị bài sau: "Bài 16. Tin học với nghề nghiệp".
- Cảm ơn
Ảnh
Trang bìa
Trang bìa
Ảnh
BÀI 15. GỠ LỖI
TIN HỌC 8
A. Khởi động
- Khởi động
Ảnh
- Khởi động:
Chúng ta đã tạo ra một chương trình máy tính trong Bài 14 và thế là tớ đã biết lập trình.
Chưa xong đâu, chúng ta cần phải thực hiện một việc nữa, đó là gỡ lỗi.
Gỡ lỗi là làm những gì? Bạn hãy hướng dẫn cụ thể hơn cho tớ nhé.
B. Hình thành kiến thức mới
1. Kểm thử và phân loại lỗi
Ảnh
1. Kểm thử và phân loại lỗi
- HĐ1: Đếm số lần đoán
Trong trò chơi Đoán số ở Bài 14, ai đoán đúng số bí mật với ít lần đoán hơn sẽ là người thắng cuộc, ở chương trình trong Hình 15.1? biến số lần đoán được bổ sung để đếm số lần người chơi đoán và thông báo giá trị này khi người chơi đoán đúng số bí mật. Trước khi chia sẻ trò chơi của mình, em quyết định kiểm tra xem trò chơi có hoạt động tốt không. Hãy cho biết kết quả của việc kiểm tra đó bằng cách mô tả tình huống chương trình chạy không đúng kịch bản (nếu có).
- Hình 15.1 (- HĐ1: Đếm số lần đoán)
Ảnh
- Kiến thức mới (- Kiến thức mới)
Ảnh
a. Kiểm thử
Theo kịch bản, 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. Tuy nhiên, khi chạy thử chương trình, em sẽ thấy số lần đoán mà máy tính hiển thị luôn kém số lần thực tế mà người chơi đâ đoán một đơn vị. Việc chạy thử chương trình để kiểm tra (còn gọi là kiểm thử) 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ác lỗi cần được loại bỏ trước khi chương trình được coi là sản phẩm hoàn chỉnh và có thể chia sẻ với người khác.
- Hoạt động 2: Không làm việc hay làm việc sai?
- HĐ2: Không làm việc hay làm việc sai?
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?
Ảnh
b. Phân loại lỗi (- Kiến thức mới)
Ảnh
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.
b. Phân loại lỗi
+ tiếp (b. Phân loại lỗi)
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 logic (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ố.
Ảnh
- Kết luận
- Kết luận:
Ảnh
+ Cần phải chạy thử chương trình để phát hiện và loại bỏ lỗi. + Có hai loại lỗi: lỗi cú pháp và lỗi lôgic.
Lỗi cú pháp là lỗi viết câu lệnh sai quy tắc, làm cho chương trình không hoạt động. Lỗi lôgic là lỗi câu lệnh, tuy được viết đúng quy tắc nhưng thực hiện sai so với kịch bản.
- Câu hỏi
- Câu hỏi:
Bài tập trắc nghiệm
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.
2. Phát hiện lỗi và sửa lỗi lôgic
Ảnh
2. Phát hiện lỗi và sửa lỗi lôgic
- HĐ3: Gỡ lỗi
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?
- Kiến thức mới (- Kiến thức mới)
Có hai cách thường được sử dụng để phát hiện lỗi lôgic.
Ảnh
a. 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. 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).
+ Lưu ý (a. Phát hiện lỗi lôgic)
Ảnh
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.
b. Sửa lỗi
Ảnh
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, có thể đưa ra những cách sửa lỗi phù hợp với yêu cầu.
b. Sửa lỗi
Ví dụ:
Tăng giá trị số lần đoán ln 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).
- Kết luận
- Kết luận:
Ảnh
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. 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.
Hai phương pháp phổ biến để phát hiện lôgic trong chương trình:
- Câu hỏi
- Câu hỏi:
Ảnh
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 H15.3.
Hình 15.3. Chương trình xác định một số là chẵn hay lẻ
3. Thực hành: Gỡ lỗi
3. Thực hành: Gỡ lỗi
Ảnh
Hình vẽ
- Nhiệm vụ:
Giả sử trong trò chơi Đoán số, không ai được đoán quá 7 lần. Em hãy gỡ lỗi chương trình trò chơi Đoán số trong Hình 15.4 (đã được bổ sung chức năng thông báo người chơi thua cuộc nếu vẫn đoán sai ở lần thứ 7).
- Hình 15.4 (- Nhiệm vụ)
Ảnh
- Hướng dẫn (3. Thực hành: Sử dụng hằng, biến, biểu thức trong chương trình)
Ảnh
Hướng dẫn:
Ảnh
+ Bước 1. Chạy thử chương trình
a. Kiểm thử và phát hiện lỗi
Với tình huống đoán đúng số bí mật sau không quá 7 lần đoán, thông báo hiển thị số lần đoán không xuất hiện cụm từ "Số lần đoán:" như trong chương trình.
Với tình huống đoán sai, chương trình không kết thúc và báo thua ngay sau khi đoán sai lần thứ 7 mà vẫn cho đoán thêm một lần nữa.
+ Bước 2 (a. Kiểm thử và phát hiện lỗi)
Ảnh
Ảnh
Hướng dẫn:
+ Bước 2. Phát hiện lỗi
Trong tình huống 1, lỗi xảy ra ở câu lệnh hiển thị. Phép toán ghép nối các chữ là "kết hợp..." chứ không phải dấu "+".
Trong tình huống 2, 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. Ngoài ra, sau 7 lần đoán, vẫn có thể xảy ra cả hai khả năng đoán đúng hoặc đoán sai. Vì vậy, số lần đoán không cho biết kết quả đoán đúng hay sai.
b. Sửa các lỗi phát hiện được
Ảnh
Hướng dẫn:
Ảnh
- Điều kiện trong câu lệnh (6) cần đổi thành
b. Sửa các lỗi phát hiện được
Ảnh
- Điều kiện rẽ nhánh ở lệnh (11) cần được chỉnh sửa thành
Ảnh
+ tiếp (b. Sửa các lỗi phát hiện được)
Ảnh
Hướng dẫn:
- Sửa biểu thức trong lệnh hiển thị (14). Khi đó, các lệnh (11) đến (14) như Hình 15.5.
Ảnh
Luyện tập
- Luyện tập
Ảnh
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.
- Luyện tập:
Vận dụng
- Vận dụng
Ảnh
- Vận dụng
Đổ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 đó.
Dặn dò
- Dặn dò
Ảnh
Dặn dò:
Ôn lại bài vừa học. Làm bài tập về nhà trong SBT. Chuẩn bị bài sau: "Bài 16. Tin học với nghề nghiệp".
- Cảm ơn
Ảnh
 
↓ CHÚ Ý: Bài giảng này được nén lại dưới dạng ZIP và có thể chứa nhiều file. Hệ thống chỉ hiển thị 1 file trong số đó, đề nghị các thầy cô KIỂM TRA KỸ TRƯỚC KHI NHẬN XÉT ↓
Các ý kiến mới nhất