Giáo án Tin học 11 · Chung, Khoa học máy tính và Tin học ứng dụng
Tin họcLớp 11Phần 6. KHMT · Chủ đề 6. Kĩ thuật lập trình · Chọn định hướng, không bắt buộc THUD

Giáo án Bài 21 · KHMT. Các thuật toán sắp xếp đơn giản

Kế hoạch bài dạy theo mẫu Công văn 5512/BGDĐT-GDTrH · 2 tiết (90 phút)

I. Mục tiêu

1. Kiến thức

  • Nêu được ý tưởng của ba thuật toán sắp xếp đơn giản: chọn, chèn và nổi bọt.
  • Mô tả được kết quả từng lượt của mỗi thuật toán trên cùng một dãy số, ví dụ [3,1,2][3,1,2].
  • Giải thích được vì sao phải sao chép dãy, bảo toàn đủ số phần tử kể cả giá trị lặp và không làm thay đổi danh sách nguồn.
  • Vận dụng được đoạn mã sắp xếp chọn để tính kết quả và kiểm tra điều kiện áp dụng của thuật toán.

2. Năng lực

a) Năng lực chung

  • Tự chủ và tự học: Chủ động theo dõi, ghi lại từng lượt sắp xếp trên phiếu học tập và tự kiểm tra kết quả bằng cách chạy thử chương trình.
  • Giao tiếp và hợp tác: Trao đổi trong nhóm để thống nhất quy ước lượt quét khi so sánh ba thuật toán và trình bày kết quả trước lớp.
  • Giải quyết vấn đề và sáng tạo: Phân tích được vì sao kết quả các thuật toán khác nhau ở bước trung gian nhưng cùng cho dãy tăng dần, từ đó chọn phương án phù hợp cho bài toán.

b) Năng lực đặc thù

  • NLa: Sử dụng được máy tính và phần mềm soạn thảo, chạy chương trình Python hoặc trình duyệt để mở trang bài học NeoEdu, xem ví dụ và làm bài tập tương tác.
  • NLc: Giải quyết được bài toán sắp xếp một dãy số bằng cách chọn thuật toán phù hợp, cài đặt và kiểm tra kết quả với sự hỗ trợ của công cụ tin học.
  • NLd: Sử dụng tài nguyên số (bài giảng, ví dụ, bài tập tương tác trên NeoEdu) để tự học, tự kiểm tra và củng cố kiến thức về thuật toán sắp xếp.

3. Phẩm chất

  • Chăm chỉ: Hoàn thành đầy đủ các lượt trong phiếu học tập và kiểm tra lại từng bước khi kết quả chưa đúng.
  • Trách nhiệm: Làm việc nghiêm túc trong nhóm, chia sẻ máy tính và phân công người ghi, người chạy chương trình rõ ràng.
  • Trung thực: Ghi đúng kết quả chạy thực tế của chương trình, không sửa kết quả trên phiếu cho khớp với đáp án mong đợi.

II. Thiết bị dạy học và học liệu

1. Giáo viên

  • Máy tính, máy chiếu, bảng phụ hoặc bảng viết để minh hoạ từng lượt sắp xếp.
  • Phần mềm Python (IDLE hoặc tương đương) để chạy thử mã mẫu trước lớp.
  • Học liệu số NeoEdu: trang bài học có bài giảng, ví dụ và bài tập tương tác tại neoedu.vn/learn/11/informatics/bai-21-khmt-cac-thuat-toan-sap-xep-don-gian (dùng ở hoạt động luyện tập và vận dụng).
  • Phiếu học tập số 1 và số 2 (in hoặc chiếu lên màn hình).

2. Học sinh

  • Máy tính có Python hoặc trình duyệt web truy cập được trang NeoEdu (làm việc theo cặp).
  • Phiếu học tập, bút, giấy nháp để vẽ vết các lượt sắp xếp.
  • Sách giáo khoa Tin học 11 (phần KHMT, Bài 21).

III. Tiến trình dạy học

Hoạt động 1: Mở đầu · 8 phút

Đoán cách đưa dãy về thứ tự tăng dần

a) Mục tiêu

Học sinh nhận ra nhu cầu sắp xếp một dãy số và huy động cách làm tự nhiên của mình, từ đó xác định nhiệm vụ của bài.

b) Nội dung

