電子書籍の厳選無料作品が豊富!

プログラミングで IF文を作成したり読み解く時

IF( a() == TRUE && b >= 3 )
等、◯◯であれば というの組み合わさるの
は、すぐに分かるのですが、

IF( a() == FALSE || ( c != a && b >= 5 ) )

のように ◯◯でなければ という条件が組み合わさると
一体どういう条件の時に通過するの混乱し
バグの原因になってしまいます。

これを分かりやすく整理して考えるコツみたいなのないでしょうか?

A 回答 (3件)

先ず、真理値表を書く。

(泥臭い方法だが確実です)
そこから最適化(簡略化)したい場合は、カルノー図などを使用して簡略化する。
http://ja.wikipedia.org/wiki/%E7%9C%9F%E7%90%86% …

カルノー図
http://ja.wikipedia.org/wiki/%E3%82%AB%E3%83%AB% …
http://www.ee.t-kougei.ac.jp/tuushin/lecture/lci …

簡略化
http://laputa.cs.shinshu-u.ac.jp/~yizawa/logic/c …
    • good
    • 0
この回答へのお礼

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

お礼日時:2013/06/07 18:05

論理的思考ではなく、仕様を明確に文書化すればいいだけでは。



【hogehoge処理】
下記のいずれかの条件が一致する場合に、以降の処理を行う。
 ・a()でない
 ・cがaでなく、bが5以上

みたいな。
    • good
    • 0
この回答へのお礼

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

お礼日時:2013/06/07 18:04

設計の段階では真理値表みたいなモノを作って考えます。


論理式それぞれの結果と、その組み合わせ全てを洗い出して表にするといいと思います。
    • good
    • 0
この回答へのお礼

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

お礼日時:2013/06/07 17:56

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!