Tin học 8 Bài 15: Gỡ lỗi chương trình - Chân trời sáng tạo

Tin học 8 Bài 15: Gỡ lỗi chương trình Chân trời sáng tạo được biên soạn dưới dạng file PDF cho học sinh tham khảo, ôn tập đầy đủ kiến thức đẻ chuẩn bị tốt cho kỳ thi sắp tới. Mời bạn đọc đón xem.

Khám phá Tin hc 8 Bài 15
1. Phát hin và phân loi li
Câu hi: Tìm hiểu đề xut b d liu th để phát hin lỗi chương trình Hình 4.
Theo em lỗi chương trình ở Hình 4 thuc loi nào.
Gi ý đáp án
- B d liu th: a = 0, b bt kì.
- Theo em li chương trình 4 thuộc loi li logic.
2. G li
Câu hi 1:
Hình 6 là kết qu kim th chương trình Hình 4. Em hãy quan sát Hình 6 và cho biết:
a) Li đưc phát hin khi thc hiện chương trình với nhng b d liu nào?
b) Câu lnh nào trc tiếp to ra li? Câu lệnh nào liên quan đến li?
c) Nguyên nhân gây ra li này là gì?
Gi ý đáp án
a) Lỗi được phát hin khi thc hiện chương trình vi b d liu Hình 6b: a = 0, b = 2
và Hình 6c: a = 0, b = 0.
b) Câu lnh trc tiếp to ra li là:
Câu lệnh liên quan đến li là:
c) Nguyên nhân gây ra li này là: li logic vì phép chia cho 0 là không xác định.
Câu hi 2
Em y lp các câu lnh, khi lnh ct n phi vào v tthích hp trong cu trúc
điều khin cột bên trái đ tạo thành chương trình tính đúng nghim của phương trình
ax + b = 0. Bng 1.
Gi ý đáp án
Cách 1: 1 - b, 2 - a, 3 - d, 4 - e, 5 - c.
Cách 2: 1 - d, 2 - e, 3 - b, 4 - a, 5 - c.
Luyn tp Tin hc 8 Bài 15
Câu hi 1
Thế nào là li cú pháp, li logic?
Gi ý đáp án
Li pháp li do viết chương trình, câu lệnh sai pháp dẫn đến chương trình
không hoạt động. Hu hết các ngôn ng lập trình đều công c h tr hn chế, phát
hin li cú pháp.
Li logic li xy ra trong trường hợp chương trình hoạt động nhưng đưa ra kết qu
sai. S dng b d liu th cách thường được s dụng để phát hin li logic trong
chương trình.
Câu hi 2
Hãy sp xếp các việc dưới đây theo trình tự để phát hin, g lỗi chương trình.
A. Xây dng b d liu th vi các tình hung có th xy ra khi đưa chương trình vào
s dng.
B. Tìm câu lnh, cu trúc điều khin gây ra li.
C. Thc hiện chương trình với các b d liu th.
D. Sa lỗi cho chương trình.
E. Xác đnh nguyên nhân gây li.
Gi ý đáp án
A → C → B → E → D.
Câu hi 3
Nhng phát biu nào sau đây là sai khi nói về việc xác định v trí, nguyên nhân gây li?
A. Cn tp trung xem xét câu lnh, cấu trúc điều khin trc tiếp to ra li hay liên
quan đến li.
B. Xem xét lưỡng, c th hoạt động ca câu lnh, cấu trúc điều khin to ra li hay
liên quan đến li trong tình hung phát sinh li.
C. Người lp trình không cn s dụng tư duy logic của bản thân để phân tích, suy lun
nguyên nhân gây ra li.
D. Khi cn thiết, ta th b sung mt s câu lệnh để theo dõi s thay đổi giá tr ca
các biến, kết qu thc hin câu lnh, cấu trúc điu khiển nào đó, từ đó giúp xác định v
trí, nguyên nhân gây ra li d dàng, nhanh chóng hơn.
Gi ý đáp án
Đáp án C.
Câu hi 4
Hình 7 chương trình một bạn đã tạo vi mục đích tính thông báo tổng ca 10 s
được nhp t bàn phím. Theo em, khi thc hiện, chương trình y đưa ra kết qu
như bạn mong mun hay không? Ti sao?
Gi ý đáp án
Theo em khi thc hiện chương trình này không ra kết qu như mong muốn vì khi khi
to giá tr ban đầu cho biến S 0 trong điều kin lp khiến cho giá tr ca S tr li
thành 0 sau mi ln lặp. Điều này dẫn đến kết qu sai.
| 1/3