GV đưa dãy [3,1,2][3,1,2] lên màn hình và hỏi: “Làm thế nào để đưa dãy này về thứ tự tăng dần bằng một quy trình rõ ràng, máy tính có thể làm theo được?”. HS suy nghĩ 1 phút, sau đó nêu cách làm của mình. Nhiệm vụ của cả lớp là so sánh các cách làm đó với ba thuật toán sẽ học trong bài.

c) Sản phẩm

Học sinh nêu được ít nhất một cách tự nhiên để sắp xếp dãy, ví dụ “tìm số nhỏ nhất rồi đặt lên đầu”, “lấy từng số đặt vào đúng chỗ”, “so sánh hai số kề nhau và đổi chỗ nếu sai”. Từ đó lớp thống nhất mục tiêu: hiểu cách hoạt động, vết các lượt và điều kiện áp dụng của ba thuật toán.

d) Tổ chức thực hiện

  1. Giáo viên

    Bước 1: Chuyển giao nhiệm vụ

    GV trình bày dãy [3,1,2][3,1,2] và đặt câu hỏi: “Làm thế nào để đưa dãy này về thứ tự tăng dần bằng một quy trình máy tính có thể làm theo?”. GV yêu cầu HS suy nghĩ cá nhân 1 phút.

    Học sinh

    HS suy nghĩ cá nhân và ghi nhanh một cách làm trên giấy nháp.

  2. Giáo viên

    Bước 2: Thực hiện nhiệm vụ

    GV mời 2 đến 3 HS trình bày cách làm của mình và ghi lại các ý chính lên bảng.

    Học sinh

    HS trả lời dự kiến: “Tìm số nhỏ nhất rồi đưa lên đầu.” “Lấy số thứ hai đặt vào đúng chỗ trong phần đã sắp.” “So sánh hai số kề nhau và đổi chỗ nếu sai thứ tự.”

  3. Giáo viên

    Bước 3: Báo cáo, thảo luận

    GV hỏi: “Các cách vừa nêu có điểm chung nào? Điều gì xảy ra nếu dãy có hai số bằng nhau?”. Gợi ý HS nhận ra cần phân biệt rõ các cách làm trong từng bước.

    Học sinh

    HS trả lời dự kiến: “Các cách đều làm từng bước một, mỗi bước thay đổi một phần của dãy.” “Số lặp không được mất, vì dãy phải giữ đủ số phần tử.”

  4. Giáo viên

    Bước 4: Kết luận, nhận định

    GV chốt: Có nhiều cách sắp xếp, mỗi cách là một thuật toán với quy tắc riêng. Bài học hôm nay tìm hiểu ba thuật toán: chọn, chèn và nổi bọt, cùng dùng để kiểm chứng trên dãy [3,1,2][3,1,2].

    Học sinh

    HS ghi tên bài và ba thuật toán cần học vào vở.

Hoạt động 2.1: Hình thành kiến thức mới · 18 phút

Sắp xếp chọn: đưa phần tử nhỏ nhất về đầu

a) Mục tiêu

Học sinh nêu được ý tưởng của sắp xếp chọn và mô tả đúng kết quả từng lượt trên dãy [3,1,2][3,1,2].

b) Nội dung

Học sinh làm việc theo cặp, theo dõi trên phiếu học tập số 1, phần A. Nhiệm vụ: với dãy [3,1,2][3,1,2], ở mỗi lượt ii tìm phần tử nhỏ nhất trong đoạn chưa sắp từ vị trí ii đến hết, đổi chỗ với phần tử tại vị trí ii, rồi ghi lại dãy sau mỗi lượt. Đặt câu hỏi: “Sau lượt đầu, đoạn nào được coi là đã sắp? Vì sao phần tử ở vị trí 0 không cần đổi nữa?”. GV nhắc HS giữ nguyên dãy gốc, làm việc trên bản sao.

c) Sản phẩm

Ý tưởng: ở mỗi lượt, đưa phần tử nhỏ nhất của đoạn chưa sắp về vị trí đầu đoạn đó. Vết: Ban đầu [3,1,2][3,1,2]. Lượt 1 (i=0i=0): phần tử nhỏ nhất là 11 ở vị trí 1, đổi với 33, được [1,3,2][1,3,2]. Lượt 2 (i=1i=1): trong đoạn [3,2][3,2] phần tử nhỏ nhất là 22, đổi với 33, được [1,2,3][1,2,3]. Kết luận: sau mỗi lượt, đoạn đầu 0..i0..i đã đúng thứ tự và không thay đổi nữa.

