You are on page 1of 3

NOTACION POLACA (POSFIJA)

Para evaluar la siguiente expresin aritmtica


el !r"en #ue se "e$er%a seguir& seg'n la pri!ri"a" "e l!s !pera"!res
(#ue se especi(car)n m)s a"elante) * el us! "e l!s parntesis& ser%a el
in"ica"! c!n las +ec,as- .st! implica una "i(culta" #ue *a se c!ment
en la intr!"uccin-
Para eliminar esta "i(culta"& se ,ace una tra"uccin preliminar
"e las expresi!nes aritmticas #ue se llama notacin de cadena
polaca ("en!mina"a as% en ,!n!r "el matem)tic! p!lac!
Lu/asie0ics1& #ue la !rigin)- .sta n!tacin tiene la venta2a "e #ue las
!peraci!nes aparecen en el !r"en en #ue se e3ect'an realmente la
evaluacin-
La i"ea $)sica "etr)s "e la n!tacin "e ca"enas p!lacas es #ue
l!s !pera"!res se escri$en al (nal * n! en me"i! "e las expresi!nes-
4e manera #ue A + B se escri$ir%a c!m! A B +- .n esta 3!rma& el
!pera"!r + se c!nsi"era c!m! una !r"en para sumar l!s val!res "e las
"!s varia$les #ue l! prece"en inme"iatamente- 5n e2empl! un p!c!
m)s c!mple2! p!"r%a ser
La clave "e la tra"uccin "e n!tacin in(2a a p!s(2a es la
pri!ri"a" "e l!s !pera"!res- A c!ntinuacin se muestra la pri!ri"a" "e
l!s !pera"!res utili1a"!s as% c!m! el "e las 3unci!nes #ue tam$in se
c!nsi"eran !pera"!res& a"em)s "e l!s pas!s a seguir para reali1ar la
tra"uccin& para ell! rec!rrerem!s la expr- aritmtica in(2a "es"e la
i1#uier"a ,asta el (nal

1. Cuan"! el element! l!cali1a"!
es una varia$le& se c!l!ca
inme"iatamente en el extrem!
"erec,! "e la expresin
p!s(2a #ue se est) crean"!-
2. Cuan"! el element! l!cali1a"!
es un !pera"!r ! 3uncin& se
c!l!ca en el extrem! superi!r
"e una pila siempre * cuan"!
la pri!ri"a" "e este sea men!r
#ue el #ue est) en la cima "e
la pila- .n cas! c!ntrari! se
#uitar) "ic,! !pera"!r "e la
pila * se c!l!car) en la parte
"erec,a "e la expresin
p!s(2a * a c!ntinuacin se
vuelve a intentar c!l!car el
!pera"!r en la pila-
3. Cuan"! el element! es un 6(
se c!l!ca "irectamente en la
cima "e la pila-
4. Cuan"! el element! es un 6)7&
l!s !pera"!res "e la pila se
trans(eren un! a un!& al
extrem! "erec,! "e la
expresin p!s(2a ,asta llegar
a un 6(6- Llega"! a este punt!&
este par "e parntesis "e
eliminan-

.valuacin "e una expresin aritmtica en n!tacin p!laca
Para su evaluacin n!s ap!*arem!s en una pila& "!n"e
"e2arem!s tant! l!s resulta"!s interme"i!s c!m! el (nal- Se rec!rrer)
la expr- aritmtica "e i1#uier"a a "erec,a& "e 3!rma #ue cuan"! n!s
enc!ntrem!s un !peran"! (varia$le ! c!nstante) se incluir) en la pila *
si n!s enc!ntram!s un !pera"!r p!"rem!s ,acer "!s c!sas
a) a) Si el !pera"!r es unari! (-& log& exp ! sqrt) s!l! se aplicar)
s!$re primer !peran"! "e la pila-
b) b) Si el !pera"!r es $inari! (+, -, , ! * 8) se aplicar) s!$re l!s
"!s primer!s !peran"!s "e la pila-
Tant! en un cas! c!m! en el !tr!& el resulta"! se "e2ar) en la
cima "e la pila-
"peradores #rioridad
$og, %xp, &qrt
- (unario)
'
, !
+, -
(
)
(
)
4
3
2
1
*
ALGORITMO PARA CONVERTIR EXPRESIONES INFIJAS EN
POSTFIJAS (RPN)
1. Incrementar la pila
2. Inicializar el conjunto de operaciones
3. Mientras no ocurra error y no sea fin de la expresin infija haz
o Si el carcter es!
1. "#$%&'%SIS I()*I%$+,. -olocarlo en la pila
2. "#$%&'%SIS +%$%-.,. %xtraer y desple/ar los 0alores hasta
encontrar par1ntesis iz2uierdo. "ero &, desple/arlo.
3. *& ,"%$#+,$.
Si la pila esta 0ac3a o el carcter tiene ms alta prioridad
2ue el elemento del tope de la pila insertar el carcter en la
pila.
%n caso contrario extraer y desple/ar el elemento del tope
de la pila y repetir la comparacin con el nue0o tope.
4. ,"%$#&+,. +esple/arlo.
4. #l final de la expresin extraer y desple/ar los elementos de la pila hasta 2ue se
0ac3e.
ALGORITMO PARA EVALUAR UNA EXPRESION RPN
1. Incrementar la pila
2. $epetir
o 'omar un caracter.
o Si el caracter es un operando colocarlo en la pila.
o Si el caracter es un operador entonces tomar los dos 0alores del tope de la
pila5 aplicar el operador y colocar el resultado en el nue0o tope de la pila.
(Se produce un error en caso de no tener los 2 0alores)
3. .asta encontrar el fin de la expresin $"&.

You might also like