Anda di halaman 1dari 4

INSTITUTO TECNOLOGICO DE TUXTEPEC

TEMAS: Algoritmos de conversin de notacin infija a prefija y de infija a postfija.

NOMBRE DE LA MATERIA: Estructura de datos (ISC)

NOMBRE DEL CATEDRATICO: Lic. Tomas Torres Ramrez

NOMBRE DEL ALUMNO: Victor Manuel Toribio Dublan

GRADO Y GRUPO: 3 B

ING. EN SISTEMAS COMP.

ALGORITMOS DE CONVERSION DE NOTACION INFIJA A PREFIJA EXPRESIONES InFija, PreFija Y PosFija

PreFija:

La Expresin o Notacin PreFija nos indica que el operador va antes de los operandos sus caractersticas principales son: -Los operandos conservan el mismo orden que la notacin infija equivalente. -No requiere de parntesis para indicar el orden de precedencia de operadores ya que el es una operacin. -Se evala de izquierda a derecha hasta que encontrmosle primer operador seguido inmediatamente de un par de operandos. -Se evala la expresin binaria y el resultado se cambia como un nuevo operando. Se repite este hasta que nos quede un solo resultado.

Notacin prefija: El orden es operador, primer operando, segundo operando

InFija:

La Expresin o Notacin InFija es la forma mas comn que utilizamos para escribir expresiones matemticas, estas notaciones se refiere a que el operador esta entre los operandos. La notacin infija puede estar completamente parentizada o puede basarse en un esquema de precedencia de operadores as como el uso de parntesis para invalidar los arreglos al expresar el orden de evaluacin de una expresin: 3*4=12 3*4+2=14 3*(4+2)=18 Notacin infija: La notacin habitual. El orden es primer operando, operador, segundo operando.

PosFija:

Como su nombre lo indica se refiere a que el operador ocupa la posicin despus de los operandos sus caractersticas principales son: -El orden de los operandos se conserva igual que la expresin infija equivalente no utiliza parntesis ya que no es una operacin ambigua. -La operacin posfija no es exactamente lo inverso a la operacin prefija equivalente: (A+B)*C AB+C* Notacin postfija: El orden es primer operando, segundo operando, operador.
ALGORITMO PARA CONVERTIR UNA EXPRESIN INFIJA A POSTFIJA.

opstk= la pila vaca; while (no es fin de entrada){ symb = siguiente carcter en la entrada if(symb es un operando) agrega symb a la cadena postfija else { while(!empty(opstk) && prcd(stacktop(opstk), symb)) { topsymb=pop(opstk); Ej: (((6-(2+3))*(3+8/2))$2)+3 agrega topsymb a la cadena postfija; }/*fin while*/ if( empty(opstk) || symb != ) ) push(opstk, symb); else /*extraer el parntesis que abre y descartarlo*/ topsymb=pop(opstk); }/*fin else*/ }/*fin while*/ /*extraccin de los operadores restantes*/

while(!empty(opstk)){ topsymb=pop(opstk); agregar topsymb a la cadena postfija } 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. PARENTESIS IZQUIERDO. Colocarlo en la pila 2. PARENTESIS DERECHO. Extraer y desplegar los valores hasta encontrar parntesis izquierdo. Pero NO desplegarlo. 3. UN OPERADOR. Si la pila esta vaca o el carcter tiene ms alta prioridad que el elemento del tope de la pila insertar el carcter en la pila. En caso contrario extraer y desplegar el elemento del tope de la pila y repetir la comparacin con el nuevo tope. 4. OPERANDO. Desplegarlo. 4. Al final de la expresin extraer y desplegar los elementos de la pila hasta que se vace. ALGORITMO PARA CONVERTIR EXPRESIONES INFIJAS EN POSTFIJAS (RPN) 5. Incrementar la pila 6. Inicializar el conjunto de operaciones 7. Mientras no ocurra error y no sea fin de la expresin infija haz o Si el carcter es: 1. PARENTESIS IZQUIERDO. Colocarlo en la pila 2. PARENTESIS DERECHO. Extraer y desplegar los valores hasta encontrar parntesis izquierdo. Pero NO desplegarlo. 3. UN OPERADOR. Si la pila esta vaca o el carcter tiene ms alta prioridad que el elemento del tope de la pila insertar el carcter en la pila. En caso contrario extraer y desplegar el elemento del tope de la pila y repetir la comparacin con el nuevo tope. 4. OPERANDO. Desplegarlo. 8. Al final de la expresin extraer y desplegar los elementos de la pila hasta que se vace.