d) Tổ chức thực hiện

  1. Giáo viên

    Bước 1: Chuyển giao nhiệm vụ

    GV chiếu phiếu học tập số 1, phần A và giải thích quy tắc: mỗi lượt tìm phần tử nhỏ nhất trong đoạn chưa sắp, đổi về vị trí đầu đoạn đó, ghi lại dãy. GV yêu cầu các cặp làm trên giấy nháp trong 5 phút.

    Học sinh

    HS nhận phiếu, đọc quy tắc và chia công việc: một bạn ghi vết, một bạn kiểm tra lại từng lượt.

  2. Giáo viên

    Bước 2: Thực hiện nhiệm vụ

    GV đi quanh lớp, kiểm tra các cặp có đổi đúng vị trí và có giữ dãy gốc hay không. GV nhắc các cặp chưa đúng so sánh lại với phần tử nhỏ nhất.

    Học sinh

    HS làm và ghi: lượt 1 cho [1,3,2][1,3,2]; lượt 2 cho [1,2,3][1,2,3]. Một số HS có thể ghi lượt 2 là [1,3,2][1,3,2] do chưa tìm đúng phần tử nhỏ nhất trong [3,2][3,2].

  3. Giáo viên

    Bước 3: Báo cáo, thảo luận

    GV mời một cặp trình bày vết trên bảng và hỏi: “Vì sao lượt 2 tìm trong đoạn [3,2][3,2] chứ không phải cả dãy?”. GV dẫn HS nhận ra đoạn đầu đã cố định.

    Học sinh

    HS trả lời dự kiến: “Vì vị trí 0 đã có số nhỏ nhất 11 nên không cần xét lại.” “Đoạn chưa sắp là các vị trí từ ii trở đi.”

  4. Giáo viên

    Bước 4: Kết luận, nhận định

    GV chốt: Sắp xếp chọn đưa phần tử nhỏ nhất của đoạn chưa sắp về đầu đoạn. Sau lượt ii, các vị trí từ 00 đến ii đã đúng thứ tự. GV nhấn mạnh: phải ghi rõ lượt nào, vị trí nào trước khi so sánh kết quả với các thuật toán khác.

    Học sinh

    HS ghi vào vở: Sắp xếp chọn – lượt ii đưa phần tử nhỏ nhất của đoạn chưa sắp về vị trí ii.

Hoạt động 2.2: Hình thành kiến thức mới · 18 phút

Sắp xếp chèn: giữ đoạn đầu đã sắp

a) Mục tiêu

Học sinh nêu được ý tưởng của sắp xếp chèn, giải thích vai trò của việc lưu khoá trước khi dịch và mô tả đúng vết trên dãy [3,1,2][3,1,2].

b) Nội dung

Học sinh làm việc theo cặp, ghi vết trên phiếu học tập số 1, phần B. Nhiệm vụ: bắt đầu từ i=1i=1, lưu khoá x=b[i]x=b[i]; dịch sang phải các phần tử lớn hơn xx trong đoạn đầu đã sắp, rồi đặt xx vào chỗ trống. Làm với dãy [3,1,2][3,1,2] và ghi dãy sau mỗi lần chèn. Đặt câu hỏi: “Vì sao phải lưu khoá trước khi dịch? Nếu không lưu thì điều gì xảy ra?”.

c) Sản phẩm

Ý tưởng: lấy phần tử mới ra làm khoá, dịch các phần tử lớn hơn khoá sang phải trong đoạn đầu đã sắp, rồi chèn khoá vào vị trí trống. Vết: Ban đầu [3,1,2][3,1,2]. Chèn lần 1 (i=1i=1, khoá 11): 33 lớn hơn 11 nên dịch sang phải, đặt 11 vào đầu, được [1,3,2][1,3,2]. Chèn lần 2 (i=2i=2, khoá 22): 33 lớn hơn 22 nên dịch, 11 nhỏ hơn 22 nên dừng, đặt 22 vào vị trí 1, được [1,2,3][1,2,3]. Nếu không lưu khoá, khi ghi đè b[j+1]b[j+1] sẽ làm mất giá trị cần chèn.

