Giáo án điện tử chuyên đề Khoa học máy tính 11 kết nối Bài 2: Thiết kế thuật toán đệ quy

Tải giáo án điện tử Chuyên đề học tập Tin học 11 - Khoa học máy tính (kết nối tri thức) Bài 2: Thiết kế thuật toán đệ quy. Bộ giáo án chuyên đề được thiết kế sinh động, đẹp mắt. Thao tác tải về đơn giản, dễ dàng sử dụng và chỉnh sửa. Thầy, cô kéo xuống để xem chi tiết.

Xem: => Giáo án tin học 11 theo định hướng khoa học máy tính kết nối tri thức

Click vào ảnh dưới đây để xem 1 phần giáo án rõ nét

Giáo án điện tử chuyên đề Khoa học máy tính 11 kết nối Bài 2: Thiết kế thuật toán đệ quy
Giáo án điện tử chuyên đề Khoa học máy tính 11 kết nối Bài 2: Thiết kế thuật toán đệ quy
Giáo án điện tử chuyên đề Khoa học máy tính 11 kết nối Bài 2: Thiết kế thuật toán đệ quy
Giáo án điện tử chuyên đề Khoa học máy tính 11 kết nối Bài 2: Thiết kế thuật toán đệ quy
Giáo án điện tử chuyên đề Khoa học máy tính 11 kết nối Bài 2: Thiết kế thuật toán đệ quy
Giáo án điện tử chuyên đề Khoa học máy tính 11 kết nối Bài 2: Thiết kế thuật toán đệ quy
Giáo án điện tử chuyên đề Khoa học máy tính 11 kết nối Bài 2: Thiết kế thuật toán đệ quy
Giáo án điện tử chuyên đề Khoa học máy tính 11 kết nối Bài 2: Thiết kế thuật toán đệ quy
Giáo án điện tử chuyên đề Khoa học máy tính 11 kết nối Bài 2: Thiết kế thuật toán đệ quy
Giáo án điện tử chuyên đề Khoa học máy tính 11 kết nối Bài 2: Thiết kế thuật toán đệ quy
Giáo án điện tử chuyên đề Khoa học máy tính 11 kết nối Bài 2: Thiết kế thuật toán đệ quy
Giáo án điện tử chuyên đề Khoa học máy tính 11 kết nối Bài 2: Thiết kế thuật toán đệ quy

Xem toàn bộ: Giáo án điện tử chuyên đề Tin học 11 - Khoa học máy tính Kết nối tri thức

XIN CHÀO CÁC EM!

MỜI CÁC EM ĐẾN VỚI

BÀI HỌC MỚI!

 

KHỞI ĐỘNG

An được giao tìm một thiết kế mới cho bài toán tính tổng S(n)= 1+2 +..+n

An nhận thấy S(n) có thẻ được viết như sau:

S(n)=1+2+..+n=1+2+..+n-1+n=S(n-1)+n

Do đó, việc tính S(n) có thể được tính từ S(n - 1), tương tự S(n - 1) lại có thể được tính từ S(n - 2), cứ như vậy, cuối cùng sẽ dẫn đến cần tính S(0), nhưng S(0) = 0.

Em có thể giúp An hoàn thiện ý tưởng trên thành một chương trình hay không?

 

BÀI 2

THIẾT KẾ THUẬT TOÁN BẰNG ĐỆ QUY

 

NỘI DUNG BÀI HỌC

Ý tưởng thiết kế theo kĩ thuật đệ quy

1

Thuật toán tìm kiếm nhị phân

2

 

Ý TƯỞNG THIẾT KẾ

THEO KĨ THUẬT ĐỆ QUY

1

 

Hoạt động 1

Tìm hiểu ý tưởng thiết kế thuật toán theo kĩ thuật đệ quy

 

 

1 def S(n):

2 if n == 0:

3 Return 0

4 else:

5 Return n + S(n – 1)

HƯỚNG DẪN THỰC HIỆN

1

1 def exp(a, n):

2 if n == 0:

3 Return 1

4 else:

5 Return a*exp(a, n - 1)

2

 

1 def giaithua(n):

2 if n == 0:

3 Return 1

4 else:

