Giải bài tập tin học lớp 11 định hướng KHMT kết nối tri thức bài 23 Kiếm thử và đánh giá chương trình

Giải bài 23 Kiểm thử và đánh giá chương trình tin học lớp 11 kết nối tri thức. Phần đáp án chuẩn, hướng dẫn giải chi tiết cho từng bài tập có trong chương trình học của sách giáo khoa. Hi vọng, các em học sinh hiểu và nắm vững kiến thức bài.

Bài tập và hướng dẫn giải

Khởi động

Câu hỏi:  Làm thế nào để biết trong các thuật toán giải cùng một bài toán thì thuật toán nào là tốt nhất?  Có những tiêu chí nào để đánh giá tính “tối ưu” của một thuật toán?

Trả lời: Cách làm:1. Xác định các thuật toán cùng giải một bài toán.2. Thực hiện phân tích độ phức tạp của... Xem hướng dẫn giải chi tiết

1. Vai trò của kiểm thử chương trình

Hoạt động 1: Tìm hiểu ý nghĩa của kiểm thử chương trình

Ở lớp 10, em đã học một số phương pháp kiểm thử chương trình. Em hãy thảo luận với các bạn về các phương pháp kiểm thử sau, nêu ý nghĩa của chúng trong việc đánh giá độ tin cậy và chứng minh tính đúng của chương trình:

1.Tạo các bộ dữ liệu kiểm thử (test) để kiểm tra dữ liệu đầu ra có chính xác hay không.

2.Thiết lập điểm dừng hoặc cho chương trình chạy theo từng lệnh để kiểm tra và tìm ra lỗi (bug) của chương trình.

3.Thực hiện in dữ liệu trung gian trong quá trình kiểm thử để tìm ra lỗi của chương trình (nếu có).

Trả lời: Cách làm: - Đọc và hiểu câu hỏi đưa ra.- Phân tích ý nghĩa của các phương pháp kiểm thử được nêu... Xem hướng dẫn giải chi tiết

Câu hỏi 1. Giả sử em thiết lập chương trình giải bài toán nào đó. Em đã kiếm thử với 10 bộ dữ liệu và tất cả các kết quả đều đúng. Khi đó có thể kết luận chương trình đó đúng hay chưa?

Trả lời: Cách làm:1. Xác định bài toán cần giải.2. Thiết lập chương trình để giải bài toán đó.3. Kiểm thử... Xem hướng dẫn giải chi tiết

Câu hỏi 2. Giả sử một chương trình kiểm thử với 10 bộ dữ liệu cho kết quả 9 lần đúng, 1 lần sai. Chương trình đó là sai hay đúng?

Trả lời: Để trả lời câu hỏi trên, ta có thể làm như sau:1. Phân tích kết quả kiểm thử: Dựa trên 10 bộ dữ liệu... Xem hướng dẫn giải chi tiết

2. Kiểm tra tính đứng đắn của chương trình

Hoạt động 2: Tìm hiểu cách kiểm tra tính đúng của chương trình

Quan sát chương trình mô tả thuật toán sắp xếp chèn. Hãy thảo luận và đưa ra các lập luận để kiểm tra tính đúng của thuật toán sắp xếp chèn.

Trả lời: Để kiểm tra tính đúng của thuật toán sắp xếp chèn, chúng ta có thể thực hiện các cách sau:1. Sử dụng... Xem hướng dẫn giải chi tiết

Câu hỏi 1. Chương trình sau giải bài toán: Yêu cầu nhập số tự nhiên n và tính tổng 1 + 2 +n. Chương trình trên có đúng không?

Trả lời: Để giải bài toán này, ta có thể sử dụng vòng lặp for để tính tổng các số từ 1 đến n. Dưới đây là... Xem hướng dẫn giải chi tiết

Câu hỏi 2. Chương trinh sau giải bài toán đếm số các ước số thực sự của số tự nhiên n. Chương trình trên đúng hay sai.

Trả lời: Để giải bài toán đếm số các ước số thực sự của số tự nhiên n, ta có thể sử dụng chương trình... Xem hướng dẫn giải chi tiết

3. Đánh giá hiệu quả chương trình

Hoạt động 3: Những tiêu chí đánh giá tính hiệu quả của chương trình

Thảo luận về các tiêu chí đánh giá tính hiệu quả của thuật toán hay chương trình giải một bài toán.

1.Tiêu chí quan trọng nhất là thời gian chạy chương trình phải nhanh, không cần quan tâm đến không gian bộ nhớ sử dụng của chương trình.

2.Tiêu chí tiết kiệm bộ nhớ là quan trọng nhất, sau đó mới đến thời gian chạy chương trình.

3.Các tiêu chí 1 và 2 không quan trọng mà quan trọng là chương trình được viết một cách đơn giản, rõ ràng, dễ hiểu và áp dụng.

Trả lời: Câu trả lời cho câu hỏi trên:Các tiêu chí đánh giá tính hiệu quả của một thuật toán hay chương trình... Xem hướng dẫn giải chi tiết

Câu hỏi: Hai tiêu chỉ đánh giá độ phức tạp tính toán quan trọng nhất là gì?

Trả lời: Để giải câu hỏi trên, ta có thể thực hiện theo các bước sau:1. Xác định hai tiêu chí đánh giá độ... Xem hướng dẫn giải chi tiết

Luyện tập

Câu hỏi 1. Hãy xây dựng các bộ dữ liệu kiểm thử đề tìm lỗi cho chương trình tính n! với n là một số nguyên dương nhập từ bàn phím.

Trả lời: Để xây dựng các bộ dữ liệu kiểm thử đề tìm lỗi cho chương trình tính n!, ta cần xác định các trường... Xem hướng dẫn giải chi tiết

Câu hỏi 2: Xét hàm mô tả thuật toán tính tổng các số chẵn của một dãy số cho trước. Tìm hai bộ dữ liệu đầu vào có cùng kích thước của thuật toán trên nhưng có thời gian chạy khác nhau.

Trả lời: Để trả lời cho câu hỏi trên, bạn cần làm như sau:1. Xây dựng thuật toán tính tổng các số chẵn trong... Xem hướng dẫn giải chi tiết

Vận dụng

Câu hỏi 1. Cho dãy các số A = (3, 1, 0, 10, 13, 16, 9, 7, 5, 11].

a) Viết chương trình mô tả thuật toán tìm kiếm phần tử C = 9 của dãy trên. Tính thời gian chính xác thực hiện công việc tìm kiếm này.

b) Giả sử dây A ở trên đã được sắp xếp theo thứ tự tăng dần: A= [4,3,5,7,8, 10, 11, 13. 16]. Viết chương trình tìm kiếm nhị phân để tìm kiếm phân tử C = 9, đo thời gian thực hiện thuật toán. So sánh với kết quả 1ìm kiếm ở câu a.

Trả lời: Cách làm:a) - Viết chương trình sử dụng vòng lặp để duyệt từng phần tử trong dãy A.- Kiểm tra nếu... Xem hướng dẫn giải chi tiết

Câu hỏi 2. Viết ba chương trình mô phỏng các thuật toán sắp xếp chèn, sắp xếp chọn và sắp xếp nổi bọt mà em đã biết. Cho biết thời gian thực tế thực hiện các chương trình trên với bộ dữ liệu đầu vào là dãy A = {3, 1, 0, 10, 13, 16, 9,7, 5, T1]

Trả lời: Câu trả lời cho câu hỏi tin học lớp 11 trên:Cách làm:1. Viết các chương trình mô phỏng các thuật... Xem hướng dẫn giải chi tiết
0.64245 sec| 2265.281 kb