- 同
- renal papillary necrosis
WordNet
- the 18th letter of the Roman alphabet (同)r
PrepTutorEJDIC
- resistance / 17歳以下父兄同伴映画の表示 / rook
Wikipedia preview
出典(authority):フリー百科事典『ウィキペディア(Wikipedia)』「2012/05/07 20:05:06」(JST)
[Wiki ja表示]
逆ポーランド記法(ぎゃくポーランドきほう、英語:Reverse Polish Notation, RPN)とは、数式やプログラムを記述する方法(記法)の一種。演算子(オペレータ)を被演算子(オペランド)の後(右)に記述することから、後置記法(Postfix Notation)とも言う。
その他の記法として、演算子を被演算子の中間に記述する中置記法、前(左)に記述する前置記法(ポーランド記法)がある。
名称の由来は、演算子と被演算子の順序がポーランド記法の逆になっていることによる。
目次
- 1 概要
- 2 コンピュータへの応用
- 3 文献
- 4 外部リンク
|
概要
例えば、「3 と 4 を加算する」という演算を、一般的に数式の表記に用いられる中置記法で記述すると、以下のようになる。
3 + 4
一方、逆ポーランド記法では、加算を表す演算子 + を、被演算子である 3 と 4 の後(右)に置いて、以下のよう記述する。
3 4 +
逆ポーランド記法による表現は日本語の文法とよく似ており、上式であれば「3 と 4 を加算する」とそのままの順序で読み下せる。逆ポーランド記法を使うForthの影響を受けているプログラミング言語 Mind では、上式を「3 と 4 とを 足す
」と記述する。
もう少し複雑な例として、中置記法による以下の式は、
(1 + 5) * (2 + 3)
逆ポーランド記法で記述すると以下の通りとなる。
1 5 + 2 3 + *
つまり、逆ポーランド記法では後で使われる演算子ほど、右に位置することになる(ポーランド記法では逆になり、左に位置する演算子ほど後で使われる)。ちなみに上式を日本語で読み下すと「1 と 5 を足したものに 2 と 3 と足したものをかけ合わせる」となる。
その他、逆ポーランド記法の特徴として括弧の使用法やデリミタの必要性などがあるが、これらについてはポーランド記法と同様のため、そちらの項を参照のこと。
コンピュータへの応用
元々、逆ポーランド記法はポーランド記法をコンピュータでの利用に適した形に改変したものである。
逆ポーランド記法を使えば、式の計算をする(評価)には、先頭からひとつずつ順番に記号を読み込み、その記号が演算子以外であればスタックに値を積み、演算子であればスタックから値を取り出して演算し結果をスタックに積む、という簡単な操作の繰り返しだけでよい。そのため、プログラミング初心者の練習課題として、逆ポーランド記法の電卓を作ることがよく行われる。
前述の手順であれば、スタックに積むのは値(たとえば後述する例では整数値)だけである(例を見て確認されたい)。もしこれが他の順序だったとしたら、演算子に相当するものを記憶するか、順番に読むだけでは済まず行きつ戻りつするか、などしなければならない。
ヒューレット・パッカード社の電卓(HP-35など)は、逆ポーランド記法による入力方法を採用していることで有名である。他いくつかの電卓(特に関数電卓に採用がある)や、プログラミング言語にForthやPostScriptなどのこの記法を採用したものがある。
計算動作の例
例題として以下の式を考える([]はスタックの内容。左から右に積む。最初は空だとする)。
1 2 + 4 5 + *
- 1をスタックに積む [1]
- 2をスタックに積む [2 1]
- +が押されたら、
- スタックからデータを下ろしレジスタ2に入れる(レジスタ2←2) [1]
- スタックからデータを下ろしレジスタ1に入れる(レジスタ1←1) []
- レジスタ1とレジスタ2の和を得る (1 + 2 = 3)
- 結果をスタックに積む [3]
- 4をスタックに積む [4 3]
- 5をスタックに積む [5 4 3]
- +が押されたら、
- スタックからデータを下ろしレジスタ2に入れる(レジスタ2←5) [4 3]
- スタックからデータを下ろしレジスタ1に入れる(レジスタ1←4) [3]
- レジスタ1とレジスタ2の和を得る (4 + 5 = 9)
- 結果をスタックに積む [9 3]
- *が押されたら、
- スタックからデータを下ろしレジスタ2に入れる(レジスタ2←9) [3]
- スタックからデータを下ろしレジスタ1に入れる(レジスタ1←3) []
- レジスタ1とレジスタ2の積を得る (3 * 9 = 27)
- 結果をスタックに積む [27]
このように
- スタックにデータを積む (PUSH) 操作
- スタックからデータを下ろす (POP) 操作
- 二つのオペランド間の演算
だけで計算動作が可能である。
スタックトップの直接演算が可能な構造ならば、例えば最初の部分は
- 1をスタックに積む [1]
- 2をスタックに積む [2 1]
- +が押されたら、
- スタックからデータを下ろしレジスタに入れる(レジスタ←2) [1]
- スタックトップにレジスタの値を加算する [3]
と簡略化される。
文献
- 水谷静夫 「日本語の語順と逆ポーランド記法」 第7回 プログラミング・シンポジウム (1966)
外部リンク
[Wiki en表示]
RPN may be an acronym that refers to:
- Registered Practical Nurse, also referred to as a Licensed practical nurse
- Radio Philippines Network, Channel 9, Philippines
- Registered Parameter Number, as used in Musical Instrument Digital Interface synthesizers
- Registered Psychiatric Nurse
- Reverse Polish Notation, a.k.a. Postfix notation, a mathematical notation
- Risk Priority Number, as used in failure mode and effects analysis (FMEA)
- Recherche en Prévision Numérique, a numerical weather prediction research center in Canada
RPN may also refer to:
- RPN, the IATA airport code for Rosh Pina Airport, Israel
- RPn, Real projective space, in mathematics
English Journal
- Robotic versus laparoscopic partial nephrectomy for complex tumors: comparison of perioperative outcomes.
- Long JA, Yakoubi R, Lee B, Guillotreau J, Autorino R, Laydner H, Eyraud R, Stein RJ, Kaouk JH, Haber GP.SourceGlickman Urological and Kidney Institute, Cleveland Clinic, Cleveland, OH, USA.
- European urology.Eur Urol.2012 Jun;61(6):1257-62. Epub 2012 Mar 17.
- BACKGROUND: Recent studies showed that robotic partial nephrectomy (RPN) offered outcomes at least comparable to those of laparoscopic partial nephrectomy (LPN). LPN can be particularly challenging for more complex tumors.OBJECTIVE: To compare the perioperative outcomes of patients undergoing LPN or
- PMID 22464543
- Attitudes of qualified vs. student mental health nurses towards an individual diagnosed with schizophrenia.
- Linden M, Kavanagh R.SourceMark Linden BA MSc PhD Lecturer School of Nursing & Midwifery, Queen's University of Belfast, Ireland Rory Kavanagh BSc MSc RPN Community Mental Health Nurse Donegal Mental Health Service, Letterkenny, Ireland.
- Journal of advanced nursing.J Adv Nurs.2012 Jun;68(6):1359-68. doi: 10.1111/j.1365-2648.2011.05848.x. Epub 2011 Oct 9.
- linden m. & kavanagh r. (2012) Attitudes of qualified vs. student mental health nurses towards an individual diagnosed with schizophrenia. Journal of Advanced Nursing68(6), 1359-1368. ABSTRACT: Aim. This paper is the report of a study which sought to compare the attitudes held by student an
- PMID 21981761
Japanese Journal
- 発がん・増殖 乳癌の薬剤抵抗性や転移能を制御する新規分子の解明 (乳癌--基礎と臨床の架け橋)
- リスクベースド・アプローチによる機械安全の現状と今後の課題 (リスクアセスメント特集号)
Related Links
- 逆ポーランド記法(ぎゃくポーランドきほう、英語:Reverse Polish Notation, RPN)とは、 数式やプログラムを記述する方法(記法)の一種。演算子(オペレータ)を被演算子( オペランド)の後(右)に記述することから、後置記法(Postfix Notation)とも言う。 その他の ...
- RPNとは『逆ポーランド記法』と呼ばれる数式の記述法です。 ... これを通称『ポーランド 記法』と呼んでいるのですが、RPN というのはその『ポーランド記法』と演算子の位置が” 逆”という意味 ... 逆ポーランド記法(RPN)』では、演算記号を数値の後ろに書きます。
Related Pictures
★リンクテーブル★
[★]
[★]