Chuyên đề Tin học 11 Bài 2 (Cánh diều): Khái niệm đệ quy và ví dụ

Với giải bài tập Chuyên đề Tin học 11 Bài 2: Khái niệm đệ quy và ví dụ sách Cánh diều hay nhất, chi tiết giúp học sinh dễ dàng làm bài tập Chuyên đề học tập Tin học 11 Bài 2.

1 357 lượt xem


Giải Chuyên đề Tin học 11 Bài 2: Khái niệm đệ quy và ví dụ

Khởi động trang 10 Chuyên đề Tin học 11: Định nghĩa Em hãy đưa ra mô tả đệ quy cho hàm F(n) để tính a^n.Em hãy đưa ra mô tả đệ quy cho hàm F(n) để tính a­n.

Lời giải:

Mô tả đệ quy cho hàm F(n) để tính a­n như sau:

{Hàm_đệ_quy} ({Danh_sách_tham_số})

{

{Gọi_lại_hàm_đệ_quy}({Danh_sách_tham_số});

}

1. Khái niệm hàm đệ quy

Hoạt động 1 trang 10 Chuyên đề Tin học 11Hai chương trình cho trong Hình 1 yêu cầu người sử dụng nhập hai giá trị nguyên avà n từ bàn phím (n >0), rồi gọi hàm power1 (a,n) và power2 (a,n) tương ứng để in ra màn hình giá trị a”. Em hãy đọc cả hai chương trình này và:

a) Cho biết kết quả thu được của hai chương trình khi giá trị của cặp (4, n) nhập vào lần lượt bằng (2, 4) và (3, 6).

b) Nhận xét về sự khác nhau giữa hai hàm powez1 (a,n) và power2 (a,n).

Hai chương trình cho trong Hình 1 yêu cầu người sử dụng nhập hai giá trị nguyên avà n từ bàn phím

Lời giải:

a) Cho biết kết quả thu được của hai chương trình khi giá trị của cặp (4, n) nhập vào lần lượt bằng (2, 4) và (3, 6).

print (z, "mũ", n, "=", power1(2,4))

print (z, "mũ", n, "=", power1(3,6))

b) Nhận xét

Các ngôn ngữ lập trình bậc cao thường cho phép xây dựng các hàm đệ quy, nghĩa là trong thân của bàm có chứa những câu lệnh gọi đến chính nó.

2. Thuật toán đệ quy

Hoạt động 2 trang 11 Chuyên đề Tin học 11Em hãy:

a) Đọc chương trình ở Hình 3 và cho biết dấu ? trong hàm h(n) cần được thay bằng gì để tính được số lượng cái bắt tay diễn ra trong phòng họp có n người.

b) Chạy chương trình để tính số cái bắt tay khi n = 5 và n = 10.

Đọc chương trình ở Hình 3 và cho biết dấu ? trong hàm h(n) cần được thay bằng gì

Lời giải:

a) Chương trình ở Hình 3: dấu ? trong hàm h(n) cần được thay như sau để tính được số lượng cái bắt tay diễn ra trong phòng họp có n người:

return 1

else

return h(n-1) + 1 // Gọi đệ quy

b) Chạy chương trình để tính số cái bắt tay nhập lần lượt n = 5 và n = 10 và đọc kết quả xuất hiện trên màn hình.

Luyện tập 1 trang 12 Chuyên đề Tin học 11: Em hãy đọc chương trình ở hình 5 và cho biết kết quả nhận được khi chạy chương trình.

Em hãy đọc chương trình ở hình 5 và cho biết kết quả nhận được khi chạy chương trình

Lời giải:

Nhập chương trình trong bảng 1 vào máy tính và đọc kết quả màn hình xuất ra.

Luyện tập 2 trang 13 Chuyên đề Tin học 11Dãy số Fibonacci được định nghĩa đệ quy như sau:

+ Phần cơ sở: F(w) = 0 nếu n = 0. F(n) = 1 nếu n > 1.

+ Phần đệ quy: F(n) = F (n - 1) + F(n - 2) nếu n >2

Hàm đệ quy F (n) cho trong hình 6s dùng định nghĩa đệ quy ở trên để tính và trả về giá trị của F(n).

a) Em hãy cho biết các dấu ? trong hàm đệ quy F(n) của được thay bằng gì?

b) Hình 7 liệt kê lần lượt I7 bước chương trình sẽ thực hiện luôn khi lời gọi đến F(4) được thực thi. Em hãy đưa ra giải thích bằng lời ý nghĩa của I7 bước đã cho.

Dãy số Fibonacci được định nghĩa đệ quy như sau: Phần cơ sở: F(w) = 0 nếu n = 0. F(n) = 1 nếu n > 1

Lời giải:

a) return 1

else

return F (n - 1)

b) Ý nghĩa của I7 bước đã cho.

Trong hàm có một hoặc nhiều lệnh gọi đến chính nó.

Mỗi lần gọi đệ quy thì kích thước của bài toán được thu nhỏ hơn so với lần gọi trước. Khi đạt được trường hợp cơ sở thì chương trình không cần gọi đệ quy.

Thuật toán đệ quy được cài đặt dưới dạng hàm đệ quy, để xử lí với các đối tượng được định nghĩa đệ quy.

Xem thêm giải bài tập Chuyên đề Tin học 11 Cánh diều hay, chi tiết khác:

Bài 2: Tạo đoạn phim hoạt hình

Bài 3: Chỉnh sửa phim

Bài 4: Thực hành tổng hợp tạo phim hoạt hình

Bài 1: Khái niệm đệ quy và ví dụ

Bài 3: Thực hành thiết kế thuật toán đệ quy

1 357 lượt xem


Xem thêm các chương trình khác: