Đề bài - Mã đề B

Tạo lịch hẹn theo khoảng thời gian tùy chọn

Đề bài: B - Công cụ tạo lịch hẹn theo khoảng thời gian tùy chọn

Nhập giờ bắt đầu, giờ kết thúc trong ngày và thời lượng mỗi cuộc hẹn, chương trình tổ chức thành nhiều hàm để tạo danh sách khung giờ hẹn và kiểm tra khung giờ có hợp lệ hay không.

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
kiemTraKhoangThoiGian(batDau, ketThuc)2Kiểm tra khoảng thời gian nhập vào có hợp lệ không (bằng if/else)Đầu hàm taoLichHen()
dinhDangGio(soPhutTuNuaDem)1Đổi số phút kể từ 0h thành chuỗi giờ:phútGọi lại nhiều lần trong taoDanhSachKhungGio() với các mốc phút khác nhau
taoDanhSachKhungGio(batDau, ketThuc, thoiLuong)3Dùng vòng lặp while sinh mảng các khung giờ hẹn liên tiếpTrong taoLichHen(); gọi lại hàm dinhDangGio() bên trong
phanLoaiKhungGio(gio)1Phân loại khung giờ thuộc buổi sáng/chiều/tối bằng switchTrong renderDanhSach() cho từng khung giờ
renderDanhSach(danhSach)1 (mảng khung giờ)Sinh danh sách thẻ hiển thị các khung giờ hẹn ra giao diệnCuối hàm taoLichHen(); gọi phanLoaiKhungGio() bên trong
taoLichHen()0Hàm điều phối chính, gọi lần lượt các hàm trênGắn vào sự kiện click nút "Tạo lịch"

Kết quả mong muốn (đáp án tham khảo)

Ràng buộc cấu trúc riêng cho mã đề B

Thanh tóm tắt dạng danh sách: Thêm một thanh tóm tắt gồm danh sách gạch đầu dòng, đặt sau phần giới thiệu. 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ã đề B - Tạo lịch hẹn theo khoảng thời gian tùy chọn
Ảnh chụp trang dapan.html sau khi chạy với dữ liệu mẫu