- 締切済み
プログラミングについて。
5.2 で、Yesの場合に何も実行する必要がない場合は,…条件を逆にすればよい。 と書かれていますが、これはどういうことでしょうか?ご教授下さい。すみませんが。以下のURLです。 http://www.tmd.ac.jp/artsci/math/nakaguti/basic/basicnote.html#sec_5
- みんなの回答 (5)
- 専門家の回答
みんなの回答
- musume12
- ベストアンサー率63% (19/30)
(1)Yキーを押せば【A】が、それ以外のキーを押せば【B】が表示される。 INPUT PROMPT "数学やプログラム言語を理解するための努力を本当にしていますか?":YN$ PRINT IF YN$ = "Y" OR YN$ = "y" THEN PRINT "ネット上のあちこちで安直なマルチポストせず、首から上についている頭脳を鍛えましょう。"! 【A】 ELSE PRINT "教えてgo や知恵袋での安直なマルチポストは迷惑行為です。" 【B】 END IF とするのが普通だが、条件を逆にして (2) INPUT PROMPT "数学やプログラム言語を理解するための努力を本当にしていますか?":YN$ PRINT IF NOT(YN$ = "Y") AND NOT(YN$ = "y") THEN PRINT "教えてgo や知恵袋での安直なマルチポストは迷惑行為です。" !【B】 ELSE PRINT "ネット上のあちこちで安直なマルチポストせず、首から上についている頭脳を鍛えましょう。" !【A】 END IF としても同じである。で (2-A) INPUT PROMPT "数学やプログラム言語を理解するための努力を本当にしていますか?":YN$ PRINT IF NOT(YN$ = "Y") AND NOT(YN$ = "y") THEN !何もしない(!はコメント文) ELSE PRINT "ネット上のあちこちで安直なマルチポストせず、首から上についている頭脳を鍛えましょう。" !【A】 END IF とすれば、Yキーを押せば【A】が表示されるが、それ以外のキーを押しても何も表示されない。 つまり、ブロック 1が「何もない」のではなく、ブロック 1では「何もしない」のだ。
- AsarKingChang
- ベストアンサー率46% (3467/7474)
>とすれば、Yes、Noが逆になります。 そういうこと!! ~ならば?を ~でなければ にすれば、元々の分に対してELSEを指しますんで、 それを言ってるかと。 ただね。 あんまり深く考えなくていいですよ。 if (条件) { // 特になし } else { 何らかの処理 } と、コメントで「なにもないよ!」って 書いておいたって別に構わないのですよ。 フローチャートだと「だるいな!」ってだけなので
- ken-nosuke
- ベストアンサー率36% (56/154)
条件を逆 A>B を A<=B とすれば、Yes、Noが逆になります。
- AsarKingChang
- ベストアンサー率46% (3467/7474)
A==0 のTHENがなく、ELSEE側の処理だけがあるなら、 逆にすればいいんですよ。 A!=0のTHENは、元々のELSEでしょ? ってことではないかと。
補足
つまり、No.3 の回答の、 条件を逆 A>B を A<=B とすれば、Yes、Noが逆になります。 ということでしょうか?ご教授下さい。すみませんが。
何も難しい話じゃないですが・・・ Yesの場合何もすることがないのなら、そのままreturnして仕舞えば良いだけです。 何もないのですからね。 5.1と同じ話です。 5.1と5.2の違いは、単に複数の命令があるのかないのか?というだけの話で、そもそも、同じ話です。 thenの中に、1つの命令があるのか、複数の命令があるのか?だけで、 ひとつなら一行で書いちゃえば見やすいだろう? 複数なら、一行の中にだらだら書くより、行を分けて書いたほうが見やすいだろう? ただ、それだけの話です。
補足
つまり、No.3 の回答の、 条件を逆 A>B を A<=B とすれば、Yes、Noが逆になります。 ということでしょうか?ご教授下さい。すみませんが。
補足
それは、ブロック 1が何もないよ。ということでしょうか?ご教授下さい。すみませんが。