d) Tổ chức thực hiện

  1. Giáo viên

    Bước 1: Chuyển giao nhiệm vụ

    GV chiếu phần B của phiếu học tập số 1 và nêu quy tắc: lưu khoá, dịch các phần tử lớn hơn khoá sang phải, đặt khoá vào chỗ trống. GV yêu cầu các cặp ghi vết với dãy [3,1,2][3,1,2].

    Học sinh

    HS đọc quy tắc, phân vai và làm việc trên giấy nháp trong khoảng 5 phút.

  2. Giáo viên

    Bước 2: Thực hiện nhiệm vụ

    GV theo dõi các cặp, nhắc HS chú ý điều kiện dừng khi gặp phần tử nhỏ hơn hoặc bằng khoá và việc đặt khoá vào vị trí j+1j+1.

    Học sinh

    HS làm và ghi: sau chèn 1 là [1,3,2][1,3,2]; sau chèn 2 là [1,2,3][1,2,3]. HS kiểm tra lại bằng cách so sánh với kết quả lượt chọn đã làm.

  3. Giáo viên

    Bước 3: Báo cáo, thảo luận

    GV hỏi: “Nếu dãy đã tăng sẵn như [1,2,3][1,2,3] thì thuật toán làm gì? Vì sao lại có phần ‘không dịch’?”. Mời một cặp trả lời.

    Học sinh

    HS trả lời dự kiến: “Mỗi khoá đều lớn hơn phần tử đứng trước nên không có phần tử nào phải dịch.” “Khi khoá không nhỏ hơn phần tử kề thì vòng lặp dừng ngay.”

  4. Giáo viên

    Bước 4: Kết luận, nhận định

    GV chốt: Sắp xếp chèn coi đoạn đầu đã sắp, lấy từng phần tử mới chèn vào đúng chỗ. Phải lưu khoá trước khi dịch để không mất phần tử. Dãy đã tăng sẵn thì mỗi khoá không phải dịch.

    Học sinh

    HS ghi vào vở ý tưởng và lưu ý về việc lưu khoá.

Hoạt động 2.3: Hình thành kiến thức mới · 18 phút

Nổi bọt: đổi cặp kề sai thứ tự

a) Mục tiêu

Học sinh nêu được ý tưởng của nổi bọt theo quy ước quét trái sang phải, mô tả đúng vết một lượt và nêu được quy ước khi so sánh ba thuật toán.

b) Nội dung

Học sinh làm việc theo cặp, ghi vết trên phiếu học tập số 1, phần C và điền bảng so sánh ở phần D. Nhiệm vụ: với dãy [3,1,2][3,1,2], quét từ trái sang phải một lượt, đổi hai phần tử kề nhau khi phần tử bên trái lớn hơn phần tử bên phải; ghi lại dãy sau mỗi lần đổi. Đặt câu hỏi: “Sau một lượt quét, phần tử nào chắc chắn nằm ở vị trí cuối?”. Nhắc HS: đây là một quy ước; nếu quét ngược chiều thì vết khác.

c) Sản phẩm

Ý tưởng: lặp lại việc đổi cặp kề sai thứ tự; sau mỗi lượt quét trái sang phải, phần tử lớn nhất của đoạn đang xét dồn về bên phải. Vết lượt đầu với [3,1,2][3,1,2]: so 33 với 11, sai nên đổi, được [1,3,2][1,3,2]; so 33 với 22, sai nên đổi, được [1,2,3][1,2,3]. Lượt đầu kết thúc với [1,2,3][1,2,3]. Lượt sau không còn cặp sai nên dừng.

