Soạn mới giáo án Khoa học máy tính 11 cánh diều Chủ đề F(CS) Bài 8: Lập trình một số thuật toán sắp xếp

Soạn mới Giáo án khoa học máy tính 11 cánh diều bài Lập trình một số thuật toán sắp xếp. Đây là bài soạn mới nhất theo mẫu công văn 5512. Giáo án soạn chi tiết, đầy đủ, trình bày khoa học. Tài liệu có bản word tải về. Hi vọng đây sẽ là tài liệu hữu ích để thầy cô tham khảo và nâng cao chất lượng giảng dạy. Mời thầy cô và các bạn kéo xuống tham khảo

Cùng hệ thống với: Kenhgiaovien.com - tech12h.com - Zalo hỗ trợ: Fidutech - nhấn vào đây

Rõ nét về file powerpoint trình chiếu. => Xem thêm

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

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

BÀI 8. LẬP TRÌNH MỘT SỐ THUẬT TOÁN SẮP XẾP

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

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

  • Phát biểu được bài toán sắp xếp.
  • Viết được chương trình cho một vài thuật toán sắp xếp.
  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 tin họ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.
  • Ứng dụng công nghệ thông tin và truyền thông trong học và tự học.
  • Khả năng tư duy logic và mô hình hóa.
  1. Phẩm chất
  • Hình thành ý thức trách nhiệm, tính cẩn thận, chăm chỉ trong học tập và công việc.
  • 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 và máy chiếu;
  • Tài liệu hướng dẫn sử dụng máy tính (tivi, điện thoại,...) (nếu có).
  1. Đối với học sinh: SGK, SBT, vở ghi.

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

  1. HOẠT ĐỘNG KHỞI ĐỘNG
  2. Mục tiêu: Tạo tâm thế vui vẻ, hứng khởi cho HS trước khi vào bài học mới; kích thích sự tò mò cho người học.
  3. Nội dung: GV đặt vấn đề; HS trả lời câu hỏi Khởi động trang 122 SGK.
  4. Sản phẩm học tập: Câu trả lời của HS cho câu hỏi Khởi động trang 122 SGK.
  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 trả lời câu hỏi Khởi động tr.122 SGK:

          Trình quản lí tệp của hệ điều hành cho phép lựa chọn hiển thị nội dung của thư mục được sắp xếp thứ tự theo vài cách khác nhau. Em hãy cho biết một trong số các lựa chọn này và giải thích rõ thêm tiêu chí (yêu cầu) sắp xếp tương ứng.

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

- HS suy nghĩ trả lời câu hỏi.

- GV có thể gợi ý HS xem trực tiếp trên màn hình và chọn một trong số nhiều lựa chọn sắp xếp.

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

- GV mời 2 - 3 HS trả lời câu hỏi trả lời câu hỏi Khởi động:

Sắp xếp tên tệp theo thứ tự tăng dần.

+ Đầu vào: Các tệp nằm trong thư mục.

+ Đầu ra: Dãy các tệp được sắp xếp theo thứ tự bảng chữ cái tăng dần.

Ví dụ:

- GV ghi nhận tất cả các câu trả lời của HS.

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á, dẫn dắt vào nội dung bài mới: - Bài 8. Lập trình một số thuật toán sắp xếp.

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

Hoạt động 1: Bài toán sắp xếp

  1. Mục tiêu: Phát biểu được bài toán sắp xếp.
  2. Nội dung: GV nêu nhiệm vụ; HS đọc hiểu mục 1 tr.122 - 123 SGK, thực hiện nhiệm vụ.
  3. Sản phẩm học tập: Bài toán sắp xếp.
  4. Tổ chức hoạt động:

HOẠT ĐỘNG CỦA GV - HS

DỰ KIẾN SẢN PHẨM

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

- GV nêu một số bài toán sắp xếp, hướng dẫn HS phát biểu rõ ràng từng bài toán với tiêu chí sắp xếp cụ thể:

+ Cho các dãy số, yêu cầu sắp xếp “theo thứ tự tăng dần (giảm dần)”.

+ Cho dãy các xâu kí tự, yêu cầu sắp xếp “theo thứ tự bảng chữ cái”, “theo độ dài tăng dần”,...

+ Sắp xếp các hàng trong một bảng gồm nhiều cột (hay bản ghi trong bảng CSDL) theo một cột nào đó. Ví dụ, có bảng kết quả học tập gồm các cột Họ và tên, Điểm Toán, Điểm Ngữ Văn, Điểm Tin học,... yêu cầu sắp xếp theo điểm môn Tin học giảm dần. Các hàng có trong bảng có dạng như sau:

- GV yêu cầu HS dựa vào các ví dụ trên, kết hợp với đọc hiểu mục 1 tr.122 - 123 SGK trả lời các câu hỏi sau:

