• ベストアンサー

【プログラム】論理的思考のコツ

プログラミングで IF文を作成したり読み解く時 IF( a() == TRUE && b >= 3 ) 等、◯◯であれば というの組み合わさるの は、すぐに分かるのですが、 IF( a() == FALSE || ( c != a && b >= 5 ) ) のように ◯◯でなければ という条件が組み合わさると 一体どういう条件の時に通過するの混乱し バグの原因になってしまいます。 これを分かりやすく整理して考えるコツみたいなのないでしょうか?

質問者が選んだベストアンサー

  • ベストアンサー
回答No.3

先ず、真理値表を書く。(泥臭い方法だが確実です) そこから最適化(簡略化)したい場合は、カルノー図などを使用して簡略化する。 http://ja.wikipedia.org/wiki/%E7%9C%9F%E7%90%86%E5%80%A4%E8%A1%A8 カルノー図 http://ja.wikipedia.org/wiki/%E3%82%AB%E3%83%AB%E3%83%8E%E3%83%BC%E5%9B%B3 http://www.ee.t-kougei.ac.jp/tuushin/lecture/lcircuit/3/node3.html 簡略化 http://laputa.cs.shinshu-u.ac.jp/~yizawa/logic/chap5/chap5.html

yuzuru0024
質問者

お礼

回答有り難うございます。 とても分かりやすいサイトですね。 これなら、考え方を整理しやすそうです。

その他の回答 (2)

回答No.2

論理的思考ではなく、仕様を明確に文書化すればいいだけでは。 【hogehoge処理】 下記のいずれかの条件が一致する場合に、以降の処理を行う。  ・a()でない  ・cがaでなく、bが5以上 みたいな。

yuzuru0024
質問者

お礼

回答有り難うございます。 日本語にすると分かりやすいですね。 ただ、それでも http://www.driveplaza.com/etc/commutation_discount/img/topdiscount_pct.gif のような複雑な条件は 作成するのに少し混乱してしまいますね。

  • t_ohta
  • ベストアンサー率38% (5242/13714)
回答No.1

設計の段階では真理値表みたいなモノを作って考えます。 論理式それぞれの結果と、その組み合わせ全てを洗い出して表にするといいと思います。

yuzuru0024
質問者

お礼

回答有り難うございます。 真理値表便利ですね。

関連するQ&A