Tài nguyên dạy học

Thống kê

  • truy cập   (chi tiết)
    trong hôm nay
  • lượt xem
    trong hôm nay
  • thành viên
  • Sắp xếp dữ liệu

    Chào mừng quý vị đến với website của ...

    Quý vị chưa đăng nhập hoặc chưa đăng ký làm thành viên, vì vậy chưa thể tải được các tài liệu của Thư viện về máy tính của mình.
    Nếu chưa đăng ký, hãy nhấn vào chữ ĐK thành viên ở phía bên trái, hoặc xem phim hướng dẫn tại đây
    Nếu đã đăng ký rồi, quý vị có thể đăng nhập ở ngay phía bên trái.

    Bài 2. Kĩ thuật đệ quy trong chia để trị

    Nhấn vào đây để tải về
    Báo tài liệu có sai sót
    Nhắn tin cho tác giả
    (Tài liệu chưa được thẩm định)
    Nguồn: Bạch Kim
    Người gửi: Ngô Văn Chinh (trang riêng)
    Ngày gửi: 11h:27' 25-06-2024
    Dung lượng: 334.2 KB
    Số lượt tải: 0
    Số lượt thích: 0 người
    Trang bìa
    Trang bìa
    Ảnh
    BÀI 2 KĨ THUẬT ĐỆ QUY TRONG CHIA ĐỂ TRỊ
    CHUYÊN ĐỀ 2 THỰC HÀNH THIẾT KẾ THUẬT TOÁN THEO KĨ THUẬT CHIA ĐỂ TRỊ
    Khái niệm
    Ứng dụng
    Hình vẽ
    Học xong bài này, em sẽ: * Nêu được ý tưởng kỹ thuật để quy xong bài toán tìm kiếm nhị phân và tính latex(a^n). * Biết được một số bài toán sử dụng kỹ thuật để quy trong chia để trị. * Cài đặt được thuật toán tìm kiếm nhị phân bằng kỹ thuật đệ quy . * Hiểu và mô tả được thuật toán giải bài toán tính latex(a^n).
    Câu hỏi
    Hình vẽ
    Trong bài 1, em đã biết thuật toán tìm kiếm nhị phân bằng vòng lặp việc loại bỏ đi một nửa dãy sau mỗi bước và tìm kiếm phần tử trên một nửa dãy còn lại cũng phù hợp với việc cài đặt đệ quy do các bước làm chỉ khác nhau ở phạm vi tìm kiếm. Em hãy mô tả lại từng bước thu hẹp phạm vi tìm kiếm trên một ví dụ trongHhình 4 của Bài 1 để thấy sự lặp lại thuật toán trên bài toán con so với bài toán cha
    Ảnh
    Cài đặt thuật toán tìm kiếm nhị phân bằng đệ quy
    Các bước thực hiện
    - Bước 1. So sánh x với phần tử nằm ở vị trí giữa dãy số, gọi là phần tử giữa. - Bước 2. Nếu x bằng với giá trị phần tử giữa, đưa ra vị trí phần tử tìm được. - Bước 3. Nếu x lớn hơn giá trị phần tử giữa giá trị x chỉ có thể nằm ở nửa bên phải phần tử của phần tử giữa của dãy số (nửa có giá trị lớn hơn). Quay lại Bước 1, tiếp tục áp dụng thuật toán đối với nửa dãy số bên phải này. - Bước 4. Nếu x nhỏ hơn giá trị phần tử giữa, giá trị x chỉ có thể nằm ở nửa bên trái phần tử giữa của dãy số (nửa có giá trị nhỏ hơn). Quay lại Bước 1 tiếp tục áp dụng thuật toán đối với nửa dãy số bên này.
    Yêu cầu 1
    Hình vẽ
    Tìm hiểu Bước 3 và Bước 4 trong thuật toán tìm kiếm nhị phân để rút ra kỹ thuật đệ quy cài đặt thuật toán này. Hai bước trên có thể cài đặt bởi lời gọi đệ quy đến hàm tìm kiếm nhị phân tổng quát với tham số đầu vào là khoảng cần tìm kiếm trong dãy số. Em hãy đọc hiểu chương trình Python mẫu trong Hình 1 và chạy thử nghiệm trên các bộ dữ liệu đầu vào khác nhau.
    Ảnh
    Nhận xét
    Lưu ý: Trong trường hợp phạm vi tìm kiếm là rỗng nghĩa là (t > p trong chương trình ở Hình 1), chương trình cần thông báo không tồn tại từ phía cần tìm.
    Nhận xét
    Ảnh
    Hình 1 chương trình đệ quy Tìm kiếm nhị phân trên dãy số không giảm cho bài thực hành và màn hình kết quả chạy một số bộ dữ liệu thử nghiệm
    Bài toán tính
    Bài toán
    Trong giờ học môn Toán, thầy giáo ra câu hỏi cho cả lớp xem ai tính nhanh nhất giá trị của 3 mũ 10. Thanh An nghĩ rằng nếu cứ nhân lần lượt 10 số 3 với nhau thì sẽ phải mất 9 phép nhân . Do đó mới học chuyên đề khoa học máy tính phần chia để chị Thanh An nghĩ cách để giảm bớt số phép nhân .Thanh An thấy rằng Hình 2 nên chỉ cần một lần tính latex(3^5) và bình phương giá trị đó lên thì số phép nhân phải sử dụng giảm đi đáng kể tuy nhiên với thì Thanh An lại chưa nghĩ ra được cách chia đôi để giảm bớt phép nhân do năm là số lẻ khi về nhà Thanh An muốn lập trình giải quyết bài toán tổng quát tính với A và N là hai số nguyên dương
    Bài toán
    Ảnh
    Hình 2. Cách tính dùng chia để trị
    Yêu cầu 2
    Em hãy giúp Thanh An mô tả chi tiết các bước tính giá trị với số phép tính nhân phải sử dụng là ít nhất.
    Hình 3. Cách tính latex(3^10 = 3^5 x 3^5) dùng chia để trị
    Ảnh
    Thực hành viết lại
    Hướng dẫn: Có hai trường hợp: 1) latex(a^n = a^(n/2) x a^(n/2)) nếu n chẵn 2, latex(a^n = a x a^(n - 1)) nếu n lẻ và n > 1
    Kiểm thử chương trình
    Em hãy chạy kiểm thử chương trình của phần thực hành với các bộ dữ liệu kiểm thử trong Bảng 1. Chạy chương trình nếu kết quả sai, sẽ thêm các lệnh để in ra giá trị của các biến và chạy lại chương trình với bộ dữ liệu kiểm thử này, theo dõi sự thay đổi giá trị của các biến và phát hiện lệnh nào tính toán sai.
    Kiểm thử chương trình
    Ảnh
    Bảng 1. Một số dữ liêu thử nghiệm cho bài toán latex(a^n)
    Bài tập
    Ứng dụng
    Hình vẽ
    Em hãy viết hàm để quy để tìm kiếm nhị phân giá trị x trong dãy a không giảm có n phần tử latex(A_0,(A_1), ...(A_(n-1)) các phần tử có thể trùng nhau. Nếu tìm thấy thì hàm này trả về chỉ số i nhỏ nhất mà latex(A_i) =x. Nếu không tìm thấy thì hàng này trả về -1
    Ảnh
    Câu hỏi
    Hình vẽ
    Câu 1. Trong những câu sau đây ,câu nào đúng với việc giải bài toán tính latex(a^n) bằng phương pháp chia để trị? 1) Xét trường hợp n chẵn và n lẻ riêng. 2) n chẵn hay n lẻ đều giải quyết như nhau. Câu 2. Em hãy cho biết, nếu sử dụng phương pháp chia để trị để tính latex(4^12) thì ít nhất cần bao nhiêu phép tính nhân. A4 B5 C6 D7
    Ảnh
    Tóm tắt bài học
    Hình vẽ
    Tóm tắt bài học. Thuật toán tìm kiếm nhị phân phù hợp để cài đặt bằng kỹ thuật đệ quy do việc học lại chức năng thuật toán của các bài toán con. * Bài toán tính latex(a^n) được giải quyết bằng kỹ thuật đệ quy trong các phương pháp chia để trị nhờ việc xét trường hợpn chẵn và n lẻ.
    Cảm ơn
    Thank You
    Ảnh
     
    Gửi ý kiến

    ↓ CHÚ Ý: Bài giảng này được nén lại dưới dạng ZIP và có thể chứa nhiều file. Hệ thống chỉ hiển thị 1 file trong số đó, đề nghị các thầy cô KIỂM TRA KỸ TRƯỚC KHI NHẬN XÉT  ↓