Preview text:


Khám phá Tin học 8 Bài 15
1. Phát hiện và phân loại lỗi
Câu hỏi: Tìm hiểu và đề xuất bộ dữ liệu thử để phát hiện lỗi chương trình ở Hình 4.
Theo em lỗi chương trình ở Hình 4 thuộc loại nào. Gợi ý đáp án
- Bộ dữ liệu thử: a = 0, b bất kì.
- Theo em lỗi ở chương trình 4 thuộc loại lỗi logic. 2. Gỡ lỗi Câu hỏi 1:
Hình 6 là kết quả kiểm thử chương trình ở Hình 4. Em hãy quan sát Hình 6 và cho biết:
a) Lỗi được phát hiện khi thực hiện chương trình với những bộ dữ liệu nào?
b) Câu lệnh nào trực tiếp tạo ra lỗi? Câu lệnh nào liên quan đến lỗi?
c) Nguyên nhân gây ra lỗi này là gì? Gợi ý đáp án
a) Lỗi được phát hiện khi thực hiện chương trình với bộ dữ liệu Hình 6b: a = 0, b = 2 và Hình 6c: a = 0, b = 0.
b) Câu lệnh trực tiếp tạo ra lỗi là:
Câu lệnh liên quan đến lỗi là:
c) Nguyên nhân gây ra lỗi này là: lỗi logic vì phép chia cho 0 là không xác định. Câu hỏi 2
Em hãy lắp các câu lệnh, khối lệnh ở cột bên phải vào vị trí thích hợp trong cấu trúc
điều khiển ở cột bên trái để tạo thành chương trình tính đúng nghiệm của phương trình ax + b = 0. Bảng 1. Gợi ý đáp án
Cách 1: 1 - b, 2 - a, 3 - d, 4 - e, 5 - c.
Cách 2: 1 - d, 2 - e, 3 - b, 4 - a, 5 - c.
Luyện tập Tin học 8 Bài 15 Câu hỏi 1
Thế nào là lỗi cú pháp, lỗi logic? Gợi ý đáp án
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. Câu hỏi 2
Hãy sắp xếp các việc dưới đây theo trình tự để phát hiện, gỡ lỗi chương trình.
A. Xây dựng bộ dữ liệu thử với các tình huống có thể xảy ra khi đưa chương trình vào sử dụng.
B. Tìm câu lệnh, cấu trúc điều khiển gây ra lỗi.
C. Thực hiện chương trình với các bộ dữ liệu thử.
D. Sửa lỗi cho chương trình.
E. Xác định nguyên nhân gây lỗi. Gợi ý đáp án A → C → B → E → D. Câu hỏi 3
Những phát biểu nào sau đây là sai khi nói về việc xác định vị trí, nguyên nhân gây lỗi?
A. Cần tập trung xem xét câu lệnh, cấu trúc điều khiển trực tiếp tạo ra lỗi hay liên quan đến lỗi.
B. 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 tạo ra lỗi hay
liên quan đến lỗi trong tình huống phát sinh lỗi.
C. Người lập trình không cần sử dụng tư duy logic của bản thân để phân tích, suy luận nguyên nhân gây ra lỗi.
D. Khi cần thiết, ta có thể bổ sung một số 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 đó, từ đó giúp xác định vị
trí, nguyên nhân gây ra lỗi dễ dàng, nhanh chóng hơn. Gợi ý đáp án Đáp án C. Câu hỏi 4
Hình 7 là chương trình một bạn đã tạo với mục đích tính và thông báo tổng của 10 số
được nhập từ bàn phím. Theo em, khi thực hiện, chương trình này có đưa ra kết quả
như bạn mong muốn hay không? Tại sao? Gợi ý đáp án
Theo em khi thực hiện chương trình này không ra kết quả như mong muốn vì khi khởi
tạo giá trị ban đầu cho biến S là 0 trong điều kiện lặp khiến cho giá trị của S trở lại
thành 0 sau mỗi lần lặp. Điều này dẫn đến kết quả sai.