「なでしこv2」開発用掲示板

なでしこv2の検討事項を話し合う掲示板です。
[一覧へ] > (@23) [低] [未処理]
@23■ (#39) 閏年計算をエレガントに書く方法 - クジラ飛行机 (2012-08-05 14:07) /低 未処理
以下に書き込んでください。

(#40) いろいろ - クジラ飛行机 (2012-08-05 14:08) /低 未処理
###なでしこ風
判定は「平年」
西暦年を4で割った余りが0ならば
  判定は「閏年」
  西暦年を100で割った余りが0ならば
    判定は「平年」
  違えば
    西暦年を400で割った余りが0ならば
      判定は「閏年」
判定を表示。
-----------------------
###VB/Ruby風
判定は「平年」
西暦年を4で割った余りが0ならば
  判定は「閏年」
  西暦年を100で割った余りが0ならば
    判定は「平年」
  違えば
    西暦年を400で割った余りが0ならば
      判定は「閏年」
    ここまで
  ここまで
ここまで
判定を表示。
-------------------------
###C/Java風
判定は「平年」
西暦年を4で割った余りが0ならば{
  判定は「閏年」
  西暦年を100で割った余りが0ならば{
    判定は「平年」
  }違えば{
    西暦年を400で割った余りが0ならば{
      判定は「閏年」
    }
  }
}
判定を表示。
-------------------------
###WIKI風
判定は「平年」
西暦年を4で割った余りが0ならば
・判定は「閏年」
・西暦年を100で割った余りが0ならば
・・判定は「平年」
・違えば
・・西暦年を400で割った余りが0ならば{
・・・判定は「閏年」
判定を表示。


(#41) 閏年 - mr (2012-08-05 14:09) /低 未処理

閏年とは、4の倍数の年。でも、100で割り切れるときは…(続く)
うるう年じゃなくて、でも、400で割り切れるときは、うるう年。


うるう年になったら起こして
うるう年ってなに?
4の倍数の年。でも、100で割り切れるときは、うるう年じゃなくって、
でも、400で割り切れるときは、うるう年なんだよ。わかる?
なるほど、ややこしいですね、でも大体わかりました。
じゃあ次回のうるう年は2016年になると思うので、その時に起こしますね。
では、おやすみなさい…。

(#42) うるうどし - 粗茶 (2012-08-05 14:21) /低 未処理
対象年=2012改行
もし対象年が4で割り切れるならばブロック開始
 もし対象年が100で割り切れるならばブロック開始
  もし対象年が400で割り切れるならばブロック開始
   対象年&「は閏年です」と言うブロック終了
  違えばブロック開始
   対象年&「は平年です」と言うブロック終了
ブロック終了
 違えばブロック開始
  対象年&「は閏年です」と言うブロック終了
ブロック終了
違えばブロック開始
 対象年&「は平年です」と言うブロック終了

(#43) エディタでサポート - しらたま (2012-08-05 14:21) /低 未処理
#エディタのサポートでインデントが入力されるように(スマートインデント)するのがいいのではないかと
#もし~~違えば~~の組み合わせで深さを自動的に認識する
#ただ,「もし~~もし~~違えば~~」とした時にどっちにぶら下げるかという問題があります
#あえて「違えば」を二回入力させて,空の「違えば」ブロックがあれば消すとか?

「西暦年」を尋ねて西暦年に代入
もし西暦年と4の余りが0ならば(ここまで入力したら改行&自動インデント)
 もし西暦年と100の余りが0ならば(改行&インデント)
  もし西暦年と400の余りが0ならば(改行&インデント)
   「閏年」と表示
  違えば(ここまで入力したらこの行のインデントを下げて,さらに改行&インデント)
   「平年」と表示
 違えば(インデントを下げて,さらに改行&インデント)
  「閏年」と表示
違えば(インデントを下げて,さらに改行&インデント)
 「平年」と表示
ここまで(自動でインデントを下げる)

(#44) 閏年 - AI (2012-08-05 14:32) /低 未処理
年とは、整数。
閏年の条件は、年が、
 4で割れる
例外は、
 100で割れる
 更に、例外は、
  400で割れる。

(#45) 閏年 - TOPOZO (2012-08-05 14:40) /低 未処理
西暦年は2012年
西暦年が次の場合は、`閏年`。違うなら`平年`
 4で割り切れるとき//認識音がなるまで待つ
 100で割り切れるときは除外
 400で割り切れるときを追加
結果を表示  //`結果`を使った時点で終了

(#39)へ返信する:

👆お手数ですが、いたずら防止のために、「真夏」の読み方を記入してください。

編集時に使うキーを入力(省略可能)

画像ファイル(最大300KB)を添付可能