5 Return n*giaithua(n – 1)

3

 

Vì sao lại thiết kế lập trình đệ quy, các ví dụ này có những điểm gì giống nhau.

Điểm chung

Từ bài toán góc có thẻ đưa về trường hợp có tham số đầu vào nhỏ hơn.

Có thể dùng Kĩ thuật đệ quy để gọi chính hàm gốc.

Nếu với các dữ liệu đầu vào nhỏ có thẻ giải trực tiếp thì phản cơ sở của đệ quy sẽ thực hiện lời giải trực tiếp này.

 

  • Trong cả ba chương trình trên, các hàm được định nghĩa với tham số n mặc định phải thoả mãn n > 0.
  • Do đó, các hàm này không cần có lệnh điều khiển dừng tường minh.
  • Nhóm các lệnh cơ sở sẽ làm luôn chức năng kiểm soát đùng của lặp đệ quy.

 

  • Hãy chỉ ra phần cơ sở và phần đệ quy của các chương trình trên.
  • Vì sao trong ý tưởng thiết kế đệ quy trên, yêu cầu từ bài toán với kích thước lớn cần phải đưa về cùng bài toán đó với kích thước nhỏ hơn?

Đọc thông tin và trả lời các câu hỏi sau đây:

 

HƯỚNG DẪN THỰC HIỆN

a) Phần cơ sở lệnh là 2,3, phần đệ quy là lệnh 5.

1

b) Phần cơ sở lệnh là 2,3, phần đệ quy là lệnh 5

c) Phần cơ sở lệnh là 2,3, phần đệ quy là lệnh 5.

 

HƯỚNG DẪN THỰC HIỆN

Vì trong tất cả các thuật toán đệ quy đều phải có yêu cầu bài toán có kích thước lớn hơn đưa về cùng bài toán đó với kích thước nhỏ hơn.

2

 

THUẬT TOÁN TÌM KIẾM NHỊ PHÂN

2

 

Hoạt động 2

Thiết kế thuật toán đệ quy cho bài toán tìm kiếm nhị phân

Chúng ta đã biết thuật toán tìm kiếm nhị phân trên dãy các phần tử đã sắp xếp. Hãy tìm thiết kế mới của thuật toán này theo kĩ thuật đệ quy. Trao đổi, thảo luận và trả lời các câu hỏi sau:

  • Nêu ý tưởng chính của giải thuật tìm kiếm nhị phân sử dụng kĩ thuật đệ quy.
  • Vị trí nào trong thuật toán có thể gợi ý cho kĩ thuật đệ quy?
  • Phần cơ sở của thiết kế đệ quy nằm ở bước nào?

 

GỢI Ý

 

1

Ý tưởng chính của thuật toán tìm kiếm nhị phân:

A(left, right)

Left

Mid

right

Nếu A[mid] > K thì tìm kiếm tiếp tại đây:

A(left, mid – 1)

Nếu A[mid] < K thì tìm kiếm tiếp tại đây:

A(mid + 1, right)

Hình 2.1. Ý tưởng của thuật toán tìm kiếm nhị phân

 

Các bước thực hiện tìm kiếm nhị phân

Bước 1

Đầu tiên thiết lập các biến left = 0, right = len(A) - 1

Bước 2

Lặp liên tục cho đến khi left > right. Các bước lặp như sau:

Bước 2.1: Đặt mid = (left + right)//2.

Bước 2.2: Nếu A[mid] = K thì dừng chương trình, trả về giá trị mid.

Bước 2.3: Nếu A[mid] > K thì tìm tiếp trong dãy con bên trái: A(left, mid – 1)

Bước 2.4: Nếu A[mid] < K thì tìm tiếp trong dãy con bên phải: A(mid + 1, right)

Bước 3

Nếu left > right thì dừng chương trình, trả về giá trị -1.

 

2

Vị trí trong thuật toán gợi ý cho kĩ thuật đệ quy:

Bước 2.1: Đặt mid = (left + right)//2.

Bước 2.2: Nếu A[mid] = K thì dừng chương trình, trả về giá trị mid.

Bước 2.3: Nếu A[mid] > K thì tìm tiếp trong dãy con bên trái: A(left, mid – 1)

