平成21年度 技術士第一次試験問題【専門科目】
【16】情報工学部門
W−4
二項演算子 #, $, @ の優先順位及び結合の方向が、次の表のように定義
されている。

 ┌───┬────┬─────┐
 │演算子│優先順位│結合の方向│
 ├───┼────┼─────┤
 │ # │  高  │ 右から左 │
 ├───┼────┼─────┤
 │ $ │  中  │ 右から左 │
 ├───┼────┼─────┤
 │ @ │  低  │ 左から右 │
 └───┴────┴─────┘
式 a @ b $ c @ d # e # f と同じ意味の式を、@〜Dの中から選べ。

 @ (a @ b) $ ((c @ d) # e) # f)
 A ((a @ b) $ c) @ (d # (e # f))
 B a @ ((b $ c) @ ((d # e) # f))
 C (a @ (b $ c)) @ (d # (e # f))
 D (a @ (b $ c) @ d)) # (e # f)



【正解】 C

まず、優先順位が高い #演算子からカッコでくくる。
結合の方向は右から左であるから

 a @ b $ c @ d # e # f
= a @ b $ c @ d # (e # f)
= a @ b $ c @
(d # (e # f))

次に、優先順位が中の $演算子をカッコでくくる。
結合の方向は右から左であるから

 a @ b $ c @ (d # (e # f))
= a @
(b $ c) @ (d # (e # f))

最後に優先順位が低い @演算子をカッコでくくる。
結合の方向は左から右であるから
a @
(b $ c) @ (d # (e # f))
= (a @
(b $ c)) @ (d # (e # f))
となる。

EXCELのマクロのご相談なら ファーストマクロ 



W−3 目次 W−5
ファーストマクロ TOPページ