1. Sắp xếp có nghĩa là gì?

2. Phân biệt sắp xếp tại chỗ và không tại chỗ.

3. Nghịch thế là gì? Nghịch thế có vai trò gì trong thuật toán sắp xếp.

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

- HS đọc và tìm hiểu thông tin mục 1 SGK trang 122, thực hiện nhiệm vụ được giao.

- 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 1 - 2 HS trả lời câu hỏi.

- HS 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 câu trả lời của HS, kết luận, chốt kiến thức và yêu cầu HS ghi chép đầy đủ vào vở.

- GV chú ý và dẫn dắt HS sang hoạt động tiếp theo: cặp phần tử là nghịch thế không nhất thiết phải liền kề nhau. Tổng số nghịch thế trong một dãy sẽ lớn hơn số các nghịch thế là cặp phần tử liền kề. Nhưng mỗi khi đổi chỗ một cặp phần tử liền kề thì số nghịch thế chắc chắn sẽ giảm đi, ít nhất là 1. Đây là cơ sở cho ý tưởng thuật toán sắp xếp nổi bọt.

1. Bài toán sắp xếp

- Trong tin học, thuật ngữ sắp xếp đề cấp đến việc tổ chức lại một tập hợp dữ liệu theo một tiêu chí sắp xếp, tức là đáp ứng một yêu cầu cụ thể về trình tự.

- Yêu cầu sắp xếp cần chỉ rõ cách so sánh hai mục dữ liệu để quyết định thứ tự.

Ví dụ: Bài toán sắp xếp đơn giản và minh họa bằng sắp xếp dãy số.

- Đầu vào: Dãy n số a0, a1 ,..., an – 1.

- Đầu ra: Dãy được sắp xếp theo thứ tự tăng dần (không giảm).

Sắp xếp tại chỗ và không tại chỗ

- Một thuật toán không dùng thêm một dãy khác ở bên ngoài dãy ban đầu để thực hiện sắp xếp được gọi là sắp xếp tại chỗ.

- Nếu thuật toán sử dụng một dãy khác ở bên ngoài dãy ban đầu để chứa kết quả thì gọi là sắp xếp không tại chỗ.

Nghịch thế

- Nếu i < j ai > aj thì cặp hai phần tử (ai, aj) gọi là một nghịch thế.

- Một thuật toán sắp xếp dựa trên ý tưởng giảm dần và tiến đến triệt tiêu các nghịch thế trong dãy.

 

Hoạt động 2: Thuật toán sắp xếp nổi bọt (Bubble Sort)

  1. Mục tiêu: HS viết được chương trình cho một vài thuật toán sắp xếp.
  2. Nội dung: GV nêu nhiệm vụ; HS thảo luận nhóm 3 - 4 HS, đọc hiểu mục 2, quan sát Hình 1, 2 tr.123 - 124 SGK, thực hiện nhiệm vụ được giao.
  3. Sản phẩm học tập: Thuật toán sắp xếp nổi bọt (Bubble Sort).
  4. Tổ chức hoạt động:

HOẠT ĐỘNG CỦA GV - HS

DỰ KIẾN SẢN PHẨM

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

- GV yêu cầu HS hoạt động nhóm 3 - 4 HS, trả lời câu hỏi Hoạt động tr.123 SGK:

Dựa trên minh họa diễn biến từng bước của thuật toán sắp xếp nổi bọt được trình bày như ở Hình 1, em hãy nêu tóm tắt ý tưởng của thuật toán này.

- GV yêu cầu nhóm HS đọc hiểu mục 2, quan sát Hình 1, 2 tr.123 - 124 và viết chương trình thuật toán thuật toán sắp xếp nổi bọt.

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

- HS đọc hiểu thông tin mục 2, quan sát Hình 1 tr.123 - 124 SGK, thực hiện nhiệm vụ được giao.

- GV theo dõi, hỗ trợ HS trong quá trình học tập, gợi ý HS đọc kĩ Nhận xét tr.124 để cải tiến thêm, giảm bớt một số thao tác thừa, đồng thời cũng thấy được rằng: Nhiều nhất là sau n – 1 lần rà soát dãy thì sẽ sắp xếp xong. Do đó, để kiểm soát điều kiện “không còn xảy ra đổi chỗ”, ở vòng lặp ngoài có thể dùng for hay while đều được.

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

- GV mời 1 - 2 nhóm HS trả lời câu hỏi Hoạt động tr.123 SGK:

Ý tưởng của thuật toán sắp xếp nổi bọt: Thực hiện việc sắp xếp giảm dần và tiến đến triệt tiêu hết các nghịch thế trong dãy cho đến khi không còn nghịch thế nào.

