Đề bài: A - Máy tính chỉ số sức khỏe theo nhiều công thức
Nhập cân nặng, chiều cao, tuổi và giới tính, chương trình tổ chức thành nhiều hàm để tính BMI, phân loại BMI, nhu cầu nước uống mỗi ngày và tỉ lệ trao đổi chất cơ bản (BMR).
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 |
|---|---|---|---|
tinhBMI(canNang, chieuCao) | 2 (cân nặng kg, chiều cao cm) | Tính chỉ số khối cơ thể BMI | Trong tinhToan() |
phanLoaiBMI(bmi) | 1 (chỉ số bmi) | Phân loại BMI (gầy/bình thường/thừa cân/béo phì) bằng switch | Trong tinhToan(), nhận kết quả từ tinhBMI() |
tinhNhuCauNuoc(canNang) | 1 (cân nặng kg) | Tính lượng nước cần uống mỗi ngày (lít) | Trong tinhToan(); được gọi lại độc lập với tinhBMI() |
tinhBMR(canNang, chieuCao, tuoi, gioiTinh) | 4 | Tính tỉ lệ trao đổi chất cơ bản theo công thức Mifflin-St Jeor | Trong tinhToan() |
hienThiKetQua(duLieu) | 1 (object chứa toàn bộ kết quả) | Xuất toàn bộ kết quả các công thức ra giao diện | Cuối hàm tinhToan(), sau khi gọi 4 hàm tính toán trên |
tinhToan() | 0 (đọc trực tiếp từ input) | Hàm điều phối: đọc dữ liệu nhập, gọi lần lượt các hàm tính toán rồi hiển thị | Gắn vào sự kiện click nút "Tính toán" |
Kết quả mong muốn (đáp án tham khảo)
Ràng buộc cấu trúc riêng cho mã đề A
Khối điểm nhấn đứng trước danh sách chính: Đặt một khối điểm nhấn/featured ở đầu vùng nội dung, trước danh sách hoặc bảng chính. Không thay ràng buộc này bằng cấu trúc của mã đề khác.