Giáo án điện tử 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
Bài giảng điện tử Tin học 11 - Định hướng Khoa học máy tính kết nối tri thức. Giáo án powerpoint Bài 22: Thực hành bài toán sắp xếp. Giáo án thiết kế theo phong cách hiện đại, nội dung đầy đủ, đẹp mắt, tạo hứng thú học tập cho học sinh. Thầy, cô giáo có thể tham khảo.
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
Các tài liệu bổ trợ khác
Xem toàn bộ: Giáo án điện tử khoa học máy tính 11 kết nối tri thức
CHÀO MỪNG CÁC EM ĐẾN VỚI BÀI HỌC MỚI!
KHỞI ĐỘNG
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. 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ÀI 22: THỰC HÀNH BÀI TOÁN SẮP XẾP
NHIỆM VỤ 1
Cho danh sách số lượng mỗi mặt hàng trong kho của một cửa hàng. Người quản lí kho cần xem các mặt hàng theo thứ tự số lượng tăng dần.
Em hãy viết chương trình sắp xếp các mặt hàng trong kho theo thứ tự số lượng tăng dần, sử dụng thuật toán sắp xếp chèn, sau đó in ra màn hình dãy số vừa sắp xếp. Danh sách số lượng các mặt hàng được đọc từ tệp văn bản kho.inp, mỗi dòng bao gồm số lượng một mặt hàng.
Yêu cầu: Thực hành theo các nhóm từ 2 - 4 HS
Gợi ý:
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 các phần tử trong danh sách số lượng mặt hàng theo thứ tự tăng dần.
Chương trình tham khảo:
1 input_file = open("kho.inp", encoding="UTF-8")
2 soluong_ds = []
3 for line in input_file.readlines():
4 soluong_ds.append(int(line))
5 n = len(soluong_ds)
6 for i in range(1,n):
7 value = soluong_ds [i]
8 j = i – 1
9 while j >= 0 and so luong_ds[j] > value:
10 soluong_ds[j+1] = soluong_ds[j] > value:
11 j = j – 1
12 soluong_ds [j+1] = value
13 print('Số lượng các mặt hàng trong kho theo thứ tự tăng dần là:')
14 for i in range(0,len(soluong_ds)):
15 print(soluong_ds[i])
NHIỆM VỤ 2
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.
Gợi ý: 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ố như sau:
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])
LUYỆN TẬP
Bài 1
Sử dụng thuật toán sắp xếp chọn viết lại chương trình trong Nhiệm vụ 1.
Bài 2
Sử dụng thuật toán sắp xếp nổi bọt viết lại chương trình trong Nhiệm vụ 2.
Bài 1: Chương trình tham khảo:
1 def SelectionSort(A):
2 n = len(A)
3 for i in range(i+1,n):
4 iMin = i
5 for j in range(i+1,n):
6 if A[j] < A[iMin]:
7 iMin = j
8 A[i],A[iMin] = A[iMin],A[i]
9 input_file = open("kho.inp", encoding="UTF-8")
10 soluong_ds = []
11 for line in input_file.readlines():
12 soluong_ds.append(int(line))
13 SelectionSort(soluong_ds)
14 print('Số lượng các mặt hàng trong kho theo thứ tự tăng dần là:')
15 for i in range(0,len(soluong_ds)):
16 print(soluong_ds[i])
Bài 2: Chương trình tham khảo:
1 def BubbleSort(A):
2 n = len(A)
3 for i in range(n-1):
4 for j in range(n-1-i):
5 if A[j] < A[j+1]:
6 A[j],A[j+1] = A[j+1],A[j]
7 input_file = open("kho.inp", encoding="UTF-8")
8 soluong_ds = []
9 for line in input_file.readlines():
10 soluong_ds.append(int(line))
11 BubbleSort(soluong_ds)
12 print('Số lượng các mặt hàng trong kho theo thứ tự tăng dần là:')
13 for i in range(0,len(soluong_ds)):
14 print(soluong_ds[i])
VẬN DỤNG
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.
Chương trình tham khảo:
DẶN DÒ VỀ NHÀ
Ghi nhớ kiến thức trong bài
Làm các bài tập trong SBT
Đọc trước Bài 23: Kiểm thử và đánh giá chương trình
TẠM BIỆT CÁC EM VÀ HẸN GẶP LẠI!
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ử khoa học máy tính 11 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