Giải bài tập Tin học lớp 10 Bài 16: Kiểm thử và gỡ lỗi chương trình
Khởi động trang 110 Tin học lớp 10: Có những chương trình còn lỗi vì khi thực hiện cho ra kết qua sai. Theo em, việc biết giá trị của một số biến ngay sau khi mỗi câu lệnh được thực hiện có thể giúp tìm ra lỗi của chương trình hay không?
Trả lời:
Theo em, việc biết giá trị của một số biến ngay sau khi mỗi câu lệnh được thực hiện có thể giúp tìm ra lỗi của chương trình.
1. Lỗi trong chương trình và kiểm thử
Hoạt động 1 trang 110 Tin học 10: Trong những phần trước, các bài tập và bài thực hành không quá phức tạp. Đã lần nào em soạn chương trình và thực hiện được ngay từ lần đầu tiên chưa?
Trả lời:
Với các bài tập, có bài lần đầu tiên thực hiện chương trình sẽ không chạy được do lỗi
2. Truy vết với cách bổ sung câu lệnh theo dõi kết quả trung gian
Hoạt động 2 trang 112 Tin học 10: Tại sao rất khó phát hiện lỗi nếu chỉ dùng biện pháp đọc kĩ lại chương trình?
Trả lời:
Nếu chỉ đọc kĩ lại chương trình, em thường chỉ phát hiện được lỗi sai cú pháp, mà không phát hiện được lỗi do thuật toán và thường áp dụng cho các chương trình ngắn, đơn giản, và mất khá nhiều thời gian mới có thể phát hiện lỗi,…
Vận dụng (trang 116)
Vận dụng trang 116 Tin học 10: Em hãy soạn thảo chương trình dưới đây, sau đó áp dụng biện pháp theo dõi từng bước thực hiện chương trình để quan sát sự thay đổi của các biến
Trả lời:
s = 0
for i in range(1, 4):
s = s + i * i
print(s)
print(“s = “, s)
Ta có thể thêm câu lệnh print(s) để theo dõi kết quả của s ra màn hình.
Bước 1:
Bước 2:
Bước 3:
Bước 4:
Câu hỏi tự kiểm tra
Câu 1 trang 116 Tin học 10: Em hãy nêu một vài lỗi thuộc nhóm lỗi cú pháp và một vài lỗi thuộc nhóm lỗi ngữ nghĩa.
Trả lời:
Lỗi cú pháp: thừa dấu ngoặc, thiếu dấu hai chấm trong câu điều kiện if, viết sai từ khoá else,…
Lỗi ngữ nghĩa: Viết nhầm dấu phép tính, gọi sai tên biến, gọi chỉ số của phần tử danh sách vượt quá phạm vi,…
Câu 2 trang 116 Tin học 10: Tại sao phải tạo nhiều bộ dữ liệu vào khác nhau để kiểm thử chương trình?
Trả lời:
Các lỗi ngữ nghĩa thì khó phát hiện hơn, chỉ có thể đoán nhận và tìm thấy thông qua quan sát kết quả thực hiện chương trình với các bộ dữ liệu khác nhau.
Câu 3 trang 116 Tin học 10: Có bao nhiêu nhóm dữ liệu khác nhau cần tạo ra để kiểm thử chương trình?
Trả lời:
Có 3 nhóm dữ liệu khác nhau:
– Kiểm thử những trường hợp thường gặp trong thực tế
– Kiểm thử những trường hợp đặc biệt
– Kiểm thử những trường hợp tham số nhận giá trị lớn nhất có thể.
Câu 4 trang 116 Tin học 10: Có thể xem giá trị các biến sau khi thực hiện một câu lệnh ở đâu?
Trả lời:
Ta có thể sử dụng công cụ Debugger sau đó chọn Step để thực hiện từng bước các câu lệnh, quan sát giá trị các biến. Hoặc ta cũng có thể chèn thêm các câu lệnh print để in ra giá trị của các biến.
Xem thêm các bài giải SGK Tin học lớp 10 Cánh diều hay, chi tiết khác:
Bài 15: Thực hành với kiểu dữ liệu danh sách
Bài 17: Thực hành lập trình giải bài toán trên máy tính
Bài 18: Lập trình giải quyết bài toán trên máy tính
Bài 1: Nhóm nghề thiết kế và lập trình