Algoritmo Para Convertir Expresiones Infijas en Postfijas

3
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 expresión infija haz o Si el carácter es: 1. !"#$%#SIS I&'(I#")*. +olocarlo en la pila 2. !"#$%#SIS )#"#+,*. #xtraer y desple-ar los alores hasta encontrar par/ntesis iz0uierdo. ero $* desple-arlo. 3. ($ *#"!)*".    Si la pila está aca o el carácter tiene más alta prioridad 0ue el elemento del tope de la pila insertar el carácter en la pila.    #n caso contrario extraer y desple-ar el elemento del tope de la  pila y repeti r la comparació n con el nue o tope. . *#"!$)*. )esple-arlo . . !l final de la expresión extraer y desple-ar los elementos de la pila hasta 0ue se ace. 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 alores del tope de la pila aplicar el operador y colocar el resultado en el nueo tope de la pila. 4Se  produce un error e n caso de no ten er los 2 alores5 3. ,asta encontrar el fin de la expresión "$.

Transcript of Algoritmo Para Convertir Expresiones Infijas en Postfijas

Page 1: Algoritmo Para Convertir Expresiones Infijas en Postfijas

7/25/2019 Algoritmo Para Convertir Expresiones Infijas en Postfijas

http://slidepdf.com/reader/full/algoritmo-para-convertir-expresiones-infijas-en-postfijas 1/3

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 expresión infija haz

o Si el carácter es:

1. !"#$%#SIS I&'(I#")*. +olocarlo en la pila

2. !"#$%#SIS )#"#+,*. #xtraer y desple-ar los alores hastaencontrar par/ntesis iz0uierdo. ero $* desple-arlo.

3. ($ *#"!)*".

  Si la pila está aca o el carácter tiene más alta prioridad 0ue el

elemento del tope de la pila insertar el carácter en la pila.

  #n caso contrario extraer y desple-ar el elemento del tope de la

 pila y repetir la comparación con el nueo tope.

. *#"!$)*. )esple-arlo.

. !l final de la expresión extraer y desple-ar los elementos de la pila hasta 0ue se ace.

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 alores del tope de la pila

aplicar el operador y colocar el resultado en el nueo tope de la pila. 4Se

 produce un error en caso de no tener los 2 alores5

3. ,asta encontrar el fin de la expresión "$.

Page 2: Algoritmo Para Convertir Expresiones Infijas en Postfijas

7/25/2019 Algoritmo Para Convertir Expresiones Infijas en Postfijas

http://slidepdf.com/reader/full/algoritmo-para-convertir-expresiones-infijas-en-postfijas 2/3

2.2. NOTACIONES INFIJAS, PREFIJAS, POSTFIJAS EN EXPRESIONES

La implementación de las pilas en na aplicación pa!a la !es"lción de p!"#lemas, esc"m$n% est" se de#e a &e dent!" de las est!ct!as de dat"s, el s" de las pilaspe!mite me'"!a! la ("!ma de anali)a! * !es"l+e! p!"#lemas matemtic"s.Pa!a t"ma! p!"#lemas !eales * acla!a! el s" de las pilas, se emplea! el c"ncept" delas n"taci"nes, las cales se peden clasi(ica! en-

N"taci"nes in(i'as- S"n llamadas as a la an"tación de (ó!mlas matemticas &eemplean "pe!ad"!es, p"! e'empl" 2/0, es deci!, es la ("!ma de esc!i#i! nest!as"pe!aci"nes de s" c"m$n.N"taci"nes p!e(i'as- Estas pe!miten e1p!esa! nest!as "pe!aci"nes matemticas,c"l"cand" l"s "pe!ad"!es al inici" de la e1p!esión, c"ntinand" c"n el e'empl"ante!i"! &eda!a / 20.N"tación p"s(i'a- Pe!mite esc!i#i! las "pe!aci"nes c"l"cand" l"s "pe!ad"!es al (inal dela e1p!esión, p"! e'empl"- 20/.3ase la si4iente e1p!esión al4"!tmica pa!a la c"n+e!sión de na e1p!esión in(i'a enp"st(i'a 5RPN 6 Re+e!se P"lis7 N"tati"n8.9. Amenta! la pila

2. Iniciali)a! el c"n'nt" de "pe!aci"nes

:. ;ient!as n" e1ista e!!"! * n" es (in de la e1p!esión in(i'a !eali)a!-o Si el ca!cte! es i4al a

9. PARENTESIS I<=>IER?O. C"l"ca!l" en la pila

2. PARENTESIS ?EREC@O. E1t!ae! * desple4a! l"s +al"!es 7asta enc"nt!a!pa!3ntesis i)&ie!d". Pe!" NO desple4a!l".

:. >N OPERA?OR.  Si la pila est +aca " el ca!cte! tiene ms alta p!i"!idad &e el element" del t"pe dela pila inse!ta! el ca!cte! en la pila.

  En cas" c"nt!a!i" e1t!ae! * desple4a! el element" del t"pe de la pila * !epeti! lac"mpa!ación c"n el ne+" t"pe.. OPERAN?O. ?esple4a!l".. E1t!ae! * m"st!a! l"s element"s de la pila 7asta &e se a4"te

E'empl" de c"n+e!sión de e1p!esi"nes (i'as a p"st(i'aE1p!esión en ("!mat" (i'a E1p!esión en ("!mat" RPN0/2 2 0 /B B/2D 2 D /0/ D 6 2D1 0 D / 2 1 D 6

 Al4"!itm" pa!a e+ala! na e1p!esión RPN9. Inc!ementa! la pila

2. Repeti!o T"ma! n ca!acte!.

o Si el ca!acte! es n "pe!and" c"l"ca!l" en la pila.

Page 3: Algoritmo Para Convertir Expresiones Infijas en Postfijas

7/25/2019 Algoritmo Para Convertir Expresiones Infijas en Postfijas

http://slidepdf.com/reader/full/algoritmo-para-convertir-expresiones-infijas-en-postfijas 3/3

o Si el ca!acte! es n "pe!ad"! ent"nces t"ma! l"s d"s +al"!es del t"pe de la pila,

aplica! el "pe!ad"! * c"l"ca! el !esltad" en el ne+" t"pe de la pila. 5Se p!"dce ne!!"! en cas" de n" tene! l"s 2 +al"!es8:. @asta el (in de la e1p!esión RPN