|
|
|
Infijas y postfijas
|
|||||||||||||||||||
|
La principal
aplicación de las pilas es la transformación de expresiones
matemáticas, estas se pueden escribir segun diversos tipos de notaciones;
PARA TRANSFORMAR EXPRESIONES INFIJAS EN POSTFIJAS Cuando se lee un operador se retiene en la pila. Los operadores se van poniendo en esta pila sucesivamente hasta encontrar uno con menor o igual prioridad y se coloca en ella este ultimo. El parentesis derecho ono se coloca nunca en la pila y cuando aparece hay que desapilar todos los operadores hasta llegar al parentesis izquierdo y borrar este. Aunque este tiene mayor prioridad solo se saca de la pila cuando aparece uno derecho Al final de la expresión extraer y desplegar los elementos de la pila hasta que se vacíe. Hay que llevar una tabla de prioridad doble para cada operador. Operador Prioridad dentro
de la pila Prioridad fuera de la pila *,/ 2 2(evaluacion de izquierda a derecha) +`- 1 1(evaluacion de izquierda a derecha) ( 0 5 (Operador especial) El programa a mostrar utiliza una pila de caracter , cuyas operaciones son las definidas en el TAD pila Cuando se acaba la entrada tambien se saca lo que hubiera en la pila. Evaluación de expresiones aritmeticas 1.Mientras haya caracteres en la expresion extraer operandos y operadores repetir los pasos 2 y 3 para cada elemento de la expresión. 2.Si el elemento es un operador meterlo en una pila de números reales. 3.Si el elemento es un operador, lo designamos con &, entonces; Saca los dos elelemntos superiores de la pila, los llamaremos X, Y respectivamente; Evaluar Y& X; el resultado es Z= Y&X El resultado Z, meterlo en la pila de reales. Repetir a partir del paso 1. 4. el resultado de la evaluación de la expresión esta en el elemento cima de la pila. Fin del algoritmo.
|
|
Elaborado por ; Dinora
Soto Castillo,. |