5 phút giải Tin học 8 Chân trời sáng tạo trang 95

5 phút giải Tin học 8 Chân trời sáng tạo trang 95. Giúp học sinh nhanh chóng, mất ít thời gian để giải bài. Tiêu chi bài giải: nhanh, ngắn, súc tích, đủ ý. Nhằm tạo ra bài giải tốt nhất. 5 phút giải bài, bằng ngày dài học tập.

BÀI 15. GỠ LỖI CHƯƠNG TRÌNH

PHẦN I. HỆ THỐNG CÂU HỎI, BÀI TẬP TRONG SGK

KHỞI ĐỘNG

Để so sánh hai số a, b được nhập từ bàn phím, một bạn đã tạo chương trình ở Hình 1. Khi nháy chuột vào nút GoĐể so sánh hai số a b được nhập từ bàn phím một bạn đã tạo chương trình chương trình không hoạt động. Bạn đã phát hiện được lỗi và chỉnh sửa thành chương trình ở Hình 2. Khi thực hiện chương trình ở Hình 2 và nhập giá trị a, b đều là 5, chương trình đưa ra kết quả sai (xem Hình 3).

Hãy thảo luận với bạn và cho biết:

- Tại sao chương trình ở Hình 1 không hoạt động?

- Tại sao chương trình ở Hình 2 đưa ra kết quả sai khi nhập cặp số a, b là (5;5)?

Để so sánh hai số a b được nhập từ bàn phím một bạn đã tạo chương trình

1. PHÁT HIỆN VÀ PHÂN LOẠI LỖI   

Làm: 

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.

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.

2. GỠ LỖI

Làm: 

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:

  1. 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?

  2. 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?

  3. Nguyên nhân gây ra lỗi này là gì?

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?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?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?

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. 

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.

LUYỆN TẬP

Luyện tập 1: Thế nào là lỗi cú pháp, lỗi logic?

Luyện tập 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.

  1. 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.

  2. Tìm câu lệnh, cấu trúc điều khiển gây ra lỗi.

  3. Thực hiện chương trình với các bộ dữ liệu thử.

  4. Sửa lỗi cho chương trình.

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

Luyện tập 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.

Luyện tập 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?

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?

THỰC HÀNH

Thực hành 1: Tạo chương trình ở Hình 2, thực hiện kiểm thử, gỡ lỗi để chương trình đưa ra kết quả đúng với mọi cặp số a, b.

Thực hành 2: Thực hành theo các yêu cầu sau:

  1. Tạo chương trình ở Hình 4.

  2. Chạy thử chương trình với các bộ dữ liệu thử em đã đề xuất ở hoạt động Làm của Mục 1 để phát hiện lỗi chương trình.

  3. Thực hiện gỡ lỗi để chương trình tính đúng nghiệm của phương trình ax + b = 0 với mọi cặp số a, b.

Thực hành 3: Tạo chương trình ở Hình 7. Thực hiện kiểm thử, gỡ lỗi để chương trình đưa ra đúng tổng của 10 số được nhập từ bàn phím.

VẬN DỤNG

Em hãy thực hành kiểm thử, gỡ lỗi cho các chương trình em đã tạo ở các Bài 12, 13, 14. Trao đổi với bạn về những lỗi đã được em phát hiện, sửa chữa.

PHẦN II. 5 PHÚT TRẢ LỜI CÂU HỎI, BÀI TẬP SGK

KHỞI ĐỘNG

Đáp án KD

Chương trình 1 có lỗi cú pháp, câu lệnh 2, 3 không khớp nối với câu lệnh 1, 4.

Chương trình 2 có lỗi logic, a = b thuộc trường hợp a > b sai nên chương trình đưa ra thông báo sai khi nhập hai số a, b bằng nhau.

1. PHÁT HIỆN VÀ PHÂN LOẠI LỖI   

Đáp án L: 

  • Bộ dữ liệu thử: a = 0, b bất kì.
  • Lỗi ở chương trình 4 thuộc loại lỗi logic.

2. LẶP VỚI SỐ LẦN CHƯA BIẾT TRƯỚC

Đáp án L: 

1. 

a) 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à: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âu lệnh liên quan đến lỗi là: 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: lỗi logic vì phép chia cho 0 là không xác định.

2.

  • 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

Đáp án LT1

  • 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. 
  • 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. 

Đáp án LT2: A ® C ® B ® E ® D.

Đáp án LT3: C

Đáp án LT4: Chương trình đưa 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ị S trở lại thành 0 sau mỗi lần lặp. 

THỰC HÀNH

Đáp án TH1:

  • Chương trình đưa ra kết quả sai khi giá trị a, b bằng nhau.
  • Gỡ lỗi: 

Tạo chương trình ở Hình 2, thực hiện kiểm thử, gỡ lỗi để chương trình đưa ra kết quả đúng với mọi cặp số a, b.

Đáp án TH2:

a) HS tạo chương trình như sau: 

Thực hành theo các yêu cầu sau:  a) Tạo chương trình ở Hình 4.  b) Chạy thử chương trình với các bộ dữ liệu thử em đã đề xuất ở hoạt động Làm của Mục 1 để phát hiện lỗi chương trình.  c) Thực hiện gỡ lỗi để chương trình...

b) Chạy thử với bộ dữ liệu thử: a = 0, b = 2 và a = 0, b = 0.

c) Gỡ lỗi: 

Thực hành theo các yêu cầu sau:  a) Tạo chương trình ở Hình 4.  b) Chạy thử chương trình với các bộ dữ liệu thử em đã đề xuất ở hoạt động Làm của Mục 1 để phát hiện lỗi chương trình.  c) Thực hiện gỡ lỗi để chương trình...

Đáp án TH3:

  • HS tự thực hiện tạo chương trình như sau và tiến hành kiểm thử.

Tạo chương trình ở Hình 7. Thực hiện kiểm thử, gỡ lỗi để chương trình đưa ra đúng tổng của 10 số được nhập từ bàn phím.

  • Gỡ lỗi: Chuyển lệnh gán giá trị ban đầu S = 0 ra khỏi điều kiện lặp.

Tạo chương trình ở Hình 7. Thực hiện kiểm thử, gỡ lỗi để chương trình đưa ra đúng tổng của 10 số được nhập từ bàn phím.

VẬN DỤNG

Đáp án VD: 

HS tự tiến hành thực hiện.

Nội dung quan tâm khác

Thêm kiến thức môn học

Từ khóa tìm kiếm:

giải 5 phút Tin học 8 Chân trời sáng tạo, giải Tin học 8 Chân trời sáng tạo trang 95, giải Tin học 8 CTST trang 95

Bình luận

Giải bài tập những môn khác