Giáo án NLS Tin học 11 KHMT kết nối Bài 22: Thực hành bài toán sắp xếp
Giáo án NLS Tin học 11 (Khoa học máy tính) kết nối tri thức Bài 22: Thực hành bài toán sắp xếp. Với năng lực số được tích hợp, tiết học sẽ giúp học sinh làm quen và ứng dụng công nghệ, tin học. KHBD này là file word, tải về dễ dàng. Là mẫu giáo án mới nhất năm 2026 để giáo viên dạy tốt môn Tin học 11.
Xem: => Giáo án tích hợp NLS Tin học 11 Khoa học máy tính Kết nối tri thức
Ngày soạn: .../.../...
Ngày dạy: .../.../...
BÀI 22: THỰC HÀNH BÀI TOÁN SẮP XẾP
I. MỤC TIÊU
1. Kiến thức
Học xong bài này, HS đạt các yêu cầu sau:
- Áp dụng được thuật toán sắp xếp trong một vài bài toán cụ thể.
2. Năng lực
Năng lực chung:
- Tự chủ và tự học: biết lắng nghe, tự giác học tập và hoàn thành nhiệm vụ; tích cực tham gia các hoạt động học tập trong lớp.
- Giao tiếp và hợp tác: có thói quen trao đổi, giúp đỡ nhau trong học tập; biết cùng nhau hoàn thành nhiệm vụ học tập theo sự hướng dẫn của GV.
- Giải quyết vấn đề và sáng tạo: ứng dụng các kiến thức đã học vào thực tế, phát triển khả năng giải quyết vấn đề có tính tích hợp liên môn giữa Tin học với các môn học khác.
Năng lực riêng:
- Áp dụng được thuật toán sắp xếp trong một vài bài toán cụ thể.
- Hiểu và thực hiện được hai thuật toán sắp xếp là sắp xếp chèn và sắp xếp chọn, có thể áp dụng hai thuật toán trên để sắp xếp dãy số theo thứ tự tăng hoặc giảm dần.
Năng lực số:
- 5.2.NC1b: Sử dụng thành thạo IDE để viết, gỡ lỗi và thực thi chương trình sắp xếp.
- 6.1.NC1a: Phân tích cấu trúc dữ liệu tệp đầu vào/đầu ra, hiểu cách dữ liệu được tổ chức trong danh sách/mảng.
- 6.2.NC1b: Sử dụng AI để sinh dữ liệu mẫu lớn nhằm kiểm thử hiệu năng thuật toán hoặc giải thích logic code.
- 1.2.NC1a: Phân tích yêu cầu bài toán thực tế để lựa chọn giải pháp thuật toán phù hợp.
3. Phẩm chất
- 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ụ.
II. THIẾT BỊ DẠY HỌC VÀ HỌC LIỆU
1. Đối với GV
- SGK, tài liệu giảng dạy, giáo án PPT.
- Phòng thực hành máy tính kết nối Internet.
- Máy chiếu.
- Video AI tạo bằng công cụ AI được dùng để khởi động bài học.
2. Đối với HS
- SGK, SBT Tin học 11, vở ghi chép.
III. TIẾN TRÌNH DẠY HỌC
1. HOẠT ĐỘNG KHỞI ĐỘNG
a) Mục tiêu: HS nhắc lại về ý nghĩa và ý tưởng của các thuật toán sắp xếp đã học trong các bài trước.
b) Nội dung: GV tổ chức trả lời câu hỏi ở phần Mở đầu.
c) Sản phẩm: Dựa vào kiến thức của bản thân, HS thực hiện yêu cầu GV đưa ra.
d) Tổ chức thực hiện:
Bước 1: GV chuyển giao nhiệm vụ:
- GV yêu cầu xem video AI được thiết kế để phục vụ bài dạy và trả lời câu hỏi xuất hiện trong video đó.
- GV dẫn dắt, đặt vấn đề cho HS: Trong bài 21, em đã được học cách triển khai thuật toán sắp xếp để sắp xếp các phần tử trong danh sách theo thứ tự tăng dần.
- GV đặt câu hỏi yêu cầu HS trả lời: Nếu cần sắp xếp theo thứ tự ngược lại thì câu lệnh so sánh tương ứng trong vòng lặp sẽ cần thay đổi như thế nào?
Bước 2: HS thực hiện nhiệm vụ học tập:
- HS xem video và suy nghĩ câu trả lời.
- HS lắng nghe, suy nghĩ câu trả lời.
Bước 3: Báo cáo kết quả hoạt động, thảo luận:
- GV gọi đại diện một số HS trả lời.
- HS khác nhận xét, bổ sung.
Bước 4: Đánh giá kết quả thực hiện:
- GV nhận xét, đánh giá và kết luận.
[6.1.NC1a: HS sử dụng công cụ AI hoặc sản phẩm số do GV cung cấp để tiếp nhận thông tin, trả lời câu hỏi đơn giản.
2.1.NC1a: HS thực hiện các tương tác cơ bản với học liệu số (xem video, trả lời câu hỏi trên môi trường số).
1.1.NC1a: HS tiếp cận, khai thác được thông tin từ nguồn học liệu số dưới sự hướng dẫn của GV.]
- GV dẫn dắt HS vào bài học mới: Bài 22: Thực hành bài toán sắp xếp.
2. HOẠT ĐỘNG THỰC HÀNH
Nhiệm vụ 1
a) Mục tiêu: Giúp HS biết được cách sử dụng thuật toán sắp xếp chèn.
b) Nội dung: GV tổ chức cho HS thực hiện theo các hoạt động trong SGK và thực hiện thuật toán sắp xếp chèn để sắp xếp số lượng các mặt hàng có trong kho theo thứ tự tăng dần.
c) Sản phẩm: HS nêu được ý tưởng thực hiện đoạn chương trình sử dụng thuật toán sắp xếp chèn.
d) Tổ chức thực hiện:
…………………………………………..
…………………………………………..
…………………………………………..
Nhiệm vụ 2
a) Mục tiêu: Giúp HS biết được cách sử dụng thuật toán sắp xếp chọn.
b) Nội dung: GV tổ chức cho HS thực hiện theo các hoạt động trong SGK và thực hiện thuật toán sắp xếp chọn để sắp xếp điểm thi theo thứ tự giảm dần.
c) Sản phẩm: HS nêu được ý tưởng thực hiện đoạn chương trình sử dụng thuật toán sắp xếp chọn.
d) Tổ chức thực hiện:
| HOẠT ĐỘNG CỦA GV VÀ HS | SẢN PHẨM DỰ KIẾN | NLS |
Bước 1: GV chuyển giao nhiệm vụ: - GV chiếu nhiệm vụ học tập: Cho danh sách điểm trung bình môn Tin học của các học sinh. Em hãy sử dụng thuật toán sắp xếp chọn để sắp xếp danh sách này theo thứ tự điểm trung bình giảm dần, sau đó in danh sách đã sắp xếp ra màn hình. Danh sách điểm trung bình được đọc ra từ tệp văn bản diem.inp, mỗi dòng bao gồm điểm trung bình của một học sinh. - GV yêu cầu các nhóm thực hiện thuật toán sắp xếp chọn để sắp xếp điểm thi theo thứ tự giảm dần. - Sau khi HS hoàn thành chương trình, GV nhận xét và tổng kết nội dung nhiệm vụ 2. Bước 2: HS thực hiện nhiệm vụ học tập: - HS lắng nghe GV hướng dẫn, thực hiện nhiệm vụ. - GV quan sát và trợ giúp HS. Bước 3: Báo cáo kết quả hoạt động, thảo luận: - HS so sánh và sửa lại chương trình.. - HS khác nhận xét, bổ sung cho bạn. Bước 4: Đánh giá kết quả thực hiện: - GV nhận xét, chuyển sang nội dung luyện tập. | Nhiệm vụ 2 - Phân tích: Chúng ta có thể sử dụng thuật toán sắp xếp chọn đã học ở bài trước để sắp xếp danh sách điểm số. - Đoạn chương trình thực hiện trực tiếp phương pháp sắp xếp chọn được mô tả như sau (Đính kèm phía dưới). | - 1.2.NC1b: Phân tích yêu cầu và đánh giá dữ liệu đầu vào. - 6.1.NC1a: HS phân tích cấu trúc của tệp dữ liệu đầu vào; Thực hiện quy trình “Đọc - Chuyển đổi - Lưu trữ”: đọc từng dòng, chuyển đổi từ kiểu chuỗi sang số thực và đưa vào cấu trúc dữ liệu danh sách để thuật toán có thể xử lý. - 5.2.NC1b: HS sử dụng môi trường lập trình (IDE) để soạn thảo và thực thi mã nguồn Python; vận dụng cấu trúc điều khiển và vòng lặp để cài đặt thuật toán sắp xếp chọn. |
1 input_file = open("diem.inp", encoding="UTF-8") 2 diem_ds = [] 3 for line in input_file.readlines(): 4 diem_ds.append(float(line)) 5 n = len(diem_ds) 6 for i in range(n-1): 7 iMax = i 8 for j in range(i+1,n): 9 if diem_ds[j] > diem_ds[iMax]: 10 iMax = j 11 diem_ds[i], diem_ds[iMax] = diem_ds[iMax], diem_ds[i] 12 print('Danh sách điểm theo thứ tự giảm dần là:') 13 for i in range(0,len(diem_ds)): 14 print(diem_ds[i]) | ||
3. HOẠT ĐỘNG LUYỆN TẬP
a) Mục tiêu: HS củng cố kĩ năng sử dụng bài toán sắp xếp.
b) Nội dung: HS vận dụng các kiến thức đã học để hoàn thành bài tập phần Luyện tập trang 105 SGK.
c) Sản phẩm học tập: Câu trả lời nội dung Luyện tập.
d) Tổ chức thực hiện:
…………………………………………..
…………………………………………..
…………………………………………..
4. HOẠT ĐỘNG VẬN DỤNG
a) Mục tiêu: HS thực hiện làm bài tập Vận dụng để nắm vững kiến thức.
b) Nội dung: HS vận dụng kiến thức đã học và hiểu biết của bản thân để làm bài tập Vận dụng trang 105 SGK.
c) Sản phẩm: Câu trả lời nội dung Vận dụng.
d) Tổ chức thực hiện:
Bước 1: GV chuyển giao nhiệm vụ
- GV yêu cầu HS hoàn thành bài tập phần Vận dụng trang 105 SGK.
Một người đi mua hàng với danh sách các mặt hàng cần mua, đơn giản từng mặt hàng và số lượng hàng cần mua được lưu trong tệp văn bản muahang.inp.
Hãy sử dụng thuật toán nổi bọt để sắp xếp các mặt hàng theo thứ tự thành tiền của các mặt hàng tăng dần rồi in ra tên các mặt hàng và thành tiền tương ứng.
Bước 2: HS thực hiện nhiệm vụ học tập
- HS tự tìm hiểu, đưa ra ý kiến.
- GV điều hành, quan sát, hỗ trợ.
Bước 3: Báo cáo kết quả hoạt động, thảo luận
- HS trình bày kết quả.
Kết quả:
Trong bài toán này, giá trị dùng để sắp xếp không phải là phần tử đơn lẻ của từng danh sách, mà là tích của danh sách đơn giá và danh sách số lượng. Đồng thời, mỗi khi đổi chỗ các phần tử, chúng ra phải đổi chỗ đồng thời các phần tử tương ứng ở cả ba danh sách. Chương trình sắp xếp giá trị các mặt hàng có thể được thực hiện như sau:
1 def BubbleSort(A,B,C):
2 n = len(A)
3 for j in range(n-1):
4 for j in range(n-1-i):
5 if A[j]*B[j] > A[j+1]*B[j+1]:
6 A[j],A[j+1] = A[j+1],A[j]
7 B[j],B[j+1] = B[j+1],B[j]
8 C[j],C[j+1] = C[j+1],C[j]
9 input_file = open("muahang.inp", encoding="UTF-8")
10 ten_list = []
11 gia_list = []
12 soluong_list = []
13 for line in input_file.readlines():
14 ten, gia, soluong = line.split()
15 ten_list.append(ten)
16 gia_list.append(float(gia))
17 soluong_list.append(int(soluong))
18 BubbleSort(gia_list,soluong_list,ten_list)
19 print('Giá trị các mặt hàng cần mua là:')
20 for i in range(0,len(ten_list)):
21 print(ten_list[i],': ',gia_list[i]*soluong_list[i])
Bước 4: Đánh giá kết quả thực hiện
- GV nhận xét, đánh giá, đưa ra một vài ý mà HS còn thiếu, chốt đáp án.
- GV tổng kết tiết học.
[1.2.NC1b: Phân tích yêu cầu và đánh giá dữ liệu đầu vào.
5.2.NC1b: HS sử dụng môi trường lập trình (IDE) để soạn thảo và thực thi mã nguồn Python.
3.4.NC1a: Viết được chương trình sử dụng thuật toán sắp xếp chọn và sắp xếp nổi bọt.]
* HƯỚNG DẪN VỀ NHÀ
- Ghi nhớ kiến thức trong bài.
- Hoàn thành các bài tập trong SBT.
- Chuẩn bị bài mới Bài 23 – Kiểm thử và đánh giá chương trình.
=> Giáo án Khoa học máy tính 11 kết nối Bài 22: Thực hành bài toán sắp xếp