Đề bài: C - Công cụ sinh bảng điểm và thống kê theo lớp
Nhập sĩ số lớp, chương trình tổ chức thành nhiều hàm để phát sinh điểm ngẫu nhiên, sinh bảng điểm, xếp loại từng học sinh và tính thống kê điểm trung bình cả lớp.
Yêu cầu kỹ thuật chung (áp dụng cho cả 8 mã đề của lần giao này):
- Toàn bộ chương trình tổ chức thành tối thiểu 5 hàm, mỗi hàm chỉ làm một nhiệm vụ, không viết mã rời rạc ngoài hàm trừ phần gắn sự kiện.
- Mỗi hàm phải có ít nhất 1 tham số, và có ít nhất 1 hàm nhận từ 2 tham số trở lên.
- Có ít nhất 1 hàm được gọi lại nhiều lần với các tham số khác nhau để tạo ra kết quả khác nhau.
- Có ít nhất 1 hàm gọi hàm khác bên trong nó.
- Nộp kèm bảng mô tả: tên hàm, tham số, nhiệm vụ, được gọi ở đâu (xem bảng bên dưới).
File khởi tạo: goc.html. Tham khảo kết quả mong muốn ở ảnh chụp bên dưới.
Bảng mô tả hàm
| Tên hàm | Tham số | Nhiệm vụ | Được gọi ở đâu |
|---|---|---|---|
taoDiemNgauNhien() | 0 | Sinh 1 điểm số ngẫu nhiên từ 0 đến 10 | Gọi lại nhiều lần trong taoDanhSachHocSinh(), mỗi lần cho 1 học sinh |
taoDanhSachHocSinh(siSo) | 1 | Dùng vòng lặp for tạo mảng học sinh kèm điểm ngẫu nhiên | Trong xuLyBangDiem(); gọi taoDiemNgauNhien() bên trong |
xepLoai(diem) | 1 | Xếp loại học lực theo điểm bằng switch (Giỏi/Khá/Trung bình/Yếu) | Trong renderBangDiem() cho từng học sinh |
tinhDiemTrungBinh(danhSach) | 1 (mảng) | Dùng vòng lặp for cộng dồn và tính điểm trung bình cả lớp | Trong xuLyBangDiem(), sau khi có danh sách học sinh |
renderBangDiem(danhSach) | 1 | Sinh bảng điểm ra giao diện, gọi xepLoai() cho từng dòng | Trong xuLyBangDiem() |
xuLyBangDiem() | 0 | Hàm điều phối chính | Gắn vào sự kiện click nút "Tạo bảng điểm" |
Kết quả mong muốn (đáp án tham khảo)
Ràng buộc cấu trúc riêng cho mã đề C
Section có header riêng: Dùng một section có header con riêng, trong đó header chứa tiêu đề ngắn và đoạn mô tả. Không thay ràng buộc này bằng cấu trúc của mã đề khác.