algoritmo Infijo a Postfijo
-
Upload
diego-paredes -
Category
Documents
-
view
236 -
download
2
description
Transcript of algoritmo Infijo a Postfijo
![Page 1: algoritmo Infijo a Postfijo](https://reader030.fdocuments.net/reader030/viewer/2022012404/577c81dd1a28abe054ae7441/html5/thumbnails/1.jpg)
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.