読者です 読者をやめる 読者になる 読者になる

ビットコインの相場を語ってみた[日刊]

毎日ビットコインの相場を語っていますよ!1分ほどで読める分量なので気軽に読めると思いますよ!どうぞよろしくお願いします!

うるう年ってなんだっけ(Ruby)

コードガールこれくしょんの演習問題を解いていて、

やけにうるう年を問う問題が出てきて、

そもそもうるう年ってなんだっけと思い始め、

調べていくうちになるほどなと思った体験日記

 

はじめにプログラムをとにかく書いてみた

とにかくやってみよう精神で、

言葉からプログラムを書いてみようと「うるう年」で検索すると、

「うるう年とは-はてなキーワード」とあるのでクリック

以下そのサイトでの引用なのですが、

西暦が400で割り切れる年はうるう年である
400で割り切れない場合、西暦が100で割り切れる年はうるう年ではない
100で割り切れない場合、西暦が4で割り切れる年はうるう年である
4で割り切れない場合、うるう年ではない

この言葉からとりあえず書いてみたRubyでのコードがこれ

----------------------------------------

print "西暦→ "

while year = gets.to_i

      break if year == 0

      if year % 4 == 0

         if year % 100 == 0

            if year % 400 == 0

               puts "うるう年"

            else

               puts "平年"

            end

         else

            puts "うるう年"

         end

      else

         puts "平年"

      end

end

----------------------------------------

 

プログラム、もう少し直せないのかな

"うるう年"や"平年"が何度も出てきているし、

もうちょっとまとめられないのかなと調べることに

一番はやっぱりwikipediaでしょう

wikipedia最下位部の方でこんな記述

( year % 4 ) == 0 && ( year % 100 ) != 0 || ( year % 400 ) == 0

4で割った余りが0であったら「うるう年」であることは分かったのだけども、

どうも後ろ2つの条件式のつながりが分からずじまいに

あきらめずうるう年で調べていると、

「質問3-6) どの年がうるう年になるの? | 国立天文台(NAOJ)」というタイトルのサイトを見つけ訪問

そこでこんな記述

(1)西暦年号が4で割り切れる年をうるう年とする。

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

(1)は先ほどの「 ( year % 4 ) == 0」と同じだなと思いつつ、

(2)をみるとなんだか「( year % 100 ) != 0 || ( year % 400 ) == 0」と似ているように見えてきたんですね

ここでなるほどなと思ったのが、

(2)の文章を否定すると「( year % 100 ) != 0 || ( year % 400 ) == 0」と同じになること

否定した文章を書くと、

西暦年号が100で割り切れず、または、400で割り切れる年はうるう年とする。」

こう解釈するとおのずと「( year % 100 ) != 0 || ( year % 400 ) == 0」になりませんかという、、、

 コードはこちら

----------------------------------------

 

print "西暦→ "

while year = gets.to_i

      break if year == 0

      if year % 4 == 0 && year % 100 != 0 || year % 400 == 0

         puts "うるう年"

      else

         puts "うるう年でない"

      end

end

----------------------------------------

 

同じように見えることが大事

自分のコードを簡略にかけたと同時に、

うるう年がどういうものか理解したところで、

今回の決め手となったのが「コード」とそれを説明する「文章」

今回はたまたま似たように見えた、かつ、その情報が近くにあったので簡単に理解できましたが、

そうとは限らない方が多そう

ビットコインはまだ世間一般に普及していない(個人的感想)もので、

知っている方は法定通貨(円やドル)と同じ、もしくはそれ以上に便利なものであると理解できますが、

そうで無い方は「ビットコイン」とそれを説明する何かが足りていないように思えます

それこそ法定通貨と同じようなものであるならば、

それを使用してものを購入したりすることと同じように、

ビットコインで〇〇が買えましたよー」のような情報が必要なのかと思います

「コード」と「文章」で理解できたように、

「法定通貨」と「消費」が結びついているように、

ビットコイン」で「消費」という同じことをしている安心感を与えることが大事だと、

コードガールこれくしょんを通して学びました(笑

 

 

長くなってしまったので今回はこの辺で

それではー