Dễ hiểu giải Tin học 11 Cánh diều KHMT bài 6 Kiểm thử và sửa lỗi chương trình

Giải dễ hiểu bài 6 Kiểm thử và sửa lỗi chương trình. Trình bày rất dễ hiểu, nên tiếp thu Tin học 11 KHMT Cánh diều dễ dàng. Học sinh nắm được kiến thức và biết suy rộng ra các bài tương tự. Thêm 1 dạng giải mới để mở rộng tư duy. Danh mục các bài giải trình bày phía dưới


Nếu chưa hiểu - hãy xem: => Lời giải chi tiết ở đây

CHỦ ĐỀ FCS: GIẢI QUYẾT VẤN ĐỀ VỚI SỰ TRỢ GIÚP CỦA MÁY TÍNH

BÀI 6 KIỂM THỬ VÀ SỬA LỖI CHƯƠNG TRÌNH

KHỞI ĐỘNG

Câu 1: Theo em, tại sao rất ít khi viết chương trình xong có thể chạy được ngay?

Giải nhanh:

Bởi vì chương trình vừa viết xong còn lỗi và chưa được sửa 

3. MỘT SỐ KINH NGHIỆM THỰC HÀNH GỠ LỖI CHƯƠNG TRÌNH

Câu 1: Hãy cho một số ví dụ ca kiểm thử:

  1. Chương trình giải phương trình bậc hai.
  2. Chương trình tính đếm (tính tổng, tính trung bình cộng...) các số dương trong một mảng số thực.

Giải nhanh:

a) Gợi ý: Ý tưởng

  • Dùng một vòng do while để nhập a, b, c nếu a = 0, thì nhập lại.
  • Dùng hàm sqrt() để tính căn delta hoặc tính căn không dùng hàm sqrt().
  • Tạo hàm giai PT trả về kiểu int chính là số nghiệm của phương trình (1).
  • Đưa tham chiếu 2 biến x1 , x2 vào hàm giaiPT để gán giá trị hai nghiệm.
  • Nếu pt (1) vô nghiện thì giaiPT sẽ trả về 0 , đồng thời gán x1 = x2 =0 .
  • Nếu pt (1) có nghiệm kép thì giaiPT sẽ trả về 1, đồng thời gán x1 = x2 = -b/2a.
  • Nếu pt (1) có 2 nghiệm thì giaiPT sẽ trả về 2, gán x1 = (-b+√Δ )/2a, x2 = (-b-√Δ)/2a.

b) Ví dụ:

  • Đầu vào: Mảng số thực arr = [-3.5, 2.0, 7.5, -1.2, 4.8]
  • Mô tả: Mảng chứa các số thực gồm cả số âm và số dương.
  • Kết quả mong đợi:
  • Tổng các số dương: 2.0 + 7.5 + 4.8 = 14.3
  • Trung bình cộng các số dương: 14.33 = 4.7667 (làm tròn đến 4 chữ số thập phân)

LUYỆN TẬP

Câu 1: Có các loại lỗi chương trình nào? Nguyên nhân gây ra loại lỗi đó có thể là gì?

Giải nhanh:

Lỗi cú pháp, lỗi thực thi, lỗi logic

Câu 2: Hãy nêu một vài thói quen lập trình tốt để chương trình ít lỗi và dễ gỡ lỗi.

Giải nhanh:

  • Đặt tên biến và hàm rõ ràng và mô tả đúng chức năng của chúng.
  • Sử dụng các lời gọi hàm phù hợp để tái sử dụng mã.
  • Đặt các phần của mã trong các hàm và lớp để dễ dàng tái sử dụng và kiểm thử.

VẬN DỤNG

Câu 1: Em hãy liệt kê một số ca kiểm thử cho chương trình:

  1. Tìm số x trong một dãy số (đã cho cụ thể).
  2. Sắp xếp một dãy số.

Giải nhanh:

a) Ví dụ:

  • Đầu vào:
  • Dãy số: arr = [3, 8, 15, 23, 42]
  • Số cần tìm: x = 15
  • Mô tả: Chương trình sẽ tìm kiếm số x trong dãy số đã cho.
  • Kết quả mong đợi:
  • Vị trí của số x trong dãy: 2 (hoặc 3 nếu chỉ số bắt đầu từ 1)
  • Xác nhận rằng số x = 15 có trong dãy.

b) Ví dụ:

  • Đầu vào: Dãy số chưa sắp xếp: arr = [42, 3, 15, 8, 23]
  • Mô tả: Chương trình sẽ sắp xếp các phần tử trong dãy số theo thứ tự tăng dần.
  • Kết quả mong đợi: Dãy số sau khi sắp xếp: [3, 8, 15, 23, 42]

CÂU HỎI TỰ KIỂM TRA

Câu 1: Tại sao nói kiểm thử chương trình làm tăng độ tin cậy của chương trình nhưng chưa chứng minh được chương trình đã hết lỗi?

Giải nhanh:

Vì kiểm thử chương trình đảm bảo chương trình hoạt động đúng như mong đợi và giảm thiểu lỗi có thể xảy ra. Tuy nhiên, kiểm thử không thể đảm bảo rằng chương trình đã hết lỗi vì không thể kiểm thử tất cả các trường hợp có thể xảy ra. 

Câu 2: Nên làm gì mỗi khi nghi ngờ một chức năng nào đó của chương trình chưa chắc đúng như ta mong muốn?

Giải nhanh:

Biện pháp:

  • Xác định chính xác vấn đề.
  • Lặp lại thao tác để kiểm tra.
  • Kiểm tra lại mã.
  • Sử dụng công cụ gỡ lỗi.
  • Tìm kiếm sự trợ giúp từ người có chuyên môn.
  • Tìm kiếm tài liệu.

Nếu chưa hiểu - hãy xem: => Lời giải chi tiết ở đây

Nội dung quan tâm khác

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

Bình luận

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