OPTADS360
ATNETWORK
RANDOM
ON
YOMEDIA
Banner-Video
IN_IMAGE

Tin học 8 Cánh diều Chủ đề F Bài 6: Thực hành tìm và sửa lỗi


Mời các em tham khảo Bài 6: Thực hành tìm và sửa lỗi, qua đó các em sẽ nêu được một vài lỗi đã từng gặp khi lập trình thực hiện được chia nhỏ công việc để tìm ra lỗi và sửa được lỗi trong một vài chương trình Scratch. HOC247 kỳ vọng rằng các em sẽ có thể tích luỹ được nhiều kiến thức hay thông qua chương trình Tin học 8 Cánh diều.

AMBIENT-ADSENSE/lession_isads=0
QUẢNG CÁO
 
 
 

Tóm tắt lý thuyết

Chương trình hay một khối lệnh nào đó có thể không thực hiện đúng những gì người tạo ra nó mong muốn. Việc tìm nguyên nhân và sửa chữa các lỗi này được gọi là gỡ lỗi (debug). Đây là những hoạt động cần thiết trong lập trình, không chỉ với ngôn ngữ Scratch, mà với bất kì ngôn ngữ lập trình nào khác.

Khi gặp lỗi trong chương trình Scratch, em có thể dùng một số cách để tìm và gỡ lỗi như sau:

– Đọc và kiểm tra chương trình.

– Thử đặt minh vào vị trí máy tinh, khi nhận được những lệnh, khối lệnh như trong chương trình thì sẽ làm gì.

– Tách nhỏ từng phần kiểm tra xem chúng có hoạt động đúng như mong muốn không, sửa chữa nếu có lỗi, chạy thử trước và cả sau khi ghép các khối đã chạy đúng ý muốn.

 

Bài thực hành. Tìm và sửa lỗi một chương trình tính giá trị của biểu thức

Nhiệm vụ: Bạn Ngọc tạo chương trình như ở Hình 1a (được lưu trong tệp Bai6_ThucHanh2.sb3) để giúp nhân vật Mèo thực hiện phép tính và đưa ra kết quả của biểu thức sau:

\(T=\frac{1}{2}+\frac{1}{3}+\frac{1}{4}+...+\frac{1}{100}\)

Tuy nhiên khi chạy chương trình, nhân vật Mèo không thông báo kết quả nào. Em hãy giúp bạn Ngọc:

- Xác định nguyên nhân gây lỗi.

– Chỉnh sửa chương trình (Hình 1) để nhân vật Mèo đưa ra kết quả đúng.

 

Hướng dẫn

a) Hãy chạy thử, quan sát và trả lời các câu hỏi sau:

- Khi chạy thử chương trình, em thấy nhân vật Mèo thực hiện được đến những bước nào? Lệnh đó có được thực hiện đúng như mong muốn không?

– Bắt đầu từ khối lệnh nào, chương trình gặp phải sự cổ không mong muốn?

- Quan sát biến T trong màn hình khi gặp lỗi và biến n chạy tới giá trị âm, em nghĩ tới lỗi có thể xảy ra ở đâu?

b) Em cũng có thể thêm các khối lệnh kèm độ trễ đưa ra kết quả của từng bước lặp để xác định bước nào gây lỗi:

 

 

c) Chương trình bạn Ngọc đã viết nhằm thực hiện ba công việc sau:

1. Giới thiệu phép toán; 2. Thực hiện tính toán; 3. Đưa ra kết quả.

Nhằm xác định lỗi một cách dễ dàng hơn, hãy thực hiện tách ba khối lệnh tương ứng với ba công việc nói trên như ở Hình 2a, 2b, 2c, chạy thử từng khối. Kết quả nhận được là:

– Khối lệnh Giới thiệu phép toán không gây lỗi gì.

– Hai khối lệnh Thực hiện tính toánĐưa ra kết quả không thực hiện đúng như mong muốn.

 

 

Khi chạy khối lệnh Thực hiện tính toán, ta thấy chương trình báo lỗi T=infinity (vô cùng), đây là lỗi thực hiện phép chia cho 0. Ngoài ra còn một số phát hiện sau:

- Lệnh giảm n được thực hiện trước nên sẽ bị thiếu mất số hạng \(\frac{1}{100}\). Để sửa chỗ nảy, ta cần thêm vào T giá trị \(\frac{1}{n}\) trước khi giảm n, đồng thời tránh lỗi chia cho 0. Như

vậy, cần đổi lệnh cộng thêm cho T lên trước lệnh giảm n.

- Để tính giá trị biểu thức, trong vòng lặp biển n giảm dần giá trị. Trước khi đạt điều kiện \(n < 1\), thì n có giá trị bằng 1, khối lệnh trong vòng lặp vẫn được thực hiện với việc T nhận thêm giá trị \(\frac{1}{1}\). Nhưng trong biểu thức không có số hạng \(\frac{1}{1}\) mà chỉ có \(\frac{1}{2}\) là số hạng cuối cùng được thêm vào T. Do vậy, điều kiện của vòng lắp phải là \(n<2\) thì khối lệnh mới tỉnh đúng giá trị biểu thức ban đầu.

- Khi thực hiện khối lệnh Đưa ra kết quả, ta chỉ thấy được kết quả ở lệnh cuối cùng. Để sửa lỗi này, ta cần thêm thời gian chờ để nhìn thấy kết quả hiển thị ở các lệnh phía trên.

VIDEO
YOMEDIA
Trắc nghiệm hay với App HOC247
YOMEDIA
ADMICRO

2. Luyện tập Bài 6 Chủ đề F Tin học 8 Cánh diều

Học xong bài này, em sẽ:

- Nêu được một vài lỗi đã từng gặp khi lập trình.

- Thực hiện được chia nhỏ công việc để tìm ra lỗi.

- Tìm và sửa được lỗi trong một vài chương trình Scratch.

2.1. Trắc nghiệm Bài 6 Chủ đề F Tin học 8 Cánh diều

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 Cánh diều Chủ đề F Bài 6 cực hay có đáp án và lời giải chi tiết.

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é!

2.2. Bài tập Bài 6 Chủ đề F Tin học 8 Cánh diều

Các em có thể xem thêm phần hướng dẫn Giải bài tập Tin học 8 Cánh diều Chủ đề F Bài 6 để 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.

Đang cập nhật câu hỏi và gợi ý làm bài.

3. Hỏi đáp Bài 6 Chủ đề F Tin học 8 Cánh diều

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

NONE
OFF