Trang chủ » Blog » [Thực hành] Kiểm tra năm nhuận- CodeGym.vn

[Thực hành] Kiểm tra năm nhuận- CodeGym.vn

bởi CodeGym | 26/12/2023 17:17 | Bài thực hành | Blog

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

Download - Giáo trình thuật toán

7 + 11 =

Tags:

0 Lời bình

Gửi Lời bình

Email của bạn sẽ không được hiển thị công khai. Các trường bắt buộc được đánh dấu *

BÀI VIẾT LIÊN QUAN

BẠN MUỐN HỌC LẬP TRÌNH?

GỌI NGAY

098 953 44 58

Đăng ký tư vấn lộ trình học lập trình

Đăng ký tư vấn, định hướng lộ trình học và giải đáp các thắc mắc về ngành nghề – Miễn phí – Online.

10 + 6 =

TƯ VẤN VỀ LỘ TRÌNH HỌC NGHỀ LẬP TRÌNH TẠI CODEGYM
TƯ VẤN VỀ LỘ TRÌNH HỌC NGHỀ LẬP TRÌNH TẠI CODEGYM