Giáo án điện tử chuyên đề Khoa học máy tính 11 kết nối Bài 3: Thực hành giải toán theo kĩ thuật đệ 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 3: Thực hành giải toán theo kĩ thuật đệ 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 3: Thực hành giải toán theo kĩ thuật đệ quy
Giáo án điện tử chuyên đề Khoa học máy tính 11 kết nối Bài 3: Thực hành giải toán theo kĩ thuật đệ quy
Giáo án điện tử chuyên đề Khoa học máy tính 11 kết nối Bài 3: Thực hành giải toán theo kĩ thuật đệ quy
Giáo án điện tử chuyên đề Khoa học máy tính 11 kết nối Bài 3: Thực hành giải toán theo kĩ thuật đệ quy
Giáo án điện tử chuyên đề Khoa học máy tính 11 kết nối Bài 3: Thực hành giải toán theo kĩ thuật đệ quy
Giáo án điện tử chuyên đề Khoa học máy tính 11 kết nối Bài 3: Thực hành giải toán theo kĩ thuật đệ quy
Giáo án điện tử chuyên đề Khoa học máy tính 11 kết nối Bài 3: Thực hành giải toán theo kĩ thuật đệ quy
Giáo án điện tử chuyên đề Khoa học máy tính 11 kết nối Bài 3: Thực hành giải toán theo kĩ thuật đệ quy
Giáo án điện tử chuyên đề Khoa học máy tính 11 kết nối Bài 3: Thực hành giải toán theo kĩ thuật đệ quy
Giáo án điện tử chuyên đề Khoa học máy tính 11 kết nối Bài 3: Thực hành giải toán theo kĩ thuật đệ quy
Giáo án điện tử chuyên đề Khoa học máy tính 11 kết nối Bài 3: Thực hành giải toán theo kĩ thuật đệ quy
Giáo án điện tử chuyên đề Khoa học máy tính 11 kết nối Bài 3: Thực hành giải toán theo kĩ thuật đệ 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

CHÀO MỪNG CÁC EM ĐẾN VỚI BÀI HỌC NGÀY HÔM NAY!

 

KHỞI ĐỘNG

Khi áp dụng kĩ thuật đệ quy để giải các bài toán, theo em cần phải đặc biệt lưu ý đến điều gì?

 

BÀI 3: THỰC HÀNH GIẢI TOÁN THEO KĨ THUẬT ĐỆ QUY

 

NHIỆM VỤ 1

Bài toán biến đổi số nhị phân sang số thập phân

 

Yêu cầu: Đầu vào của bài toán là một xâu nhị phân bất kì, ở đây xâu nhị phân được hiểu là xâu chỉ bao gồm các chữ số 0 và 1. Xâu này là biểu diễn của một số tự nhiên n trong hệ đếm nhị phân. Yêu cầu của bài toán là tìm số thập phân tương ứng với biểu diễn nhị phân của xâu đầu vào. Bài toán cần giải bằng kĩ thuật đệ quy.

 

HƯỚNG DẪN

  • Phân tích: Gọi s là xâu kí tự nhị phân đầu vào có độ dài n:
  • Vì các kí tự của xâu có thể biểu diễn thông qua chỉ số nên xâu s có thể được coi là một dãy các chữ số 0, 1 như sau:
  • Chúng ta sẽ thiết kế hàm dec(s, n) để tính giá trị số thập phân có biểu diễn nhị phân theo dãy (1).

 

  • Nếu M được biểu diễn bằng số nhị phân dạng a0a1…an-1 thì ta có công thức:
  • Biến đổi công thức, ta có:
  • Nếu gọi dec(s, n) là số thập phân cần tìm của dãy nhị phân (1) thì công thức (2) sẽ cho chúng ta công thức truy hồi sau:
  • Áp dụng công thức (3) vào bài toán, hàm đệ quy dec(s,n) được thiết kế như sau:

 

1 def dec(s, n):

2 if n == 1:

3 return int(s[0])

4 else:

5 return 2*dec(s, n - 1) + int(s[n - 1])

Công thức

Công thức tại dòng lệnh 5 ở trên chính là công thức (3)

Lệnh gọi hàm như sau:

dec(s, len(s))

 

NHIỆM VỤ 2

Tìm ước chung lớn nhất của hai số nguyên không âm

 

