Giáo án chuyên đề Khoa học máy tính 11 kết nối Bài 10: Thực hành giải toán bằng kĩ thuật chia để trị

Giáo án giảng dạy theo sách Chuyên đề học tập Tin học 11 - Định hướng Khoa học máy tính bộ sách kết nối tri thức Bài 10: Thực hành giải toán bằng kĩ thuật chia để trị. Bộ giáo án giúp giáo viên hướng dẫn học sinh mở rộng kiến thức, phát triển năng lực, nâng cao khả năng định hướng nghệ nghiệp cho các em sau này. Thao tác tải về rất đơn giản, tài liệu file word có thể chỉnh sửa dễ dàng, mời quý thầy cô tham khảo bài demo.

Xem toàn bộ: Giáo án chuyên đề Tin học 11 Khoa học máy tính kết nối tri thức đủ cả năm

Ngày soạn:…/…/…

Ngày dạy:…/…/…

 

BÀI 10. THỰC HÀNH GIẢI TOÁN BẰNG KĨ THUẬT CHIA ĐỂ TRỊ

 

  1. MỤC TIÊU
  2. Về kiến thức

Sau bài học này, HS sẽ:

  • Biết cách thiết kế và viết chương trình giải một số bài toán theo kĩ thuật chia để trị.
  • Thực hành viết chương trình giải một số bài toán theo kĩ thuật chia để trị.
  1. Năng lực

Năng lực chung:

  • Năng lực tự chủ: Biết lựa chọn các nguồn tài liệu học tập phù hợp.
  • Năng lực giải quyết vấn đề và sáng tạo: Xác định và tìm hiểu được các thông tin liên quan đến vấn đề, đề xuất giải pháp giải quyết vấn đề trong bài học.
  • Năng lực giao tiếp và hợp tác: Thực hiện tốt nhiệm vụ trong hoạt động nhóm.

Năng lực tin học:

  • Hình thành, phát triển năng lực giải quyết vấn đề với sự hỗ trợ của công nghệ thông tin và truyền thông.
  1. Phẩm chất:
  • Hình thành ý thức trách nhiệm, tính cẩn thận khi làm việc nhóm, phẩm chất làm việc chăm chỉ, chuyên cần để hoàn thành một nhiệm vụ.
  • Có ý thức vận dụng kiến thức, kĩ năng đã học ở nhà trường vào thực tiễn.
  1. THIẾT BỊ DẠY HỌC VÀ HỌC LIỆU
  2. Đối với giáo viên
  • SGK, SGV, Giáo án;
  • Máy tính đã cài đặt Python và máy chiếu;
  • Hình ảnh, sơ đồ minh họa cho các bước thực hiện trên một mẫu dữ liệu đơn giản hoặc có thể sử dụng các phần mềm mô phỏng thuật toán để minh họa.
  1. Đối với học sinh
  • SGK, vở ghi.
  • Điện thoại có cài sẵn phần mềm Python (nếu có).

III. TIẾN TRÌNH DẠY HỌC

  1. HOẠT ĐỘNG KHỞI ĐỘNG
  2. Mục tiêu:

- Đặt vấn đề nhận biết một dãy đã sắp xếp tăng dần hay giảm dần hay chưa sẽ dẫn đến bài toán tìm cặp nghịch đảo.

  1. Nội dung: GV cho các nhóm HS trao đổi nội dung Mở đầu.
  2. Sản phẩm học tập: HS dựa vào kiến thức và hiểu biết cá nhân để đưa ra câu trả lời.
  3. Tổ chức thực hiện:

Bước 1: GV chuyển giao nhiệm vụ học tập

- GV đặt vấn đề: Khi làm việc với danh sách/mảng, nhiều trường hợp đòi hỏi cần kiểm tra các danh sách mảng đã được sắp thứ tự để áp dụng thuật toán phù hợp.

- GV đặt câu hỏi yêu cầu HS thảo luận: Cho một dãy số, theo em làm thế nào để xác định dãy số đã được sắp xếp theo thứ tự tăng dần hoặc giảm dần?

Bước 2: HS thực hiện nhiệm vụ học tập

- HS lắng nghe, suy nghĩ và đưa ra câu trả lời.

Bước 3: Báo cáo kết quả hoạt động và thảo luận

- GV hướng dẫn HS trả lời câu hỏi.

Gợi ý:

Dãy số đã được sắp xếp tăng dần nếu không có cặp nghịch đảo nào, ngược lại dãy số sẽ sắp xếp giảm dần nếu nó có n(n-1)/2 cặp nghịch đảo. Do vậy bài toán đếm cặp nghịch đảo cũng là một cách dùng để nhận biết một dãy số đã sắp xếp tăng dần hoặc giảm dần hay chưa.