d) Tổ chức thực hiện

  1. Giáo viên

    Bước 1: Chuyển giao nhiệm vụ

    GV nêu quy ước: một lượt quét trái sang phải, đổi hai phần tử kề nhau khi bên trái lớn hơn bên phải. GV yêu cầu HS ghi vết lượt đầu với dãy [3,1,2][3,1,2] và nhắc rằng quy ước này phải được nêu rõ.

    Học sinh

    HS đọc quy ước, làm việc theo cặp và ghi các lần đổi trên giấy nháp.

  2. Giáo viên

    Bước 2: Thực hiện nhiệm vụ

    GV đi quanh lớp, kiểm tra các cặp có so sánh đúng cặp kề hay không. GV gợi ý: “Hãy đếm xem lượt đầu có bao nhiêu lần đổi.”

    Học sinh

    HS làm và ghi: đổi 33 với 11 được [1,3,2][1,3,2]; đổi 33 với 22 được [1,2,3][1,2,3]. Sau đó điền phần D của phiếu để so sánh ba thuật toán.

  3. Giáo viên

    Bước 3: Báo cáo, thảo luận

    GV mời một cặp trình bày vết và điền bảng so sánh lượt đầu của ba thuật toán lên bảng. GV hỏi: “Vì sao cùng một dãy mà vết của ba thuật toán khác nhau?”.

    Học sinh

    HS trả lời dự kiến: “Chọn sau lượt đầu là [1,3,2][1,3,2], chèn sau lượt đầu là [1,3,2][1,3,2], nổi bọt sau lượt đầu là [1,2,3][1,2,3].” “Vì mỗi thuật toán thực hiện các thao tác khác nhau trong một lượt.”

  4. Giáo viên

    Bước 4: Kết luận, nhận định

    GV chốt: Nổi bọt đổi cặp kề sai thứ tự và đẩy phần tử lớn nhất về cuối đoạn sau mỗi lượt. Khi so sánh ba thuật toán phải nêu rõ quy ước lượt. Cùng một dãy có thể cho vết khác nhau nhưng đều đúng.

    Học sinh

    HS ghi vào vở ý tưởng nổi bọt và bảng so sánh lượt đầu.

Hoạt động 3: Luyện tập · 18 phút

Luyện tập: tính kết quả và kiểm tra điều kiện áp dụng

a) Mục tiêu

Học sinh vận dụng được ba thuật toán để dự đoán và kiểm tra kết quả chương trình, nhận biết điều kiện bảo toàn số phần tử.

b) Nội dung

Học sinh làm việc theo cặp trên trang bài tập tương tác của NeoEdu hoặc làm trên phiếu học tập số 2. Nhiệm vụ: (1) Dự đoán rồi kiểm tra kết quả của các đoạn mã sắp xếp chọn trên [3,1,2][3,1,2] (lấy phần tử thứ 1), [4,4,1][4,4,1] (tính độ dài), [−2,−5,0][-2,-5,0] (lấy phần tử đầu). (2) Chọn đáp án đúng về việc chọn làm gì mỗi lượt. (3) Xác định câu đúng/sai về việc bỏ giá trị trùng. (4) Sắp xếp các bước phương pháp giải. (5) Mô tả lượt đầu của ba thuật toán với [3,1,2][3,1,2] và nêu sự khác nhau. GV đặt câu hỏi kiểm tra: “Chương trình in ra số nào? Vì sao?”.

c) Sản phẩm

Đáp án: (1) Dãy đã sắp [1,2,3][1,2,3], phần tử thứ 1 là 22. Dãy [4,4,1][4,4,1] sau khi sắp có 3 phần tử, in 33. Dãy [−2,−5,0][-2,-5,0] sắp thành [−5,−2,0][-5,-2,0], phần tử đầu là −5-5. (2) Đáp án A: chọn phần tử nhỏ nhất của phần chưa sắp và đưa về vị trí ii. (3) Sai: sắp xếp phải bảo toàn số phần tử, không được bỏ giá trị trùng. (4) Thứ tự đúng: Sao chép dãy → Chọn nhỏ nhất phần còn lại → Đổi với đầu phần chưa sắp → Tiếp tục và kiểm tra bảo toàn. (5) Chọn lượt đầu: [1,3,2][1,3,2]; chèn lượt đầu: [1,3,2][1,3,2]; nổi bọt quét trái sang phải cả lượt: [1,2,3][1,2,3]. Sự khác nhau: chọn và chèn cùng cho [1,3,2][1,3,2] nhưng theo cách khác; nổi bọt đổi nhiều cặp nên đến [1,2,3][1,2,3]; phải ghi quy ước lượt khi nêu kết quả.

