Đề bài - Mã đề G

Chia nhóm ngẫu nhiên theo sĩ số và số nhóm

Đề 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):

  1. 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.
  2. 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.
  3. 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.
  4. Có ít nhất 1 hàm gọi hàm khác bên trong nó.
  5. 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àmTham sốNhiệm vụĐược gọi ở đâu
taoDanhSachThanhVien(siSo)1Dùng for tạo mảng tên thành viên theo sĩ sốTrong chiaNhom()
xaoTronDanhSach(danhSach)1Xáo trộn ngẫu nhiên thứ tự mảng thành viênTrong chiaNhom(); nhận kết quả của taoDanhSachThanhVien()
phanBoVaoNhom(danhSachDaXao, soNhom)2Dùng while phân từng thành viên vào các nhóm theo kiểu xoay vòngTrong chiaNhom()
phanLoaiSiSoNhom(soThanhVien)1Phân loại nhóm đông/vừa/ít thành viên bằng switchTrong renderCacNhom() cho từng nhóm
renderCacNhom(cacNhom)1Hiển thị các nhóm ra giao diện, gọi phanLoaiSiSoNhom() bên trongTrong chiaNhom()
chiaNhom()0Hàm điều phối chínhGắ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.

Ảnh chụp màn hình kết quả đáp án mã đề G - Chia nhóm ngẫu nhiên theo sĩ số và số nhóm
Ảnh chụp trang dapan.html sau khi chạy với dữ liệu mẫu