Yêu cầu: Cho trước hai số nguyên a, b không âm, không đồng thời bằng 0. Ước chung lớn nhất của hai số này sẽ kí hiệu là ƯCLN(a,b). Bài toán yêu cầu tính gcd(a,b) với a,b cho trước.

 

HƯỚNG DẪN

  • Nếu a = b thì ƯCLN sẽ chính là các số này, ngược lại nếu hai số này không bằng nhau, ví dụ a > b thì chúng ta biền đổi số lớn hơn bằng cách trừ đi số kia, ví dụ đặt a = a - b.
  • Quá trình như vậy sẽ tiếp tục và kết thúc khi a = b, chúng ta tìm được ƯCLN.

Cách tính tự nhiên

 

STTaba%bGhi chú
11293 
2930 
330 

Nếu b = 0 thì dừng lại,

thông báo ƯCLN = a

Bảng 3.1. Quy trình tính toán hàm gcd()

Cách tính nhanh theo thuật toán Euclid

 

1

Nếu b = 0 thì gcd(a, 0) = a.

2

Nếu b > 0 thì gcd(a, b) = gcd(b,a mod b).

1 def gcd(a, b):

2 if b == 0:

3 return a

4 else:

5 return gcd(b, a%b)

 

LUYỆN TẬP

  • Câu 1. Mô tả các bước tính gcd(93, 60).
  • Câu 2. Viết chương trình chuyển đổi số nhị phân sang số thập phân (tương tự nhiệm vụ 1) nhưng dãy nhị phân đầu vào được cho dưới dạng một dãy (list) các số 0 và 1. Ví dụ nếu dãy đầu vào là A= [1, 1, 1, 1, 1, 1, 1] thì kết quả đầu ra là 127.

 

Hướng dẫn thực hiện

Các bước tính gcd(93,60) như sau.

1

  • Bước 1. gcd(93,60) = gcd(60, 33)
  • Bước 2, gcd(60,33) = gcd(33,27)
  • Bước 3. gcd(33,27) = gcd(27,6)
  • Bước 4. gcd(27,6) = gcd(6,3)
  • Bước 5. gcd(6,3) = gcd(3,0) = 3

 

Chương trình này tương tự chương trình của Nhiệm vụ 1.

2

1 def decimal(A,n):

2 if n == 0:

3 return 0

4 elif n == 1:

5 return A[0]

6 else:

7 return 2*decimal(A,n-1) + A[n-1]

 

VẬN DỤNG

Bài 1. Bài toán tính ƯCLN của hai số nguyên dương a, b có một cách tính khác như sau:

1 def gcd(a, b):

2 while a ! = b:

3 if a < b:

4 b = b - a

5 else:

6 a = a - b

7 return a

Hãy viết lại chương trình trên theo kĩ thuật đệ quy.

 

HƯỚNG DẪN

1 def gcd(a, b):

2 if a == b:

3 return a

4 else:

5 if a > b:

6 return gcd(a-b,b)

7 else:

8 return gcd(a,b-a)

 

VẬN DỤNG

Bài 2. Thiết lập chương trình hàm gcd(a,b) – ƯCLN của các số nguyên không âm a, b theo thuật toán Euclid nhưng không sử dụng kĩ thuật đệ quy.

 

HƯỚNG DẪN

1 def gcd(a, b):

2 while b ! = 0:

3 r = a % b

4 a = b

5 b = r

6 return a

 

Bài 3. Lớp An tiến hành đo chiều cao của cả lớp, kết quả lưu vào một tệp có tên chieucao.inp, trong tệp ghi lần lượt họ tên các bạn trong lớp và chiều cao tương ứng. Thầy Hiệu trưởng yêu cầu tổng kết và gửi lại cho Ban giám hiệu tên và chiều cao của bạn thấp nhất và cao nhất lớp, kết quả phải lưu ra tệp ketqua.out. Em hãy giúp bạn An viết chương trình giải quyết yêu cầu này theo kĩ thuật đệ quy.

Ví dụ thông tin đầu vào và ra của bài toán sẽ như sau:

chieucao.inp

Nguyễn Việt Hà 1.75

Bùi Quang Mơ 1.66

Trương Thị Lộc 1.50

Trần Văn Hóa 1.78

ketqua.out

Trương Thị Lộc 1.50

Trần Văn Hóa 1.78

 

HƯỚNG DẪN

 

--------------- 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