- GV mời một số HS thực hiện viết chương trình thuật toán sắp xếp nổi bọt trước lớp và chạy thử kết quả.

- Các HS còn lại nhận xét, bổ sung (nếu có).

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

- GV nhận xét kết quả trả lời của HS.

- GV tổng quát kiến thức và yêu cầu HS ghi chép đầy đủ vào vở.

2. Thuật toán sắp xếp nổi bọt (Bubble Sort)

- Ý tưởng sắp xếp nổi bọt (Bubble Sort):

+ Xét lần lượt các cặp phần tử liên tiếp: nếu ai > ai+1 thì đổi chỗ [ai, ai+1].

+ Lặp lại cho đến khi triệt tiêu hết các cặp nghịch thế.

+ Có thể chứng minh sau vòng lặp 1 thì số lớn nhất trong dãy sẽ được chuyển đến vị trí cuối dãy, tức là phần tử a[n – 1] đã ở đúng vị trí. Như vậy vòng lặp 2 chỉ cần rà soát nghịch thế và đổi chỗ đến vị trí n – 2.

- Sau vòng lặp i thì phần tử a[n – i – 1] đã ở đúng vị trí.

- Mã giả của thuật toán sắp xếp nổi bọt:

 

 

 

 

Hoạt động 3: Thuật toán sắp xếp chèn tuyến tính (Insertion Sort)

  1. Mục tiêu: HS viết được chương trình cho một vài thuật toán sắp xếp.
  2. Nội dung: GV giao nhiệm vụ; HS hoạt động nhóm 3 - 4 HS đọc hiểu mục 3, quan sát Hình 3, 4 tr.124 - 125 SGK, thực hiện nhiệm vụ.
  3. Sản phẩm học tập: Thuật toán sắp xếp chèn tuyến tính (Insertion Sort).
  4. Tổ chức hoạt động:

HOẠT ĐỘNG CỦA GV - HS

DỰ KIẾN SẢN PHẨM

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

- GV tổ chức cho nhóm HS tiếp tục hoạt động.

- GV yêu cầu nhóm HS đọc hiểu mục 3, quan sát Hình 3, 4 tr.124 - 125 SGK để hình thành kiến thức mới về thuật toán sắp xếp chèn tuyến tính (Insertion Sort), sau đó thảo luận nhóm viết chương trình Python.

- GV phân tích việc “chèn ai vào đúng chỗ của nó” trong dãy {a0, a1 ,..., ai – 1} thành hai bước:

a) Tìm vị trí đúng của ai.

b) Dịch cả đoạn {a0, a1 ,..., ai – 1} là để làm rõ ý nghĩa của tên gọi “chèn tuyến tính” (Dành cho HS có năng lực, GV có thể ra bài tập, bài thực hành viết chương trình thuật toán sắp xếp chèn nhị phân).

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

- Nhóm HS đọc hiểu mục 3, quan sát Hình 3, 4 tr.124 - 125 SGK và thực hiện nhiệm vụ.

- 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 một số HS thực hiện viết chương trình sắp xếp chèn tuyến tính trước lớp và chạy thử.

- 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 kết quả thảo luận của HS, thái độ làm việc của HS trong nhóm.

- GV kết luận và yêu cầu HS ghi chép đầy đủ vào vở.

3. Thuật toán sắp xếp chèn tuyến tính (Insertion Sort)

Ý tưởng sắp xếp chèn tuyến tính:

- Vì dãy con a0 chỉ có một phần tử, nên dãy con này có thứ tự.

- Lặp lại việc chèn ai  với 1 ≤ i < n như sau:

Xét dãy con a0,..., ai – 1 đã có thứ tự, ta chèn ai vào dãy con này sao cho dãy con sau khi chèn sẽ có thứ tự.

Mô tả thuật toán chèn tuyến tính:

Mô tả các bước của thuật toán như sau:

Bước 0. i ← 1;

Bước 1.

      if i ≥ n: kết thúc;

     else: val ← ai; k ← i – 1;

Bước 2.

     if k ≥ 0:

           if ak > val: ak + 1 ← ak; k ← k – 1; đến Bước 2;

Bước 3. ak + 1 ← val; i ← i + 1; đến Bước 1;

Để “chèn ai vào đúng chỗ của nó” trong dãy a0, a1 ,..., ai – 1 cần:

a) Tìm được chỗ đúng thứ tự của ai : Cho k đi từ i – 1 qua trái cho đến khi ak ≤ ai hoặc k = – 1.

b) Lấy ai  ra khỏi dãy; dịch chuyển dãy ak + 1 ,..., ai – 1 sang phải một vị trí để có chỗ trống tại ak + 1; đưa ai vào chỗ trống đó.

Mã giả thuật toán sắp xếp chèn tuyến tính

