12月のお楽しみ、IchigoJam Advent Calendar、2021年版、作りました!
IchigoJamに関する思い出や、ミニテクニック、作品など、どうぞ気軽にご参加くださいっ。
今年で6年目!過去のカレンダーの投稿の気になるタイトルを読んでみたり、他のカテゴリーなども参考にどうぞ。
カレンダーとコンピューターと言えばうるう年判定。
閏年は、1年の公転周期が、365日より5時間48分45秒ほど長いことから、だいたい4年に一度1日長くする閏日を作って調整する知恵です。
下記のようなアルゴリズムで判定します。
1. 西暦年が4で割り切れる年は(原則として)閏年。
2. ただし、西暦年が100で割り切れる年は(原則として)平年。
3. ただし、西暦年が400で割り切れる年は必ず閏年。
「原則として」というのが分かりづらいので、論理を反転して
1. 西暦年が4で割り切れない年は平年で決まり。
2. そうでない西暦年が100で割り切れない年は閏年で決まり。
3. そうでない西暦年が400で割り切れる年は閏年で決まり。
4. そうでない西暦年は平年。
としたほうがプログラマー的に分かりやすい。
IchigoJam BASICで表すと・・・
1 INPUT Y 10 IF Y%4>0 ?"NOT URU":END 20 IF Y%100>0 ?"URU!":END 30 IF Y%400=0 ?"URU!":END 40 ?"NOT URU":END
となります。
もっと短く判定したい時は、1式でまとめます
1 INPUT Y 10 IF Y%4=0 AND Y%100>0 OR Y%400=0 ?"URU!":END 20 ?"NOT URU":END
IchigoJamを使ったカレンダーづくり、ぜひチャレンジしてみてください!