Bước 2.4: Nếu A[mid] < K thì tìm tiếp trong dãy con bên phải: A(mid + 1, right)

Thực hiện việc đưa bài toán tìm kiếm về chính bài toán đó với kích thước dãy ban đầu.

Lệnh gọi đệ quy sẽ thực hiện tại các bước này

 

Bước 3

Nếu left > right thì dừng chương trình, trả về giá trị -1.

3

Bước 3 đóng vai trò phần cơ sở của đệ quy, khi độ dài của dãy cần tìm kiếm bằng 0 thì chương trình sẽ dừng lại và thông báo không tìm thấy.

 

KẾT LUẬN

 

1. Trong chương trình trên lệnh nào đóng vai trò là phần cơ sở của đệ quy?

2. Giả sử A = [1, 3, 7, 9] và K= 10. Nếu áp dụng chương trình trên thì cần mấy lần gọi hàm đệ quy?

Đọc thông tin và trả lời các câu hỏi sau đây:

 

HƯỚNG DẪN THỰC HIỆN

1

Phần cơ sở nằm ở các lệnh 10, 11 khi left > right, khi dãy rỗng.

2

Nếu A = [1,3,7, 9], K = 10 thì lời gọi hàm tìm kiếm nhị phân sẽ gọi đệ quy ba lần.

  • Lần 1, hàm sẽ gọi đệ quy đến đãy [7, 9].
  • Lần 2, hàm sẽ gọi đệ quy đến dãy [9].
  • Lần 3, hàm sẽ gọi đệ quy đến dãy [].

 

LUYỆN TẬP

  • Câu 1. Viết chương trình theo kĩ thuật đệ quy để tính hàm SL(n) là tổng các số tự nhiên lẻ nhỏ hơn hoặc bằng n.
  • Câu 2. Cho trước dãy A. Viết chương trình theo kĩ thuật đệ quy để in dãy A theo thứ tự ngược lại.

 

KẾT QUẢ

 

--------------- Còn tiếp ---------------

 

Trên chỉ là 1 phần của giáo án. Giáo án khi tải về có đầy đủ nội dung của bài. Đủ nội dung của học kì I + học kì II

Hệ thống có đầy đủ các tài liệu:

  • Giáo án word (350k)
  • Giáo án Powerpoint (400k)
  • Trắc nghiệm theo cấu trúc mới (200k)
  • Đề thi cấu trúc mới: ma trận, đáp án, thang điểm..(200k)
  • Phiếu trắc nghiệm câu trả lời ngắn (200k)
  • Trắc nghiệm đúng sai (250k)
  • Lý thuyết bài học và kiến thức trọng tâm (200k)
  • File word giải bài tập sgk (150k)
  • Phiếu bài tập để học sinh luyện kiến thức (200k)

Nâng cấp lên VIP đê tải tất cả ở tài liệu trên

  • Phí nâng cấp VIP: 800k

=> Chỉ gửi 450k. Tải về dùng thực tế. Nếu hài lòng, 1 ngày sau mới gửi phí còn lại

Cách nâng cấp:

  • Bước 1: Chuyển phí vào STK: 1214136868686 - cty Fidutech - MB(QR)
  • Bước 2: Nhắn tin tới Zalo Fidutech - nhấn vào đây để thông báo và nhận tài liệu

Xem toàn bộ: Giáo án điện tử chuyên đề Tin học 11 - Khoa học máy tính Kết nối tri thức

ĐẦY ĐỦ GIÁO ÁN CÁC BỘ SÁCH KHÁC

GIÁO ÁN WORD LỚP 11 KẾT NỐI TRI THỨC

 

GIÁO ÁN POWERPOINT LỚP 11 KẾT NỐI TRI THỨC

GIÁO ÁN CHUYÊN ĐỀ LỚP 11 KẾT NỐI TRI THỨC

GIÁO ÁN DẠY THÊM 11 KẾT NỐI TRI THỨC

CÁCH ĐẶT MUA:

Liên hệ Zalo: Fidutech - nhấn vào đây

Tài liệu giảng dạy

Xem thêm các bài khác

Chat hỗ trợ
Chat ngay