この記事を読むと次のことがわかります。
- うるう年の判定ルール
- うるう年の判定フローチャート
- 言語別のコード
うるう年の判定は、プログラミングの学習においてよく用いられる例題の一つです。
プログラミング初学者の方はしっかりと取り組みましょう。
うるう年の判定ルール
うるう年の判定は以下の3つのルールに基づきます:
- 年が4で割り切れる場合、うるう年とする。
- ただし、年が100で割り切れる場合は、うるう年ではない。
- しかし、年が400で割り切れる場合は、うるう年とする。
ただし、ポイントとしては、3.2.1.の順番で判定した方が効率的です。
うるう年判定フローチャート
実際に3.2.1の順番で判定したフローチャートを以下に示します。
![うるう年の判定フローチャート](https://programming-schools.com/wp-content/uploads/2023/09/12e5b98f7c46dbdf7787c25efd2adb18.webp)
言語別コード
以下に、各言語でのうるう年の判定コードを紹介します。
コピペしてご自身の環境で動かしてみてください。
Python
def is_leap_year(year):
if year % 400 == 0:
return True
if year % 100 == 0:
return False
if year % 4 == 0:
return True
return False
Java
public class LeapYear {
public static void main(String[] args) {
int year = 2020;
if (isLeapYear(year)) {
System.out.println(year + " is a leap year.");
} else {
System.out.println(year + " is not a leap year.");
}
}
public static boolean isLeapYear(int year) {
if (year % 400 == 0) {
return true;
}
if (year % 100 == 0) {
return false;
}
if (year % 4 == 0) {
return true;
}
return false;
}
}
JavaScript
function isLeapYear(year) {
if (year % 400 === 0) {
return true;
}
if (year % 100 === 0) {
return false;
}
if (year % 4 === 0) {
return true;
}
return false;
}
C
#include <stdio.h>
int isLeapYear(int year) {
if (year % 400 == 0) {
return 1;
}
if (year % 100 == 0) {
return 0;
}
if (year % 4 == 0) {
return 1;
}
return 0;
}
C#
using System;
namespace LeapYearChecker {
class Program {
static void Main(string[] args) {
int year = 2020;
if (IsLeapYear(year)) {
Console.WriteLine(year + " is a leap year.");
} else {
Console.WriteLine(year + " is not a leap year.");
}
}
static bool IsLeapYear(int year) {
if (year % 400 == 0) {
return true;
}
if (year % 100 == 0) {
return false;
}
if (year % 4 == 0) {
return true;
}
return false;
}
}
}
うるう年の判定プログラムを実行する
HTML、CSS、JavaScriptで作成したうるう年判定プログラムをCodePenに投稿しました。
ブラウザ上で動かせるので実際に値を入力して確認してください。
コードをコピペすることも可能です。
See the Pen うるう年判定フローチャート by 中川勝之 (@nakagawakatsuyuki) on CodePen.
まとめ
うるう年の判定は、条件分岐を学ぶ上で非常に役立つ題材です。
各言語の特性を理解しながら、このコードを参考に自身で試してみてください。
プログラミングの学びの中で、自ら考え、試し、エラーを解決しましょう!
コメント