単体でのテストパターンがイメージできません。
if文の入れ子でつまずいています。フローチャートを書いてみても途中で分からなくなりました。
条件が1~3あって、文1~3が処理結果として表示されるのでしょうか?
ご回答お待ちしています。よろしくお願いいたします。
if(●●==■■){ 条件1
if(▲▲==(U2)0x70{ 条件2
if((◆◆==OFF) 条件3
&&(〇〇〇<=◇◇◇)){
▽▽=(U1)ON; 文1
☆☆=(U1)ON;
}
else{
▽▽=(U1)OFF; 文2
☆☆=(U1)OFF;
}
}
else{
▽▽=(U1)ON; 文3
☆☆=(U1)OFF;
}
気になる質問をクリップする
クリップした質問は、後からいつでもMYページで確認できます。
またクリップした質問に回答があった際、通知やメールを受け取ることができます。
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
回答3件
0
decision-table書きなされ。こんなの↓
式1 式2 式3 false ----- ----- → なにもしない true false ----- → 文3 true true false → 文2 true true true → 文1
※ ----- は 「true/false どっちでもいい」の意
投稿2019/05/07 12:09
総合スコア16614
0
ベストアンサー
](f2f7879d941a58eafa81cbfb327bed61.png)
IF構文は、(a) IFで判断する条件、(b) 条件が成立した時(THEN)に行う処理、(c) 条件が成立しなかった時(ELSE)に行う処理、の3つから出来ていて、THENブロックやELSEブロックが無い場合もあります。
質問のコードのフローチャートを書いてみると上の図のようになります。
・最初のIF(条件1)には 条件が成立しない時(ELSE)の処理が無くて、条件が成立した時(①THEN)には、IF(条件2)に行きます。
・二つ目のIF(条件2)で条件が成立した時(②THEN)はIF(条件3)に行き、条件が成立しない時(②ELSE)は文3が実行されます。
・三つ目のIF(条件3)で条件が成立した時(③THEN)は文1が実行され、条件が成立しない時(③ELSE)には文1が実行されます。
分かりづらかったのは、最初のIFのELSEブロックが無いためではないかと思います。あるいは、THENブロックに"THEN"とは書かれていないからかも。
IFが3つあったら、THENブロックとELSEブロックも、それぞれ3つあるのが標準的な構成で、THENブロックやELSEブロックが無い(処理すべきものが無いので省略されている)場合もあるというふうに理解してください。
投稿2019/05/08 15:25
総合スコア6915
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2019/05/12 11:37
0
こんにちは。
インデントを付け直してみました。一目瞭然ではないでしょうか?
C
1if(●●==■■) 条件1 2{ 3 if(▲▲==(U2)0x70 条件2 4 { 5 if((◆◆==OFF) &&(〇〇〇<=◇◇◇)) 条件3 6 { 7 ▽▽=(U1)ON; 文1 8 ☆☆=(U1)ON; 9 } 10 else 11 { 12 ▽▽=(U1)OFF; 文2 13 ☆☆=(U1)OFF; 14 } 15 } 16 else 17 { 18 ▽▽=(U1)ON; 文3 19 ☆☆=(U1)OFF; 20 }
ところで、最後の}
が抜けてますね。
投稿2019/05/07 13:20
総合スコア23272
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2019/05/08 12:50 編集
2019/05/08 12:57
2019/05/09 12:30
あなたの回答
tips
太字
斜体
打ち消し線
見出し
引用テキストの挿入
コードの挿入
リンクの挿入
リストの挿入
番号リストの挿入
表の挿入
水平線の挿入
プレビュー
質問の解決につながる回答をしましょう。 サンプルコードなど、より具体的な説明があると質問者の理解の助けになります。 また、読む側のことを考えた、分かりやすい文章を心がけましょう。
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2019/05/08 12:45
2019/05/08 13:01
2019/05/09 12:19