Está en la página 1de 3

2014-I

MATERIA
ESTRUCTURA DE DATOS
TEMA
Aplicaciones de la PILA
PROFESOR
Ing. MIGUEL ANGEL SNCHE HERNNDE
Introduccin

Nosotros sabemos que los operadores matemticos son los siguientes ( +,-,*,/) y los operandos
son los que realizamos dicas operaciones! "#isten di$erentes maneras para representar las
operaciones las cuales son%
& + ' inter$i(a
+&' pre$i(a
&'- pos$i(a
"n la siguiente tabla se muestra unos e(emplos de cmo representar dicas operaciones en
inter$i(a, pre$i(a y pos$i(a!

Inter$i(a )re$i(a )os$i(a
&+' +&' &'+
(&+')*(*-+) *+&'-*+ &'+*+-*
&-'/(**++") -&/'**++" &'*++*/-

*omo e,aluar una e#presin pos$i(a ocupando una pila
"l siguiente algoritmo nos da una idea como poder e,aluar una e#presin pos$i(a
)ila-pila ,ac.a/
0ile (no sea $in de cadena)1
s.mbolo-siguiente carcter de entrada
i$(s.mbolo es un operando)
a2adir)ila(pila,simbolo)
else
operando3-sacar)ila()/
operando4-sacar)ila()/
,alor-resultado de aplicar el s.mbolo a perando3 y operando 4
a2adir)ila(pila,,alor)
end i$
5

Ejercicio: implementar el algoritmo anterior ocupando la clase general de pila que se realizo en
la prctica anterior.




*on,ersin de una e#presin inter$i(a a post$i(a

&ora se muestra otro bosque(o para con,ertir una e#presin inter$i(a a pos$i(a

pila-pila ,ac.a
6ile(no se $in de la cadena)1
s.mbolo-siguiente carcter de entrada
i$(s.mbolo es un operando )
agregar s.mbolo a la cadena
else
6ile(no es ,acia pila 77 precedencia(,er)ila(pila),simbolo))1
simbolo&rriba-e#traer)ila(pila)/
agregar simbolo&rriba a la cadena
5
a2adir(pila,s.mbolo)
end i$
5
/* 8peradores restantes*/
0ile(no se $in pila)1
simbolo&rriba-e#traer)ila(pila)
agregar simbolo&rriba a la cadena
5

Nota% el m9todo de procedencia e,al:a la procedencia de los operadores por e(emplo
procedencia(*,+) es true, pero procedencia(+,*) es $alsa, procedencia(+,+) es true! "ste algoritmo
no toma los par9ntesis!

Ejercicio a: Implementa el algoritmo anterior
Ejercicio b: Que tienes que agregar dems al algoritmo anterior para que tambin pueda ocupar
los parntesis.

También podría gustarte