Documente Academic
Documente Profesional
Documente Cultură
INGENIERIA DE SISTEMAS
SEMESTRE : IlI
CUSCO PERU
2015
INTRODUCCION
Todos hemos utilizado alguna vez una calculadora. La gran mayora de ellas, incluida
la que viene por defecto en nuestro sistema operativo favorito, utilizan un sistema
denominado notacin de infijo, en el que los operadores separan los operandos. Sin
embargo, existe otra forma de realizar clculos llamada notacin de postfijo o
Notacin Polaca Inversa en la que primero se introducen los operandos y despus el
operador que va a realizar los clculos sobre ellos. Desde 1968, este sistema ha sido
aplicado en una gran cantidad de calculadoras
EXPRESIONES ARITMETICAS CON PILAS
Una expresin aritmtica esta formada por operandos y operadores, como por ejemplo
(a+b) - c*d. En este caso +, -, * son los operadores y a, b, c, d los operandos. Los
operandos pueden ser valores, variables o incluso otras expresiones, mientras que los
operadores son los conocidos de las expresiones matemticas, por lo que el resultado
puede ser de tipo numrico o variables.
La forma habitual que tenemos de escribir las operaciones matemticas es poniendo el
operador entre dos operando, y que puede llevar parntesis para encerrar subexpresiones
con mayor prioridad en cada operacin, al igual que los operadores tienen cada uno una
prioridad diferente, ya que, por ejemplo, la multiplicacin * tienen prioridad sobre la
suma +.Veamos el grado de prioridad de estos operadores.
1. Parntesis ( )
2. Potencial ^
3. Producto/cociente * /
4. Suma/resta + -
Tambin hay que tener en cuenta que cuando se evala una operacin se hace de
izquierda a derecha, excepto en el caso de las potencias, que se hace de derecha a
izquierda.
Esta forma de escribir una expresin, se denomina notacin usual o infija. Existen otras
formas de escribir expresiones aritmticas, en el que se diferencian por la situacin de
los operadores respecto de los operandos. La forma en la que los operadores se colocan
delante de los operandos es conocida como notacin polaca o prefija.
Vemos un ejemplo:
Notacin infija: a*b/(a+c)
Notacin polaca: */ab+ac
Adems de estas existe otro tipo de notacin, el que a nosotros ms nos interesa, que es
la notacin postfija, en la que se colocan los operadores a 9 continuacin de los
operandos, y en la cul no existe jerarqua en las operaciones.
Las diferentes formas de escribir una misma expresin algebraica dependen de la
ubicacin de los operadores respecto a los operandos. Es importante tener en cuenta que
tanto en la notacin prefija como en la postfija no son necesarios los parntesis para
cambiar el orden de evaluacin. Veamos algunos ejemplos de notacin infija respecto de
la notacin postfija
NOTACIN INFIJA NOTACIN POSTFIJA
2*(3+8/(6-4)) 23864-/+*
3+2*7-1 327*+1-
1*2*3*4+5 12*3*4*5+
Vemos que hacemos lo mismo que haramos en notacin infija y no hemos tenido que
acudir a parntesis ni a jerarquas de operaciones. Por eso la evaluacin de expresiones
postfijas es muy fcil de implementar.
A la hora de evaluar una expresin aritmtica de notacin infija, tendremos que realizar
dos pasos:
Transformacin de notacin infija a notacin postfija.
Evaluacin de la notacin postfija. Para ello tendremos que emplear un tipo TDA pila.
Veamos que ocurre en cada uno de los casos.
CORRESPONDENCIA DE DELIMITADORES
La pila es muy til en situaciones cuando los datos deben almacenarse y luego
recuperarse en orden inverso. Una aplicacin de la pila es la correspondencia de
delimitadores en un programa. Esto es un ejemplo importante debido a que la
correspondencia de delimitadores es parte de cualquier compilador. Ningn programa se
considera correcto si los delimitadores no tienen su pareja. Ejemplo:
Para evaluar estas expresiones se deben pasar a la notacin postfija y luego aplicar un
algoritmo para evaluar la expresin en notacin postfija.
Conceptos
La expresin A+B se dice que esta en notacin infija y su nombre se debe a que
el operador + est entre los operandos A y B.
Dada la expresin AB+ se dice que esta en notacin postfija y su nombre se debe
a que el operador + est despus de los operandos A y B.
Dada la expresin +AB se dice que esta en notacin prefija y su nombre se debe
a que el operador + est antes que los operandos A y B.
Expresin infija: (X + Z) * W / T ^ Y V
Expresin postfija: XZ +W*TY^/V
CONVERTIR UNA EXPRESIN DADA EN NOTACIN INFIJA A UNA
NOTACIN POSTFIJA
Para convertir una expresin dada en notacin INFIJA a una notacin POSTFIJA,
deber establecerse previamente ciertas condiciones:
Solamente se manejarn los siguientes operadores (Estn dados ordenadamente
de mayor a menor segn su prioridad de ejecucin):
Operador Prioridad dentro de la pila Prioridad fuera de la
pila
^ (potencia) 3 3
*, / 2 2
+, - 1 1
( 0 4
Los operadores de ms alta prioridad se ejecutan primero. Si hubiera en una
expresin dos o ms operadores de igual prioridad, entonces se procesan de
izquierda a derecha.
Las subexpresiones que se encuentren dentro de parntesis tendrn ms
prioridad que cualquier operador.
Obsrvese que no se trata el parntesis derecho ya que ste provoca sacar
operadores de la pila hasta alcanzar el parntesis izquierdo.
Se parte de una expresin en notacin infija que tiene operandos, operadores y
puede tener parntesis. Los operandos vienen representados por letras y los
operadores son: ^, *, /, +, -
La transformacin se realiza utilizando una pila en la cual se almacenan los
operadores y los parntesis izquierdos.
La expresin aritmtica se va leyendo desde el teclado de izquierda a derecha,
caracter a caracter, los operandos pasan directamente a formar parte de la
expresin en postfija la cual se guarda en un arreglo.
Los operadores se meten en la pila siempre que sta est vaca, o bien siempre
que tengan mayor prioridad que el operador de la cima de la pila (o bien si es la
mxima prioridad).
Si la prioridad es menor o igual se saca el elemento cima de la pila y se vuelve a
hacer comparacin con el nuevo elemento cima.
Los parntesis izquierdos siempre se meten en la pila; dentro de la pila se les
considera de mnima prioridad para que todo operador que se encuentra dentro
del parntesis entre en la pila.
Cuando se lee un parntesis derecho hay que sacar todos los operadores de la
pila pasando a formar parte de la expresin postfija, hasta llegar a un parntesis
izquierdo, el cual se elimina ya que los parntesis no forman parte de la
expresin postfija.
El proceso termina cuando no hay ms elementos de la expresin y la pila est
vaca.