Thuật toán sắp xếp chèn tuyến tính kết hợp làm đồng thời hai việc a) và b) theo cách dịch chuyển dần từng bước sang trái, từ vị trí i tới vị trí k + 1.

- Vòng lặp for bên ngoài kiểm soát việc thực hiện đúng n – 1 bước.

- Vòng lặp while lồng bên trong thực hiện đồng thời cùng lúc hai việc a) và b) trong mỗi bước.

 

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

  1. Mục tiêu: Viết được chương trình cho một vài thuật toán sắp xếp.
  2. Nội dung: GV giao nhiệm vụ, HS đọc hiểu thông tin nhiệm vụ mục 4 SGK trang 125; thực hiện các nhiệm vụ GV giao.
  3. Sản phẩm học tập: Sản phẩm học tập của HS.
  4. Tổ chức hoạt động:

HOẠT ĐỘNG CỦA GV - HS

DỰ KIẾN SẢN PHẨM

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

- GV nêu các nhiệm vụ, yêu cầu HS hoạt động nhóm (3 - 4 HS) thực hiện nhiệm vụ:

Nhiệm vụ 1. Em hãy thực hiện các công việc sau:

a) Tính số lần lặp của vòng lặp bên trong của thuật toán sắp xếp chèn tuyến tính.

b) Tính số lần lặp của vòng lặp ngoài của thuật toán sắp xếp chèn tuyến tính.

c) Ước lượng độ phức tạp thời gian của thuật toán sắp xếp chèn tuyến tính.

Nhiệm vụ 2. Em hãy viết chương trình Python thực hiện thuật toán sắp xếp nổi bọt.

Nhiệm vụ 3. Em hãy viết chương trình Python thực hiện thuật toán sắp xếp chèn tuyến tính dựa trên mã giả đã cho trong bài học.

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

- HS dựa vào kiến thức đã học, thực hành nhiệm vụ được giao.

- 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

- Các nhóm báo cáo sản phẩm thực hành.

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

- GV nhận xét sản phẩm của các nhóm, gợi ý chỉnh sửa nếu chương trình không chạy.

- GV kết luận và chuẩn kiến thức.

4. Thực hành

Nhiệm vụ 1.

a) Số lần lặp của vòng lặp bên trong với bước i sẽ không quá i.

b) Vòng lặp ngoài của thuật toán được thực hiện đúng n – 1 lần như đã nhận xét trong bài học.

c) Ước lượng độ phức tạp thời gian của thuật toán sắp xếp chèn tuyến tính là O(n2) vì không vượt quá tổng 1 + 2 + … + n – 1.

Nhiệm vụ 2 và Nhiệm vụ 3

Kết quả đính kèm dưới Hoạt động 4.

Kết luận:

- Thuật toán sắp xếp nổi bọt có hai vòng lặp lồng nhau; vòng lặp trong thực hiện đổi chỗ một lượt các cặp phần tử là nghịch thế, vòng lặp ngoài kiểm tra điều kiện “không xảy ra đổi chỗ”.

- Việc tìm vị trí chèn đúng chỗ trong thuật toán sắp xếp chèn có thể thực hiện bằng cách dịch dần từng bước.

Soạn mới giáo án Khoa học máy tính 11 cánh diều Chủ đề F(CS) Bài 8: Lập trình một số thuật toán sắp xếp

TẢI GIÁO ÁN WORD BẢN ĐẦY ĐỦ:

  • Font chữ: Time New Roman, trình bày rõ ràng, khoa học.
  • Giáo án tải về là giáo án bản word, dễ dàng chỉnh sửa nếu muốn
  • Tất cả các bài đều soạn đầy đủ nội dung và theo đúng mẫu ở trên

THỜI GIAN BÀN GIAO GIÁO ÁN:

  • Nhận đủ cả năm ngay và luôn

PHÍ GIÁO ÁN:

  • Phí giáo án: 300k/kì - 350k/cả năm

=> Tặng kèm nhiều tài liệu tham khảo khi mua giáo án:

  • Đề thi 
  • Trắc nghiệm

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

Từ khóa tìm kiếm: giáo án khoa học máy tính 11 cánh diều mới, soạn giáo án khoa học máy tính 11 cánh diều bài Lập trình một số thuật toán sắp xếp, giáo án khoa học máy tính 11 cánh diều

Soạn giáo án khoa học máy tính 11 cánh diều


Đia chỉ: Tòa nhà TH Office, 90 Khuất Duy Tiến, Thanh Xuân, Hà Nội
Điện thoại hỗ trợ: Fidutech - click vào đây
Chúng tôi trên Yotube
Cùng hệ thống: baivan.net - Kenhgiaovien.com - tech12h.com

Chat hỗ trợ
Chat ngay