読み方 : ぎゃくポーランドきほう

逆ポーランド記法 【RPN】 Reverse Polish Notation / 後置記法 / postfix notation

概要

逆ポーランド記法(RPN)とは、数式などを記述する際の表記法の一つで、演算子被演算子(演算対象)の列の後に記す方式。ポーランド記法(前置記法)を逆順にしたものであるためこのように呼ばれる。

解説 日常的な算術や数学では、演算子を対象の真ん中に挟む「中置記法」(infix notation)が一般的で、「1と2の和」を「1+2」のように表記する。この記法は演算子の結合順序のルール(優先順位)や括弧による計算順の指定が必要で、「1+2×3+4」と「(1+2)×(3+4)」は違う式になる。

一方、逆ポーランド記法演算子を後ろに置く表記法で、「1と2の和」は「1 2 +」のように表記する。四則演算などの二項演算子のみを利用する場合、結合順の指定が無くても一意に計算順序を決定できる。例えば、中置記法の「1+2×3+4」は「1 2 3 × + 4 +」、「(1+2)×(3+4)」は「1 2 + 3 4 + ×」と表記される。

値の間に必ず演算子が挟まる中置記法と異なり、値同士を並べて記述するため、どこが値の境界なのか明確になるよう区切り記号(コンピュータの場合は空白文字など)を挟むなどして分かち書きをする必要がある。

この記法はポーランドの論理学者、ヤン・ウカシェヴィチ(Jan Łukasiewicz)が考案した「ポーランド記法」(Polish notation)の逆順であるため、このように呼ばれる。ポーランド記法では「+ 1 2」のように演算子の後に被演算子の列を記載する。

ポーランド記法も逆ポーランド記法も、コンピュータプログラムが数式を扱う際に都合が良いため、数式処理のためのデータ構造などに応用されることがある。両者の特徴はほとんど同じだが、逆ポーランド記法スタック構造を利用して単純な操作の繰り返しで数式を評価するプログラムを記述できるため、電卓プログラムを作るプログラミング課題などの形でよく取り上げられる。

(2022.7.19更新)

他の用語辞典による「逆ポーランド記法」の解説 (外部サイト)

資格試験などの「逆ポーランド記法」の出題履歴

▼ 基本情報技術者試験
令5修7 問3】 次に示す計算式と逆ポーランド表記法の組合せのうち,適切なものはどれか。
計算式逆ポーランド表記法
((a+b*c)-dabc*+d-
(a+(b*c))-dab+c*d-
(a+b)*(c-d)abc*d-+
a+(b*(c-d))abcd-*+
令5修6 問3】 逆ポーランド表記法(後置表記法)で,“EF-G÷CD-AB+÷+” と表現される式はどれか。
令5修1 問6】 次の式を逆ポーランド表記法で表現したものはどれか。(A+B)×(C+D)A-D
令3修1 問6】 次に示す計算式と逆ポーランド表記法の組合せのうち,適切なものはどれか。
計算式逆ポーランド表記法
((a+b*c)-dabc*+d-
(a+(b*c))-dab+c*d-
(a+b)*(c-d)abc*d-+
a+(b*(c-d))abcd-*+
令2修7 問5】 後置記法(逆ポーランド記法)では,例えば,式 Y=(A-B)×C を YAB-C×= と表現する。次の式を後置記法で表現したものはどれか。
令2修1 問6】 逆ポーランド表記法(後置表記法)で,“EF-G÷CD-AB+÷+” と表現される式はどれか。
平30修6 問4】 次に示す計算式と逆ポーランド表記法の組合せのうち,適切なものはどれか。
計算式逆ポーランド表記法
((a+b*c)-dabc*+d-
(a+(b*c))-dab+c*d-
(a+b)*(c-d)abc*d-+
a+(b*(c-d))abcd-*+
平27修1 問4】 逆ポーランド表記法(後置表記法)で,“EF-G÷CD-AB+÷+” と表現される式はどれか。
平26秋 問4】 次に示す計算式と逆ポーランド表記法の組合せのうち,適切なものはどれか。
計算式逆ポーランド表記法
((a+b*c)-dabc*+d-
(a+(b*c))-dab+c*d-
(a+b)*(c-d)abc*d-+
a+(b*(c-d))abcd-*+
平25春 問6】 図は,逆ポーランド表記法で書かれた式 abcd+++ をスタックで処理するときのスタックの変化の一部を表している。この場合,スタックの深さは最大で4となる。
平24修7 問4】 逆ポーランド表記法(後置表記法)で,“EF-G÷CD-AB+÷+” と表現される式はどれか。
平24春 問4】 後置記法(逆ポーランド記法)では,例えば,式 Y=(A-B)×C を YAB-C×= と表現する。次の式を後置記法で表現したものはどれか。
平23修7 問6】 四則演算の式の書き方には,演算子をオペランドの前に書く方法(前置記法),オペランドの間に書く方法(中置記法),オペランドの後に書く方法(後置記法)の3通りがある。
平22春 問3】 A=1,B=3,C=5,D=4,E=2のとき,逆ポーランド表記法で表現された式 AB+CDE/-* の演算結果はどれか。
平21秋 問3】 逆ポーランド表記法(後置表記法)で,“EF-G÷CD-AB+÷+” と表現される式はどれか。
平21修6 問3】 後置記法(逆ポーランド記法)では,例えば,式 Y=(A-B)×C を YAB-C×= と表現する。次の式を後置記法で表現したものはどれか。