平成22年 春期 基本情報技術者 午前 問22

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

 /(c, d, w1)
 +(b, w1, 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)


答え エ


解説
一連のオペランドを書き換えて、w1、w2、w3、w4の代入を行う。
 /(c, d, w1) … w1 = c / d … (1)
 +(b, w1, w2) … w2 = b + w1 … (2)
 /(e, f, w3) … w3 = e / f … (3)
 -(w3, g, w4) … w4 = w3 - g … (4)
 *(w2, w4, x) … x = w2 * w4 … (5)
(2)のw1に(1)を代入して
 w2 = b + c / d … (6)
(4)のw3に(3)を代入して
 w4 = e / f - g … (7)
(5)のw2とw4に(6)(7)を代入して
 x = (b + c / d) * (e / f - g)
(エ)になる。


キーワード
・命令語
・オペランド

キーワードの解説
  • 命令語
    命令語とは、コンピュータ(CPU/MPU)が行う数多い処理を区別するためのもの。
    命令語の種類はコンピュータ毎に異なる。(種類の違うコンピュータでも、同じ命令語や、似た命令語があることが多いです。)
    命令語を使用してプログラムを作ることも可能で、アセンブラ言語がそれにあたります。
  • オペランド
    各命令語で処理するデータ(入力データ、出力データ)のこと。

もっと、「オペランド」について調べてみよう。

戻る 一覧へ 次へ