d) Tổ chức thực hiện

  1. Giáo viên

    Bước 1: Chuyển giao nhiệm vụ

    GV mở trang bài tập tương tác NeoEdu hoặc chiếu phiếu học tập số 2 và yêu cầu các cặp dự đoán trước khi chạy chương trình. GV nhắc: trước khi chạy, hãy ghi dự đoán ra giấy.

    Học sinh

    HS đọc đề, ghi dự đoán cho từng câu rồi mới chạy kiểm tra.

  2. Giáo viên

    Bước 2: Thực hiện nhiệm vụ

    GV theo dõi, hỗ trợ các cặp gặp lỗi chạy chương trình, đặc biệt ở câu có số âm và câu có số trùng.

    Học sinh

    HS chạy chương trình, so sánh với dự đoán và hoàn thành các câu hỏi trắc nghiệm, đúng sai, sắp xếp.

  3. Giáo viên

    Bước 3: Báo cáo, thảo luận

    GV chọn ngẫu nhiên hai cặp báo cáo kết quả câu 1 và câu 5. GV hỏi: “Vì sao kết quả của câu 1 là 22?”. “Vì sao phải nêu quy ước khi so sánh ba thuật toán?”.

    Học sinh

    HS trả lời dự kiến: “Dãy sau khi sắp là [1,2,3][1,2,3] nên phần tử thứ 1 là 22.” “Vì cùng một dãy có vết khác nhau theo từng thuật toán và từng quy ước lượt.”

  4. Giáo viên

    Bước 4: Kết luận, nhận định

    GV nhận xét, chốt đáp án và nhấn mạnh hai điểm: thuật toán bảo toàn đủ số phần tử, và phải kiểm tra điều kiện (dữ liệu so sánh được, dãy không bị làm thay đổi).

    Học sinh

    HS sửa lại các câu sai và ghi vào vở các điều kiện áp dụng.

Hoạt động 4: Vận dụng · 10 phút

Vận dụng: sắp xếp điểm thi của lớp

a) Mục tiêu

Học sinh vận dụng sắp xếp chọn để sắp xếp danh sách điểm thi thực tế, kiểm tra kết quả và điều kiện áp dụng; có thể hoàn thành ở nhà.

b) Nội dung

Đề bài: Cho danh sách điểm kiểm tra của 6 bạn trong tổ, ví dụ [7,5,8,5,9,6][7,5,8,5,9,6]. Học sinh viết hàm sắp xếp chọn trên bản sao của danh sách, in ra danh sách đã sắp và điểm lớn nhất, nhỏ nhất. Kiểm tra: danh sách gốc có còn nguyên không; số lần xuất hiện của điểm 55 có giữ nguyên không; nếu danh sách có chữ thay vì số thì thuật toán có áp dụng được không? Gợi ý: GV có thể yêu cầu HS tự tạo một danh sách điểm của mình và lưu kết quả vào vở.

c) Sản phẩm

Kết quả mẫu: danh sách sau khi sắp là [5,5,6,7,8,9][5,5,6,7,8,9]; điểm nhỏ nhất là 55, điểm lớn nhất là 99; hai số 55 được giữ đủ. Điều kiện áp dụng: các phần tử phải so sánh được với nhau (cùng là số), danh sách gốc không bị đổi thứ tự, và số phần tử sau khi sắp phải bằng số phần tử ban đầu.

d) Tổ chức thực hiện

  1. Giáo viên

    Bước 1: Chuyển giao nhiệm vụ

    GV nêu đề bài trên màn hình và yêu cầu HS viết hàm sắp xếp chọn trên bản sao. GV nhấn mạnh việc kiểm tra điều kiện áp dụng. GV giao thêm nhiệm vụ về nhà: thử với danh sách điểm của chính mình.

    Học sinh

    HS đọc đề, viết nháp hàm trong vài phút và chạy thử trên máy tính.

  2. Giáo viên

    Bước 2: Thực hiện nhiệm vụ

    GV gợi ý nếu HS gặp khó: “Hãy in danh sách gốc trước và sau khi sắp để kiểm tra không bị đổi.”

    Học sinh

    HS chạy thử, in kết quả và kiểm tra số lần xuất hiện của điểm 55.

  3. Giáo viên

    Bước 3: Báo cáo, thảo luận

    GV mời 1 đến 2 HS trình bày kết quả và cách kiểm tra. GV hỏi: “Nếu danh sách có chữ thì điều gì xảy ra?”.

    Học sinh

    HS trả lời dự kiến: “Danh sách sau khi sắp là [5,5,6,7,8,9][5,5,6,7,8,9], còn điểm 55 vẫn có hai lần.” “Nếu có chữ và số lẫn nhau thì so sánh không hợp lệ nên không áp dụng được.”

  4. Giáo viên

    Bước 4: Kết luận, nhận định

    GV tổng kết: Sắp xếp chọn giải quyết bài toán thực tế khi dữ liệu so sánh được và cần giữ đầy đủ các phần tử. GV khen ngợi những nhóm kiểm tra điều kiện chặt chẽ.

    Học sinh

    HS ghi kết quả vào vở và hoàn thiện bài làm nếu chưa xong.