Bước 4: Đánh giá kết quả, thực hiện nhiệm vụ học tập

- GV nhận xét, đánh giá, tuyên dương câu trả lời của HS.

- GV dẫn dắt vào nội dung bài mới: Hôm nay, chúng ta sẽ vận dụng những kiến thức đã học về giải toán bằng kĩ thuật chia để trị. - Bài 10. Thực hành giải toán bằng kĩ thuật chia để trị.

  1. HOẠT ĐỘNG HÌNH THÀNH KIẾN THỨC

Hoạt động: Thực hành

  1. Mục tiêu: HS thiết kế và viết chương trình giải bài toán theo kĩ thuật chia để trị.
  2. Nội dung: GV yêu cầu HS tìm hiểu nhiệm vụ, tìm hiểu yêu cầu và các bước thực hiện.
  3. Sản phẩm học tập: Các chương trình mà HS viết ra.
  4. Tổ chức hoạt động:

HOẠT ĐỘNG CỦA GV VÀ HS

DỰ KIẾN SẢN PHẨM

Bước 1: GV chuyển giao nhiệm vụ học tập

- GV giới thiệu bài toán:

Đếm số cặp nghịch đảo (inversion) của dãy số.

Cho một dãy số A bất kì. Hãy đếm số cặp nghịch đảo của dãy số đó. Một cặp phần tử A[i] và A[j] được gọi là nghịch đảo nếu i < j và A[i] > A[j].

Ví dụ dãy A = [4, 5, 2, 10, 4] sẽ có 4 cặp nghịch đảo là: (4,2), (5,2), (5,4), (10,4).

- GV nhắc lại, đây là bài toán HS đã được học ở Bài 26 của SGK Tin học 11 – Định hướng Khoa học máy tính.

- GV nhắc lại lời giải bài toán đã được học và cùng HS thực hiện lời giải.

- GV phân tích lời giải đã biết thì thời gian chạy của chương trình là O(n2).

- GV giới thiệu cách thiết kế mới của bài toán theo kĩ thuật chia để trị và ý tưởng lời giải theo cách làm của thuật toán sắp xếp trộn đã học ở Bài 9.

- GV yêu cầu HS thảo luận để hiểu được ý tưởng và cách làm của bài toán và tiến hành cài đặt chương trình.

- GV kết luận về ưu điểm của thuật toán này chỉ chạy với thời gian O(nlogn), nhanh hơn so với cách làm đã biết.

Bước 2: HS thực hiện nhiệm vụ học tập

- HS chia nhóm, thảo luận thực hiện theo các bước SGK.

- GV hướng dẫn, theo dõi, hỗ trợ HS khi cần.

Bước 3: Báo cáo kết quả hoạt động và thảo luận

- GV mời đại diện một số nhóm trình bày kết quả Nhiệm vụ.

- HS xung phong thực hiện các nhiệm vụ và giải thích.

- GV mời HS nhóm khác nhận xét, bổ sung.

Bước 4: Đánh giá kết quả, thực hiện nhiệm vụ học tập

- GV nhận xét, tổng kết, chuyển sang nội dung luyện tập.

Thực hành

Nhiệm vụ

Cách 1. Phương pháp duyệt đơn giản

Ý tưởng:

- Duyệt lần lượt từng phần tử của dãy số.

- Với mỗi phần tử đang xét A[i], thực hiện so sánh với tất cả các phần tử đứng sau nó A[j], nếu A[i] > A[j] ta sẽ tăng số cặp nghịch đảo lên 1 đơn vị.

Chương trình 1

Thuật toán trên sử dụng hai vòng for lồng nhau tại dòng 4 và 5, do đó thời gian chạy là O(n2).

Cách 2. Sử dụng phương pháp chia để trị dựa trên thuật toán sắp xếp trộn mergeSort

Ý tưởng: Thực hiện thuật toán sắp xếp trộn trên dãy đã cho, trong quá trình trộn sẽ đồng thời tiến hành đếm số các cặp phần tử nghịch đảo.

Các bước chính thực hiện giải bài toán này như sau:

- Chia dãy thành hai phần bằng nhau cho đến khi mỗi dãy chỉ còn 1 phần tử.

- Khi tiến hành hàm trộn hai dãy sẽ đồng thời đếm số các cặp nghịch đảo của hai dãy này. Kết quả vẫn tạo được dãy trộn như đã mô tả trong thuật toán sắp xếp trộn, vừa đếm được số nghịch đảo.

- Gọi đệ quy đếm số cặp nghịch đảo cho hai nửa bên trái và bên phải, tính tổng số nghịch đảo khi trộn hai dãy. Kết quả sẽ thu được tổng số cặp nghịch đảo cần tìm.

Chương trình chính như sau:

