Upload
diego-paredes
View
236
Download
2
Embed Size (px)
DESCRIPTION
Algoritmo para convertir expresiones infijas a postfijas
Citation preview
CONV-POSTFIJA(EL,EPOS)
//Este algoritmo traduce una expresión infija EL a postfija EPOS, haciendo
uso de una pila PILA //TOPE es una variable de tipo entero
TOPE = 0 Repetir mientras EL sea diferente de la cadena vacia.
Tomar el simbolo mas a la izquierda de EL, recortando luego la expresión.
Si simbolo es parentesis izquierdo entonces
{ poner simbolo en PILA} TOPE = TOPE +1
PILA [TOPE] = simbolo
Si no
Si simbolo es parentesis Derecho entonces Repetir mientras PILA [TOPE] <> parentesis Izquierdo
EPOS = EPOS + PILA[TOPE]
TOPE = TOPE -1 fin -mientras //Sacamos el parentesis izquierdo de PILA y no lo agregamos a EPOS.
TOPE = TOPE -1
Si no Si simbolo es un operando entonces
agregar simbolo a EPOS
Si no {Es un operador} Repetir mientras TOPE >0 y prioridad del operador <=
prioridad del operador de la cima de la PILA EPOS=EPOS + PILA[TOPE]
TOPE = TOPE - 1
Fin-mientras TOPE =TOPE +1
PILA[TOPE]=Simbolo
fin si
finsi finsi
fin-mientras
Repetir mientras TOPE > 0 EPOS=EPOS + PILA[TOPE]
TOPE = TOPE -1
Fin mientras
Escribir EPOS.