基本情報技術者試験 - 令和5年6月修了 - 問14

次の一連の3アドレス命令で得られる結果xを表す式はどれか。ここで,3アドレス命令では,三つのオペランドを用いた命令 “c ← a op b” を “op ( a,b,c ) ” と表記する。また,opは一つの演算子を表し,結果xを表す式における演算子は×,÷,+,-の順に優先される。

÷ ( c,d,w1 )
+ ( b,wl,w2 )
÷ ( e,f,w3 )
- ( w3,g,w4 )
× ( w2,w4,x )
アb + c ÷ d × e ÷ f - g
イb + c ÷ d × ( e ÷ f - g )
ウ( b + c ÷ d ) × e ÷ f - g
エ( b + c ÷ d ) × ( e ÷ f - g )
答え : エ
分野 : テクノロジ系 › 基礎理論 › アルゴリズムとプログラミング › プログラミング
同一問題 : 〔平29修6問19〕〔平27修7問20〕〔平25修7問26〕〔平22春問22〕
解説 :
与えられた3アドレス命令を順番に読み解くと,まずw1はcをdで割った結果,w2はbにw1を足した結果,つまり(b+c÷d)になります。次にw3はeをfで割った結果,w4はw3からgを引いた結果,つまり(e÷f-g)になります。最後にxはw2とw4を掛け合わせた結果になるため,xは(b+c÷d)×(e÷f-g)という式になります。

「ア」から「ウ」までの選択肢は,括弧の付け方や演算の順序を誤って解釈した場合に出てくる式です。3アドレス命令の問題では,一つ一つの命令を順番に紙に書き出しながら,どの変数がどの計算結果を保持しているかを整理することが大切です。
ホーム画面への追加方法
1.ブラウザの 共有ボタンのアイコン 共有ボタンをタップ
2.メニューの「ホーム画面に追加」をタップ
閉じる