Chương trình sau sẽ tiến hành trộn hai nửa dãy A từ left đến mid và từ mid + 1 đến right, đồng thời đếm được số các cặp nghịch đảo dạng (i,j)

Lệnh gọi trong chương trình chính:

  1. HOẠT ĐỘNG LUYỆN TẬP
  2. Mục tiêu: HS vận dụng kiến thức, hoàn thành bài tập phần Luyện tập.
  3. Nội dung: GV giao nhiệm vụ, HS thảo luận.
  4. Sản phẩm học tập: HS thực hành giải toán bằng kĩ thuật chia để trị.
  5. Tổ chức thực hiện:

Bước 1: GV chuyển giao nhiệm vụ học tập

- GV yêu cầu HS thảo luận nhóm đôi, hoàn thành bài tập:

Nâng cấp chương trình của nhiệm vụ 1 với yêu cầu bổ sung: Cần đưa ra kết quả là số lượng các cặp nghịch đảo và toàn bộ dãy các cặp chỉ số nghịch đảo đã tìm thấy. Ví dụ với A = [4, 5, 2, 10, 4] thì chương trình sẽ đưa ra giá trị 4 và dãy [(4, 2), (5, 2), (5, 4), (1, 4)].

Bước 2: HS thực hiện nhiệm vụ học tập

- HS thảo luận, viết chương trình giải bài toán.

- GV hướng dẫn, theo dõi, hỗ trợ HS nếu cần thiết.

Bước 3: Báo cáo kết quả hoạt động và thảo luận

- GV đại diện của 1 nhóm lên bảng thực hiện trên máy và chạy thử chương trình.

- HS khác quan sát, nhận xét, sửa bài (nếu có).

Kết quả:

Hàm merge(A,left,mid,right) sẽ trả về dãy các cặp nghịch đảo khi tiến hành "trộn" tại chỗ hai phần của cùng dãy A. Phần thay đổi chương trình nằm ở dòng lệnh 13.

Hàm chính getInvCount(A,left,right) sẽ trả về kết quả là dãy các phần tử nghịch đảo của dãy A trong đoạn chỉ số [left, right].

Đoạn chương trình chính có thể như sau:

Chú ý: Với yêu cầu mới này thì hàm merge() sẽ có thời gian chạy là O(n2), do đó công thức tính thời gian của bài toán sẽ là:

T(n) = 2T(n/2) + O(n2)

Từ công thức trên có thể tính được T(n) = O(n2).

Vậy bài toán tìm tất cả các cặp phần tử nghịch đảo làm theo kĩ thuật chia để trị không có thời gian tốt hơn là cách làm thông thường.

Bước 4: Đánh giá kết quả, thực hiện nhiệm vụ học tập

- GV nhận xét, tuyên dương.

  1. HOẠT ĐỘNG VẬN DỤNG
  2. Mục tiêu: HS vận dụng kiến thức, liên hệ với thực tế để giải quyết vấn đề.
  3. Nội dung: GV tổ chức cho HS làm bài tập phần Vận dụng SGK trang 47.
  4. Sản phẩm học tập: HS viết và chạy thử chương trình.
  5. Tổ chức thực hiệ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

MỘT VÀI THÔNG TIN

  • Giáo án bản word, dễ dàng chỉnh sửa nếu muốn
  • Font chữ: Time New Roman, trình bày rõ ràng, khoa học.
  • Giáo án có đủ các chuyên đề, đủ cả năm

PHÍ GIÁO ÁN:

  • Phí giáo án: 350k

=> Khi đặt, nhận đủ giáo án cả năm ngay và luôn

CÁCH ĐẶT: 

  • Bước 1: gửi phí vào tk: 10711017 - Chu Văn Trí - Ngân hàng ACB (QR)
  • Bước 2: Nhắn tin tới Zalo Fidutech - nhấn vào đây để thông báo và nhận giáo án

=> Khi đặt, sẽ nhận giáo án ngay và luôn. Tặng kèm phiếu trắc nghiệm + đề kiểm tra ma trận

Xem toàn bộ: Giáo án chuyên đề Tin học 11 Khoa học máy tính kết nối tri thức đủ cả năm

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

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

GIÁO ÁN CHUYÊN ĐỀ 1. THỰC HÀNH THIẾT KẾ THUẬT TOÁN THEO KĨ THUẬT ĐỆ QUY

GIÁO ÁN CHUYÊN ĐỀ 2. THỰC HÀNH THIẾT KẾ THUẬT TOÁN THEO KĨ THUẬT CHIA ĐỂ TRỊ

GIÁO ÁN CHUYÊN ĐỀ 3. THỰC HÀNH THIẾT KẾ THUẬT TOÁN THEO KĨ THUẬT DUYỆT

Chat hỗ trợ
Chat ngay