Bài 13. Thực hành thiết kế và lập trình theo mô đun (tiếp theo) trang 142, 143 SGK Tin học 11 Khoa học máy tính Cánh diều
Viết phiên bản thứ hai cho hàm thực hiện phân tích dãy điểm. Viết chương trình thực hiện hàm ptDiem theo phương án sử dụng tối đa các hàm có sẵn trong Python và chạy thử kiểm tra.
NV1
Viết phiên bản thứ hai cho hàm thực hiện phân tích dãy điểm. Viết chương trình thực hiện hàm ptDiem theo phương án sử dụng tối đa các hàm có sẵn trong Python và chạy thử kiểm tra.
Phương pháp giải:
Dựa vào kiến thức đã học.
Lời giải chi tiết:
- Sử dụng hàm sum để tính tổng và điểm trung bình.
- Gọi hàm Python thực hiện sắp xếp thứ tự tăng dần (không giảm); sau khi sắp xếp thì tìm được ngay max, min.
- Dãy số đã sắp thứ tự tăng dần (không giảm) nên có thể dùng hàm bisect left (trong mô đun bisect) tìm được các vị trí phân chia dãy điểm thành 4 đoạn điểm: Chưa đạt, Đạt, Khá và Tốt. Từ đó tính được số lượng điểm theo từng mức xếp hạng.
NV2
Viết phiên bản thứ hai của hàm ptMonHoc. Trong hàm ptMonHoc thay vì sử dụng quickSort_tuple_down cải biên từ hàm quicksort hãy gọi sử dụng các hàm có sẵn trong Python.
Phương pháp giải:
Dựa vào kiến thức đã học.
Lời giải chi tiết:
- Python có sẵn phương thức sort, hàm sorted với tham biến key = lambda để sắp xếp danh sách các cặp hay các bộ nhiều thành phần, theo giá trị của một thành phần bất kì trong bộ. Cách gọi sử dụng để sắp xếp danh sách các cặp (tên, điểm) theo thứ tự điểm giảm dần theo mẫu tham khảo Hình 2:
- Trong thân hàm ptMonHoc sửa lại lời gọi hàm thực hiện việc sắp xếp, sử dụng hàm của Python,
- Để dùng hàm bisect_left cần sắp thứ tự tăng dần;
- Khi dãy đã sắp thứ tự tăng dần thì chỉ cần viết lại theo thứ tự đảo ngược để có dãy giảm dần.
Vận dụng
Chạy chương trình thực hiện hàm ptDiem_bisect vừa hoàn thành với đầu vào là kết quả môn Tin học của lớp em và cho biết: Số lượng điểm của mức nào là nhiều nhất? Nên xếp hạng kết quả học tập môn Tin học chung của cả lớp ở mức nào?
Phương pháp giải:
Dựa vào kiến thức đã học.
Lời giải chi tiết:
Thực hiện code chương trình trên phần mềm Thony, chạy chương trình thực hiện hàm ptDiem_bisect vừa hoàn thành với đầu vào là kết quả môn Tin học của lớp em và cho biết: Số lượng điểm của mức nhiều nhất. Xếp hạng kết quả học tập môn Tin học chung của cả lớp ở mức cao nhất.