逆ポーランド表記法

逆ポーランド表記法を解く方法

ルール

その1
[文字][記号][文字]

[文字][文字][記号]
にする
その二
計算の優先順番通りに変換する
()の中×÷+-の順
その三
[文字][文字][記号]にしてもまだ変換するものが残っていたらいったん箱にしまっておく

具体例

A+B→AB+
文字はA、B
記号は+
ルールその一に従って変換する
とても簡単
文字文字記号
ここでいう文字っていうのは難しくいうと被演算子かっこよくいうとオペランドというらしい
記号は演算子
まぁまったく必要ない知識なので文字と記号で十分だろう

A+B*C→ABC*+
ルールその二に従って
掛け算(×はエックスと間違えちゃうので*にした)から先に変換する
A+BC*
ここでルールその三を導入すると
BC*をとりあえず箱pにしまっとく(箱はpでもrでもzでも自分が覚えてられればなんでもかまわない)
そうすると
A+pになる
ルールその一
Ap+になる
もう変換するのがないので箱pからもどしてあげると
ABC*+

もういっちょ
A*B+C-D ちょっと長い
ルール2で
AB*+C-D
ルール3で
AB*→p
p+C-D
ルール1で
pC+-D
ルール3で
pC+→r
r-D
ルール1で
rD-
もう変換するのがないので戻していく
rをもどすと
pC+D-
pをもどすと
AB*C+D-
変換完了

なぜこんな面倒な事をやっているんだろうと思わない
知りたい人は他をあたってください

A*B/C 割り算をいれてみよう
「わる」といれないと÷が出てこないので/にした
ルール2だと優先順番が一緒なので頭から変換する
AB*/C
ルール3
AB*→p
p/C
ルール1
pC/
変換するのがないので戻す
pをもどすと
AB*C/
変換完了!

基本情報問題

式A+B×Cの逆ポーランド表記法による表現として,適切なものはどれか。
A+BC* ←ルール2と1
A+p     ←ルール3  
Ap+     ←ルール1
ABC*+  ←箱からもどす
答えは

後置表記法(逆ポーランド表記法)では,例えば, 式 Y = ( A - B )× C を
YAB - C ×=と表現する。 次の式を後置表記法で表現したものはどれか。
Y = ( A + B )×( C -( D ÷ E ))

“Y =”はとりあえずほっとく
AB+*(C-(D/E))←ルール2、1
p*(C-(DE/)) ←ルール3、2、1
p*(C-r)←ルール3
p*Cr-       ←ルール2、1
p*s          ←ルール3
ps*          ←ルール1
AB+s*      ←pをもどす
AB+Cr-*     ←sをもどす
AB+CDE/-* ←rをもどす
“Y=”抜いた選択肢で探すと答えは

逆ポーランド表記法(後置表記法)で,"AB+CD-÷GEF-÷+"と表現される式はどれか。
たぶんあたまは“A,B”だろうとふんでアからやってみる
((A+B)+(C-D))÷G-(E÷F)
((AB+)+(C-D))÷G-(E÷F)
((p)+(CD-))÷G-(E÷F)
(p+r)÷G-(E÷F)
(pr+)÷G-(E÷F)
(s)÷G-(EF/)
sG/-(t)
u-t
ut-
sG/t-
pr+ G/t-
AB+ r+ G/t-
AB+ CD- + G/t-
AB+ CD- + G/EF/-
違うのでもう一つの方の
疑っている方は是非イを変換していただきたい

ずっと苦手でいつも捨ててた問題だがほぼ完璧に解けた
苦手な方のお役に少しでも立てればこれ幸いです




この記事が気に入ったらサポートをしてみませんか?