Đề bài: G - Công cụ chia nhóm ngẫu nhiên theo sĩ số và số nhóm
Nhập sĩ số lớp và số nhóm cần chia, chương trình tổ chức thành nhiều hàm để xáo trộn danh sách và phân bổ đều thành viên vào các nhóm.
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 |
|---|---|---|---|
taoDanhSachThanhVien(siSo) | 1 | Dùng for tạo mảng tên thành viên theo sĩ số | Trong chiaNhom() |
xaoTronDanhSach(danhSach) | 1 | Xáo trộn ngẫu nhiên thứ tự mảng thành viên | Trong chiaNhom(); nhận kết quả của taoDanhSachThanhVien() |
phanBoVaoNhom(danhSachDaXao, soNhom) | 2 | Dùng while phân từng thành viên vào các nhóm theo kiểu xoay vòng | Trong chiaNhom() |
phanLoaiSiSoNhom(soThanhVien) | 1 | Phân loại nhóm đông/vừa/ít thành viên bằng switch | Trong renderCacNhom() cho từng nhóm |
renderCacNhom(cacNhom) | 1 | Hiển thị các nhóm ra giao diện, gọi phanLoaiSiSoNhom() bên trong | Trong chiaNhom() |
chiaNhom() | 0 | Hàm điều phối chính | Gắn vào sự kiện click nút "Chia nhóm" |
Kết quả mong muốn (đáp án tham khảo)
Ràng buộc cấu trúc riêng cho mã đề G
Blockquote nhận xét: Thêm một nhận xét nổi bật bằng blockquote, sau đó có đoạn giải thích ngắn. Không thay ràng buộc này bằng cấu trúc của mã đề khác.