Mã đề B - Phân loại chỉ số BMI
Kiến thức áp dụng: switch, case, break, hiện tượng fall-through, default; đối chiếu với if/else.
Yêu cầu
- Xây dựng chương trình phân loại với tối thiểu 6 trường hợp xử lý khác nhau, đúng ngữ cảnh: Nhập cân nặng (kg) và chiều cao (m) để tính BMI, sau đó đưa BMI về mã số nguyên và dùng switch để phân loại.
- Bắt buộc dùng switch làm cấu trúc điều khiển chính, có default xử lý dữ liệu không hợp lệ.
- Đầu vào lấy từ tương tác của người dùng trên giao diện (nhập liệu hoặc chọn), kết quả hiển thị ra trang web.
- Có ít nhất 2 case dùng chung một khối xử lý bằng fall-through có chủ đích (xem comment giải thích trong
dapan.js). - Viết thêm phiên bản if/else cho cùng logic và nêu nhận xét ngắn về sự khác biệt.
- Nộp kèm bảng liệt kê: mỗi giá trị đầu vào ứng với kết quả đầu ra nào, có thử ít nhất 1 giá trị không hợp lệ.
Bảng đầu vào - đầu ra mong muốn
| Cân nặng / chiều cao | Kết quả mong muốn |
|---|---|
| kg=48, m=1.65 (BMI≈17.6) | Thiếu cân |
| kg=60, m=1.65 (BMI≈22.0) | Bình thường |
| kg=75, m=1.65 (BMI≈27.5) | Thừa cân |
| kg=90, m=1.65 (BMI≈33.1) | Béo phì độ I |
| kg=105, m=1.65 (BMI≈38.6) | Béo phì độ II |
| kg=120, m=1.65 (BMI≈44.1) | Béo phì độ III |
| kg=-10, m=1.65 | Không hợp lệ (cân nặng phải dương) |
Ảnh minh họa kết quả (bản đáp án)
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.
