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 $"&.