見出し画像

[中級][式言語]"うるう年"の判定プログラムを作ってみよう

はじめに:うるう年って何?

「うるう年」(閏年)とは、季節と暦のずれを補正するために、通常の年より1日だけ多くなる年のことです。通常1年は365日ですが、うるう年では1年が366日となります。そして"大まかに"言って4年に1度、うるう年が訪れます。

なぜ4年に1度なのでしょう? それは1年を「365日」と決めた暦・カレンダーの定義と、実際の地球の公転周期とのあいだに微妙なズレがあるためです。国立天文台のQ&Aコーナーは、次のように述べています。

地球が太陽のまわりを回る(公転)のにかかる日数は365日ちょうどではなく、平均すると約365.24219日です。これは時間に直すと365日と6時間足らずの端数があることを意味します。言い換えれば、地球は太陽のまわりを365日と約6時間かけてちょうど1回転し、元の位置に戻ってくるということです。(国立天文台:質問3-2)春分の日はなぜ年によって違うの?

つまり1年ごとに公転周期から暦が約6時間遅れます。従って4年で「6×4=24時間」遅れます。言い換えると、カレンダーの上では1年が終わっているのに、まだ地球は1周し終えていません。毎年の大晦日、地球は「あと約6時間待って下さい…」という状態になっているわけですね。4年経つと「あと約1日待って下さい…」状態になります。

だから約4年ごとに暦・カレンダーに1日足すと、公転周期との帳尻が合うのですね。これがうるう年です。

うるう年はどう計算する?

それでは、西暦20XX年がうるう年か否かを判定するには、どう計算すればよいのでしょう?

「えっ 4年ごとにうるう年になるのだから、計算も何も無いんじゃない?以前のうるう年に4を足していけば…」と思う人もいるかもしれません。

本記事ではしつこいくらい「約6時間」「約4年」と「約」と付けました。うるう年の厳密な定義は、もう少しややこしいためです。厳密に6時間遅れるわけではないため、計算方法は少し複雑になります。

1582年に制定されたグレゴリオ暦では、それまでよりも公転周期と暦のズレが少なくなる定義を行いました。それが今もうるう年の決定に使用されています。

以上を踏まえ、グレゴリオ暦の定義・計算方法を紹介します。国立天文台によると次の2つの条件があります(参照)。

(1)西暦年号が4で割り切れる年をうるう年とする。
(2)(1)の例外として、西暦年号が100で割り切れて400で割り切れない年は平年とする。

ここから先は

2,123字 / 9画像

¥ 330

サポートいただければ、記事をもっと充実することができます