Thực hành thiết kế chương trình theo phương pháp làm mịn dẫn
Tóm tắt
Bài thực hành vận dụng làm mịn dần cho kiểm tra hoán vị và đếm số lần lặp.
Hiểu bài
Nhiệm vụ thứ nhất kiểm tra một dãy A có phải hoán vị của 1, 2, ..., n hay không. Một hướng thiết kế là sắp xếp dãy, đặt kq = True, rồi duyệt từng chỉ số; nếu A[i] != i + 1 thì đặt kết quả thành False và dừng. Nhiệm vụ thứ hai yêu cầu tạo dãy B, trong đó mỗi phần tử cho biết giá trị tương ứng trong A xuất hiện bao nhiêu lần. Thiết kế tách công việc đếm một giá trị thành hàm lap(x, A), sau đó duyệt A và bổ sung lap(a, A) vào B.