Hướng dẫn giải Luyện tập 2 Bài 22. Kiếm thử và đánh giá chương trình (trang 106) – SGK Tin học 11 Kết nối tri thức. Tham khảo: Vận dụng kiến thức trong bài kết hợp kiến thức thực tế của bản thân để trả lời câu hỏi.
Câu hỏi/Đề bài:
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.
def tongchan(A):
s=0
for i in range(len(A)):
if A[i]%2==0:
s=s+A[i]
return s
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.
Hướng dẫn:
Vận dụng kiến thức trong bài kết hợp kiến thức thực tế của bản thân để trả lời câu hỏi.
Lời giải:
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 có thể là:
– Bộ dữ liệu 1: A = [2, 4, 6, 8, 10] # Có 5 phần tử Kết quả mong đợi: Tổng các số chẵn là 30
– Bộ dữ liệu 2: A = [1, 3, 5, 7, 9] # Có 5 phần tử Kết quả mong đợi: Tổng các số chẵn là 0
Trong trường hợp này, cả hai bộ dữ liệu đều có cùng kích thước là 5 phần tử, nhưng thời gian chạy của thuật toán sẽ khác nhau vì số lượng số chẵn trong dãy số khác nhau. Bộ dữ liệu 1 chứa toàn số chẵn nên thời gian chạy của thuật toán sẽ lớn hơn bộ dữ liệu 2 chỉ chứa các số lẻ.