09.05.2013 Views

Algoritmos y Programación en Pascal

Algoritmos y Programación en Pascal

Algoritmos y Programación en Pascal

SHOW MORE
SHOW LESS

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

370 Capítulo 17. Estructuras de datos recursivas<br />

*<br />

Entrada<br />

4<br />

2<br />

P<strong>en</strong>di<strong>en</strong>tes<br />

EoLn<br />

11<br />

3<br />

Entrada<br />

8<br />

P<strong>en</strong>di<strong>en</strong>tes<br />

+<br />

Entrada<br />

EoLn 11<br />

Entrada P<strong>en</strong>di<strong>en</strong>tes Entrada P<strong>en</strong>di<strong>en</strong>tes<br />

Resultado<br />

Figura 17.8. Evaluación postfija de una expresión.<br />

3<br />

8<br />

P<strong>en</strong>di<strong>en</strong>tes<br />

4. Después se lee el símbolo +, con lo que se toman dos elem<strong>en</strong>tos de la pila,<br />

3 y 8, se calcula su suma, 11, y se pone <strong>en</strong> la pila.<br />

5. Para terminar, ya no hay ningún símbolo que leer y sólo queda el resultado<br />

de la operación.<br />

Una vez visto el ejemplo anterior, la evaluación postfija de expresiones aritméticas<br />

es muy s<strong>en</strong>cilla de codificar: sólo se necesita una pila para almac<strong>en</strong>ar<br />

los operandos y las operaciones básicas de las pilas. La codificación <strong>en</strong> <strong>Pascal</strong> se<br />

deja como ejercicio.<br />

17.3 Colas<br />

Una cola es una lista <strong>en</strong> la que todas las inserciones se realizan por un extremo<br />

y todas las eliminaciones se realizan por el otro extremo de la lista.<br />

El ejemplo más importante de esta estructura de datos, del cual recibe el<br />

nombre, es el de una cola de personas ante una v<strong>en</strong>tanilla. En esta situación,<br />

el primero <strong>en</strong> llegar es el primero <strong>en</strong> ser servido; por esto, las colas también se<br />

llaman listas FIFO. 4<br />

Un ejemplo más interesante, d<strong>en</strong>tro de un contexto informático, resulta al<br />

considerar la gestión de trabajos de una impresora conectada <strong>en</strong> red. Todos los<br />

archivos por imprimir se van guardando <strong>en</strong> una cola y se irán imprimi<strong>en</strong>do según<br />

el ord<strong>en</strong> de llegada (sería ciertam<strong>en</strong>te una ruindad implem<strong>en</strong>tar esta lista como<br />

una pila).<br />

4 Del inglés First-In-First-Out, es decir, el primero <strong>en</strong> <strong>en</strong>trar es el primero <strong>en</strong> salir.

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!