Giáo án ppt chuyên đề KHMT 11 kết nối: Bài 5 Thực hành thiết kế thuật toán theo kĩ thuật đệ quy
Giáo án ppt chuyên đề Tin học khoa học máy tính 11 kết nối tri thức: Bài 5 Thực hành thiết kế thuật toán theo kĩ thuật đệ quy. Bài giảng thiết kế hiện đại, sáng tạo giúp tiết học thêm phần thú vị, giúp giáo viên tiết kiệm thời gian nhưng vẫn có thể ứng dụng công nghệ vào công tác giảng dạy.
Nội dung chi tiết











... Còn nữa ...
MỜI CÁC EM
ĐẾN VỚI TIẾT HỌC!
KHỞI ĐỘNG
Hãy phân tích một số ưu, nhược điểm của việc áp dụng kĩ thuật đệ quy trong lập trình?
BÀI 5: THỰC HÀNH
THIẾT KẾ THUẬT TOÁN THEO KĨ THUẬT ĐỆ QUY
NHIỆM VỤ 1.
THUẬT TOÁN SẮP XẾP CHÈN
Nhiệm vụ:
Viết chương trình mô tả thuật toán sắp xếp chèn theo kĩ thuật đệ quy.
- Thuật toán sắp xếp chèn được mô tả ngắn gọn như sau:
1 for i in range(1,n): 2 Chèn phần tử A[i] vào vị trí đúng của các phần tử A[0],A[1],…,A[i-1] |
- Giả sử gọi insertionSortRec (A,i) là thao tác tương ứng với dòng 2 của mô tả trên, khi đó chương trình được viết lại như sau:
1 for insertionSortRec(A,i): 2 if i > 0: 3 insertionSortRec(A,i-1) 4 chèn phần tử A[i] vào vị trí đúng của các phần tử A[0],A[1],…,A[i-1] |
- Chương trình có thể được viết thành như sau:
1 def insertionSortRec(A,i): 2 if I > 0: 3 insertionSortRec(A,i-1) 4 value = A[i] 5 j = i-1 6 while j >= 0 and A[j] > value: 7 A[j+1] = A[j] 8 j = j – 1 9 A[j+1] = value Lời gọi đệ quy của hàm là: insertionSortRec(A,len(A)-1) |
NHIỆM VỤ 2.
CHUYỂN SỐ THẬP PHÂN SANG HỆ ĐẾM NHỊ PHÂN
| STT | n | n//2 | n%2 |
| 1 | 11 | 5 | 1 |
| 2 | 5 | 2 | 1 |
| 3 | 2 | 1 | 0 |
| 4 | 1 | 0 | 1 |
| 5 | 0 | Số nhị phân cần tìm là 1011, dãy các số dư theo thứ tự ngược lại, từ dưới lên trên. |
Bảng 5.1. Các bước triển khai nhị phân n = 11
LƯU Ý
a) Nếu bỏ qua các lệnh 4, 5 thì kết quả sẽ luôn chèn chữ số 0 vào đầu xâu kết quả, dẫn đến không chính xác, vì vậy cần có thêm các lệnh 4, 5.
b) Nếu bỏ qua lệnh 4, 5 và lệnh 3 thay thế bằng lệnh return “” thì kết quả sẽ đúng với mọi n > 0 nhưng sai với n = 0.
- Gọi binary (n) là xâu biểu diễn khai triển nhị phân của số tự nhiên n. Khi đó theo cách phân tích trên chúng ta có công thức truy hồi sau:
| binary(n) = binary(n//2) + str(n%2) |
Quá trình thực hiện
Biến đổi n = n//2
Ghi lại số dư n%2
Quá trình kết thúc khi n = 0
Kết quả là dãy các số dư được ghép lại theo thứ tự ngược từ dưới lên
- Chương trình có thể được viết như sau:
1 def binary(n): 2 if n == 0: 3 return “0” 4 elif n == 1: 5 Return “1” 6 else: 7 return binary(n//2) + str(n%2) |
LUYỆN TẬP
Câu 1. Viết chương trình đệ quy giải quyết nhiệm vụ 2 nhưng với yêu cầu đầu ra của hàm là một dãy (list) các số 0 và 1.
Câu 2. Viết hàm decimal(s) chuyển đổi xâu nhị phân s sang số thập phân tương ứng. Ví dụ nếu đầu vào là "10" thì kết quả 2, nều đầu vào "1011" thì kết quả là 11. Yêu cầu viết theo kĩ thuật đệ quy.
HƯỚNG DẪN THỰC HIỆN
1
1 def binary(n): 2 if n == 0: 3 return [0] 4 elif n == 1: 5 Return [1] 6 else: 7 return binary(n//2) + str(n%2) |
2
1 def decimal(s,n): 2 if n == 0: 3 return 0 4 elif n == 1: 5 return int(s[0]) 6 else: 7 return 2*decimal(s,n-1) + int(s[n-1]) Lời gọi đệ quy là: decimal(s,len(s)) |
VẬN DỤNG
--------------- Còn tiếp ---------------
Tài liệu cùng môn học
- Trắc nghiệm khoa học máy tính 11 kết nối tri thức
- Giáo án word tin học khoa học máy tính 11 kết nối tri thức
- Giáo án ppt tin học khoa học máy tính 11 kết nối tri thức
- Giáo án chuyên đề tin học khoa học máy tính 11 kết nối tri thức
- Giáo án ppt chuyên đề tin học khoa học máy tính 11 kết nối tri thức
- Giải tin học khoa học máy tính 11 kết nối tri thức
- Phiếu bài tập tin học khoa học máy tính 11 kết nối tri thức
- Lý thuyết khoa học máy tính 11 kết nối tri thức
- Bài tập củng cố Khoa học máy tính 11 kết nối tri thức
- Trắc nghiệm trả lời ngắn khoa học máy tính 11 kết nối tri thức
- Trắc nghiệm đúng sai khoa học máy tính 11 kết nối tri thức
- Đề thi tin học khoa học máy tính 11 kết nối tri thức
- Giải chuyên đề khoa học máy tính 11 kết nối tri thức
- Ppt trò chơi AI Tin học KHMT 11 Kết nối tri thức
- Ppt trò chơi AI Tin học 11 Khoa học máy tính Kết nối tri thức
- Video AI mở đầu Tin học 11 Khoa học máy tính Kết nối tri thức
Tài liệu khác
- Trắc nghiệm văn 11 kết nối tri thức
- Trắc nghiệm địa lí 11 kết nối tri thức
- Trắc nghiệm hóa học 11 kết nối tri thức
- Trắc nghiệm KTPL 11 kết nối tri thức
- Trắc nghiệm lịch sử 11 kết nối tri thức
- Trắc nghiệm sinh học 11 kết nối tri thức
- Trắc nghiệm toán 11 kết nối tri thức
- Trắc nghiệm quốc phòng 11 kết nối tri thức
- => Xem nhiều môn hơn