Kiểm tra năm nhuận- xem video tại: https://drive.google.com/file/d/1OZFxOm9ATLQsh4p6vCFQmYcz6WTZq1Az/view
Mục tiêu
Luyện tập sử dụng cấu trúc điều kiện if.
Mô tả- Kiểm tra năm nhuận
Trong phần này, chúng ta sẽ phát triển một ứng dụng nhằm kiểm tra xem một năm có phải là năm nhuận hay không.
Ứng dụng cho phép người dùng nhập vào một năm, sau đó sẽ đưa ra thông báo là năm đó là năm nhuận hay không phải là năm nhuận.
Năm nhuận là một năm đặc biệt, được cộng thêm một ngày để giữ cho lịch được đồng bộ với lịch thiên văn.
Cách xác định năm nhuận: Những năm chia hết cho 4 là năm nhuận, ngoại trừ những năm chia hết cho 100 mà không chia hết cho 400.
Từ đó, có thể rút gọn thành các quy tắc xác định năm nhuận:
- Những năm chia hết cho 4 mà không chia hết cho 100 là năm nhuận
- Những năm chia hết cho 100 mà không chia hết cho 400 thì KHÔNG PHẢI là năm nhuận
- Những năm chia hết đồng thời cho 100 và 400 là năm nhuận
Để hoàn thành bài thực hành, bạn cần:
- Đưa mã nguồn lên GitHub
- Dán link của repository lên phần nộp bài trên CodeGymX
Hướng dẫn
Bước 1: Tạo dự án mới với file index.html và khối lệnh JavaScript
Bước 2: Nhập dữ liệu từ bàn phím
let year = parseInt(prompt("Enter a year"));
Bước 3: Phân loại và hiển thị kết quả
if (year % 4 == 0) { if (year % 100 == 0) { if (year % 400 == 0) { alert(year + " is a leap year"); } else { alert(year + " is NOT a leap year"); } } else { alert(year + " is a leap year"); } } else { alert(year + " is NOT a leap year"); }
Bước 4: Chạy và quan sát kết quả.
Nhập vào các năm sau để kiểm tra:
- 12: năm nhuận
- 13: năm không nhuận
- 1000: năm không nhuận
- 2000: năm nhuận
Lưu ý: Với các điều kiện như trên, chúng ta có thể chỉnh sửa để mã nguồn tốt hơn như sau:
let year = parseInt(prompt("Enter a year")); let isLeapYear = false; if (year % 4 == 0) { if (year % 100 == 0) { if (year % 400 == 0) { isLeapYear = true; } } else { isLeapYear = true; } } if (isLeapYear) { alert(year + " is a leap year"); } else { alert(year + " is NOT a leap year"); }
Đảm bảo clean code
Trong đoạn mã trên, các điều kiện bên trong các câu lệnh if sẽ là khó hiểu, bởi vì bản thân các biểu thức không trực tiếp nói rõ ý nghĩa của nó. Chúng ta có thể sử dụng kỹ thuật tách biến để các câu lệnh này dễ hiểu hơn. Ví dụ:
let isLeapYear = false; let isDivisibleBy4 = year % 4 == 0; if (isDivisibleBy4) { let isDivisibleBy100 = year % 100 == 0; if (isDivisibleBy100) { let isDivisibleBy400 = year % 400 == 0; if (isDivisibleBy400) { isLeapYear = true; } } else { isLeapYear = true; } } if (isLeapYear) { alert(year + " is a leap year"); } else { alert(year + " is NOT a leap year"); }
Mã nguồn có thể tham khảo tại đây: https://github.com/codegym-vn/js-leap-year
Trên đây CodeGym cùng với bạn luyện tập sử dụng cấu trúc điều kiện if. Hãy chụp ảnh màn hình và nộp bài thực hành của bạn trên CodeGymX để cùng nhau luyện tập nhé!
Xem thêm: PHP trên 2 trang giấy- tài liệu miễn phí từ CodeGym
0 Lời bình