Phiếu học tập

Phiếu học tập số 1

Dãy ban đầu: [3,1,2][3,1,2]. Làm việc theo cặp, ghi dãy sau mỗi lượt hoặc mỗi lần chèn/đổi.

A. Sắp xếp chọn

  • Lượt i=0i=0: phần tử nhỏ nhất của đoạn chưa sắp là ……; đổi với vị trí ……; dãy sau lượt là ……
  • Lượt i=1i=1: đoạn chưa sắp là ……; phần tử nhỏ nhất là ……; dãy sau lượt là ……

B. Sắp xếp chèn

  • Chèn lần 1 (i=1i=1): khoá x=x= ……; các phần tử được dịch sang phải là ……; dãy sau chèn là ……
  • Chèn lần 2 (i=2i=2): khoá x=x= ……; dãy sau chèn là ……
  • Vì sao phải lưu khoá trước khi dịch? ……

C. Nổi bọt (quét trái sang phải, một lượt)

  • Lần đổi 1: cặp được so sánh là ……; dãy sau đổi là ……
  • Lần đổi 2: cặp được so sánh là ……; dãy sau đổi là ……

D. So sánh lượt đầu của ba thuật toán

  • Chọn: ……
  • Chèn: ……
  • Nổi bọt: ……
  • Nêu một điểm khác nhau giữa ba vết: ……

Phiếu học tập số 2

Làm việc theo cặp. Dự đoán trước, sau đó chạy chương trình để kiểm tra.

  1. Đoạn mã sắp xếp chọn (sap) với [3,1,2][3,1,2] in ra phần tử thứ 1 của kết quả là số nào?
  2. Với [4,4,1][4,4,1], chương trình in ra độ dài của kết quả là bao nhiêu? Vì sao?
  3. Với [−2,−5,0][-2,-5,0], chương trình in ra phần tử đầu của kết quả là bao nhiêu?
  4. Thuật toán chọn làm gì mỗi lượt?
  • A. Chọn nhỏ nhất phần chưa sắp
  • B. Chỉ đổi cặp kề đầu tiên
  • C. Xoá mọi số lặp
  • D. Chèn giá trị ngẫu nhiên
  1. Đúng hay sai: Sắp xếp được phép bỏ giá trị trùng để dãy tăng. Giải thích.
  2. Sắp xếp các bước theo phương pháp giải: (a) Chọn nhỏ nhất phần còn lại; (b) Sao chép dãy; (c) Đổi với đầu phần chưa sắp; (d) Tiếp tục và kiểm tra bảo toàn.
  3. Mô tả lượt đầu của ba thuật toán với [3,1,2][3,1,2], nêu quy ước lượt và sự khác nhau giữa ba vết.

Hướng dẫn về nhà

  • Hoàn thiện Phiếu học tập số 1 và số 2 nếu chưa xong trên lớp; đọc lại phần Ghi nhớ của bài 21 trong sách giáo khoa.
  • Viết hàm sắp xếp chọn trên một bản sao của danh sách điểm kiểm tra của chính em (khoảng 6 đến 8 số). In danh sách gốc và danh sách đã sắp để kiểm tra danh sách gốc không bị thay đổi và số lần xuất hiện của từng điểm được giữ nguyên.
  • Truy cập trang bài học NeoEdu (neoedu.vn/learn/11/informatics/bai-21-khmt-cac-thuat-toan-sap-xep-don-gian), làm lại bài tập tương tác và ghi lại những câu sai cùng lí do.
  • Viết ngắn gọn (3 đến 5 dòng) so sánh ý tưởng của sắp xếp chọn và sắp xếp chèn, nêu một tình huống mà em thấy mỗi thuật toán tiện hơn.

Giáo án do NeoEdu soạn với sự hỗ trợ của AI, dựa trên nội dung bài học trên Học liệu. Thầy cô nên đọc lại và điều chỉnh cho phù hợp với học sinh của mình; bản Word để sửa trực tiếp.