技術士の過去問
令和3年度(2021年)
基礎科目「情報・論理に関するもの」 問11
このページは閲覧用ページです。
履歴を残すには、 「新しく出題する(ここをクリック)」 をご利用ください。
問題
技術士 第一次試験 令和3年度(2021年) 基礎科目「情報・論理に関するもの」 問11 (訂正依頼・報告はこちら)
演算式において、+、−、×、÷などの演算子を、演算の対象であるAやBなどの演算数の間に書く「A+B」のような記法を中置記法と呼ぶ。また、「AB+」のように演算数の後に演算子を書く記法を逆ポーランド表記法と呼ぶ。中置記法で書かれる式「(A+B)✕(C-D)」を下図のような構文木で表し、これを深さ優先順で、「左部分木、右部分木、節」の順に走査すると得られる「AB+CD−×」は、この式の逆ポーランド表記法となっている。
中置記法で「(A+B÷C)×(D−F)」と書かれた式を逆ポーランド表記法で表したとき、最も適切なものはどれか。
中置記法で「(A+B÷C)×(D−F)」と書かれた式を逆ポーランド表記法で表したとき、最も適切なものはどれか。
- ABC÷+DF−×
- AB+C÷DF−×
- ABC÷+D×F−
- ×+A÷BC−DF
- AB+C÷D×F
正解!素晴らしいです
残念...
この過去問の解説 (2件)
01
答えは1です。
逆ポーランド記法に慣れている方なら選択肢を見ただけで1以外はありえないとわかると思います。
(何かの計算)(何かの計算)演算子
が再帰的に続いている必要があります。
順番に見ていきます。
(A+B÷C)×(D-F)で最終的に演算するのは下線部の×なので
(A+B÷C)(D-F)×
となります。D-Fの逆ポーランド記法は例にもあるようにDF-なのでそのようにします。
(A+B÷C)DF-×
B÷Cを先に計算するので、逆ポーランド記法BC÷にします
(A+(BC÷))DF-×
それにAを足すので
ABC÷+DF-×
と最終的になりました。
順を追っていけば難しくはないのですが、情報工学系の人でも苦手な人は結構いますので、切ってしまっていいかもしれません。
参考になった数46
この解説の修正を提案する
02
逆ポーランド表記法についての問題です。
最終的な演算は×なので、最後にきている選択肢は2つあります。
このうち、右側の項D-Fは、DF-となります。
大きい括りから順に紐解いていきます。
参考になった数3
この解説の修正を提案する
前の問題(問10)へ
令和3年度(2021年)問題一覧
次の問題(問12)へ