1

可能であれば削減したいIFステートメントを含むコードを継承しました。
本質的には、単純なIF(AまたはB)THENです。ただし、AとBは他の式の一般化であるため、注意が必要です。

質問:可能であれば、これをより簡単な言葉で再表現するにはどうすればよいですか?

これが元のIFステートメントです
。わかりやすくするために、括弧の代わりに角かっこと中かっこを使用しました。

IF ( { W & X & Y & Z } or  { C & D & [ ( F & G) or (H & G) or (F & J) ] } )
/* Comment: For what it's worth: (Z = not c) */
4

1 に答える 1

1

論理的な観点からは、できません。重複する変数はなく(Z = ¬Cあまり役に立ちません)、ネストされているため、正規形はこれより長くなります。これは可能な限り短いようです。

プログラミングの観点から、絶対最大速度が読みやすさよりも重要でない場合(または適切なコンパイラーを使用している場合)、決定構造をより明確にする方法でそれらを再グループ化します(これらのどれが(プログラムから関連している)実行)論理的な観点?)、たとえそれが特定の変数へのチェックを複製したとしても(これらが関数呼び出しではないと仮定して)。また、これをいくつかの個別の定義に分割し、内の結果のみを結合しますif

于 2011-07-07T05:12:44.090 に答える