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

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

434 Capítulo 19. Tipos abstractos de datos<br />

una operación que escriba objetos del tipo abstracto de datos, que <strong>en</strong> el<br />

ejemplo sería un procedimi<strong>en</strong>to EscribirConj.<br />

Operaciones de modificación: Permit<strong>en</strong>, como su propio nombre indica, modificar<br />

un objeto del tipo abstracto de datos, como, por ejemplo, las operaciones<br />

Annadir y Eliminar.<br />

Operaciones propias del tipo: Son operaciones características de los objetos<br />

abstraídos <strong>en</strong> el tipo de datos, como serían <strong>en</strong> el ejemplo operaciones para<br />

calcular la unión, intersección o difer<strong>en</strong>cia de conjuntos.<br />

Es conv<strong>en</strong>i<strong>en</strong>te destacar que esta clasificación de las operaciones no es excluy<strong>en</strong>te:<br />

<strong>en</strong> algún tipo abstracto de datos puede ser necesaria una operación que<br />

pert<strong>en</strong>ezca a dos clases, como, por ejemplo, una operación que efectúe una consulta<br />

y una modificación al mismo tiempo. No obstante, tal operación no es<br />

adecuada desde el punto de vista de la cohesión, un criterio de calidad de software<br />

aplicable a la programación con subprogramas, que nos recomi<strong>en</strong>da dividir<br />

tal operación <strong>en</strong> dos, una que haga la consulta y otra la modificación.<br />

A modo de resum<strong>en</strong>, se puede decir que la abstracción de datos, considerada<br />

como método de programación, consiste <strong>en</strong> el desarrollo de las sigui<strong>en</strong>tes etapas:<br />

1. Reconocer los objetos candidatos a elem<strong>en</strong>tos del nuevo tipo de datos.<br />

2. Id<strong>en</strong>tificar las operaciones del tipo de datos.<br />

3. Especificar las operaciones de forma precisa.<br />

4. Seleccionar una bu<strong>en</strong>a implem<strong>en</strong>tación.<br />

Se han mostrado las tres primeras etapas tomando como guía el ejemplo de<br />

los conjuntos de <strong>en</strong>teros. A continuación se detalla cómo abordar la cuarta y<br />

última.<br />

19.2.3 Desarrollo de tipos abstractos de datos<br />

En la última versión del ejemplo de la criba de Eratóst<strong>en</strong>es se ha utilizado<br />

el tipo abstracto tConj dejándolo sin desarrollar, únicam<strong>en</strong>te incluy<strong>en</strong>do la palabra<br />

abstracto. Pero, obviam<strong>en</strong>te, por mucho que las características de un tipo<br />

abstracto de datos sean indep<strong>en</strong>di<strong>en</strong>tes de la implem<strong>en</strong>tación, no se puede olvidar<br />

ésta.<br />

Lo más adecuado para implem<strong>en</strong>tar un tipo abstracto de datos es recurrir a<br />

mecanismos que permitan <strong>en</strong>capsular el tipo de datos y sus operaciones, y ocultar<br />

la información al programador-usuario. Estas dos características son es<strong>en</strong>ciales

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

Saved successfully!

Ooh no, something went wrong!