HOME»基本情報技術者試験掲示板»平成30年秋期午後問8 設問1(b)
投稿する
平成30年秋期午後問8 設問1(b) [4579]
シダさん(No.1)
https://www.fe-siken.com/kakomon/30_aki/pm08.html
設問1(b)について、
解説の通り、priHigh = 3, priLow = 2 のようにpriHighが1以上のケースを考えると、
一見、選択肢ア、イ、エの中ならどれも条件を満たしているように見えて、
なんでエだけが正解なの!?と、同じ悩みを持つ人も居る(居て欲しい)と思うので
自分なりにスッキリした解法をメモとして残します。
代入する数値についてですが、正の整数だけにとらわれていたので混乱していました。
priHigh = 0, priLow = -1 のようにpriHighが0以下のケースを考えるとスッキリしました。
ア.【priHigh以上】について
nestの最小値は0となる為、この場合priLow + nestをしてもpriHighを上回ることができず、
「括弧外の乗除算 priHigh」と「括弧内の加減算 priLow+nest」の優先順位が逆となってしまいます。
イ.【priHigh+1以上】について
nestの最小値が1となる為、この場合priLow + nestをしても priHighと同値となり、
「括弧外の乗除算 priHigh」と「括弧内の加減算 priLow+nest」の優先順位が同一となってしまいます。
その為、エのみが正解ってことになるんですね。
解説見ても全然納得出来て無かったので、1時間近く頭をひねってました。
固定観念って怖いですね~
設問1(b)について、
解説の通り、priHigh = 3, priLow = 2 のようにpriHighが1以上のケースを考えると、
一見、選択肢ア、イ、エの中ならどれも条件を満たしているように見えて、
なんでエだけが正解なの!?と、同じ悩みを持つ人も居る(居て欲しい)と思うので
自分なりにスッキリした解法をメモとして残します。
代入する数値についてですが、正の整数だけにとらわれていたので混乱していました。
priHigh = 0, priLow = -1 のようにpriHighが0以下のケースを考えるとスッキリしました。
ア.【priHigh以上】について
nestの最小値は0となる為、この場合priLow + nestをしてもpriHighを上回ることができず、
「括弧外の乗除算 priHigh」と「括弧内の加減算 priLow+nest」の優先順位が逆となってしまいます。
イ.【priHigh+1以上】について
nestの最小値が1となる為、この場合priLow + nestをしても priHighと同値となり、
「括弧外の乗除算 priHigh」と「括弧内の加減算 priLow+nest」の優先順位が同一となってしまいます。
その為、エのみが正解ってことになるんですね。
解説見ても全然納得出来て無かったので、1時間近く頭をひねってました。
固定観念って怖いですね~
2022.11.08 13:18