■9969 / ) |
Re[6]: 偶然できたプログラムの解釈をお願い |
□投稿者/ ぽぴ王子 (285回)-(2007/11/08(Thu) 10:38:53)
|
■No9966 (ツインクル さん) に返信
> ありがとうございます。 > 下記のように書き直すと実行できました。
うーん、動けばそれでいいの?的なコードですね。 それでも最初の詰まった状態からするとだいぶすっきりしてきてますが。
参考にすべきは
> このNo9962だと、 > else if (x % 3 == 0 && x % 5 == 0) > が絶対に実行されません。
はもちろんなのだけれど
> おそらく、適用する条件の順番を問題文に書いてある通りに > 適用してしまうこと、それが誤ってしまう原因だと思います。 > > 問題文をプログラムに落とす前に、条件をきちんと簡単にまとめて > みることをお勧めします。その上で、各条件の優先順位をつけ、 > その適用する順番でよいのかどうかを考えましょう。 > > あとは、どうやって確かめたらいいのか、プログラムを作る前に > きちんと考える。
こっちですね。 自分が何を目的として、何を書こうとしているのかをしっかりと 把握した上で、それを実現するためにはどうすればいいかを考える ことが大事です(アルゴリズムを考える、ということです)。
フローチャートってわかります?流れ図ってやつですけど。 まずはそういうあたりから書いてみるといいですよ。 僕も頭の中で考えて、オーバーフローしそうになったとき(意外と 容量少なめなのですぐあふれます)は紙に書いて整理したりとか やったりします。 ちゃんとした、四角だとか三角だとかの図形を使ったフローチャート でなくてもいいんです。「xが3で割り切れる?」とか書いて、Yes とNoの矢印をひっぱって、その先に処理を書いてみるとか、その程度 でいいんです。そうやって頭の中の構造がスッキリすればおk。
あと、FizzBuzz問題は有名なので、ちょっと探すと例題がたくさん 出てきます。わんくまblogでもちょっとしたブームになっていたり するので、めんどくさいものから超ストレートなものまで、いろいろ 探してみるとみつかると思います。ただ、それを見てできたつもり になるのではなく、自分で作ったプログラムと答え合わせをしてみる ような感じでやるのがいいんじゃないでしょうか。 # ちなみに僕のオススメはひろえむさんのやつ。
ところで > 実を言うと、2ちゃんねるで下記のような問題があったのでおもしろそうなのでチャレンジしてみましたが、完成できず下記のようなプログラムができてしまう困惑している次第です・ これってどこのスレッドでの話でしょうか。
|
|