プログラムの気持ちを理解したいから逆ポーランド表記法

勉強のきっかけになった問題

式A+B×Cの逆ポーランド表記法による表現として,適切なものはどれか。
ア. +×CBA イ.×+ABC ウ. ABC×+ エ.CBA+×
平成23年秋期問1 逆ポーランド表記法|情報処理安全確保支援士.com

f:id:ponsuke_tarou:20180219230542j:plain

逆ポーランド表記法とは、コンピュータが理解しやすい記述方法です。

  • 別名 : Reverse Polish Notation / 後置記法
  • 数式やプログラムを記述する方法の一種。
  • コンピュータで処理するのに都合のいい形の、数式の書き方。

ポーランド記法をコンピュータでの利用に適した形に改変したものである。
逆ポーランド記法 - Wikipedia

コンピュータのプログラミングにおいて、算術式を表記する手法の一つである。
www.weblio.jp

コンピュータで数式を計算する時、逆ポーランド法が都合が良い方法ため利用します
数式を逆ポーランド法に変換するための事柄

演算子を被演算子の後に記述します。

・カッコが不要
・左から順に処理していけば計算結果が得られる
www.zealseeds.com

問題を逆ポーランド表記法で書くと「ABC×+」です。

演算子を被演算子後に記述するので
A + B × C = A + (B × C) = A + BC× = ABC×+

小学校で習いましたが「+-」より「×÷」を先に計算します。

A + B × C = AB+ × C = ABC+×は間違いです。
f:id:ponsuke_tarou:20180219230633j:plain

「逆」じゃないポーランド表記法とは、演算子を数値の前に置く記法です。

  • 別名 : Polish notation / 前置記法

ポーランド記法とは、数式表現の表記法の一つで、演算子を数値の前に置く記法のことである。考案者がポーランド人の論理学者であったことからこのように呼ばれる。
www.weblio.jp

問題をポーランド表記法で書くと「+A×BC」です。

演算子を被演算子前に記述するので
A + B × C = A + (B × C) = A + ×BC = +A×BC

人がよく使うのは、中置記法です。

問題をポーランド表記法で書くと「A+(B×C)」です。

A + B × C = A + (B × C)

参考サイト

qiita.com
smdn.jp
f:id:ponsuke_tarou:20180219230726j:plain