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.

B.11. Unidades 505<br />

B.11.3 Modularidad incompleta de Turbo <strong>Pascal</strong><br />

La utilización de unidades <strong>en</strong> Turbo <strong>Pascal</strong> refuerza los aspectos modulares<br />

del l<strong>en</strong>guaje <strong>Pascal</strong> estándar si<strong>en</strong>do equival<strong>en</strong>tes, con pequeñas limitaciones, a<br />

los módulos exist<strong>en</strong>tes <strong>en</strong> otros l<strong>en</strong>guajes.<br />

Las unidades permit<strong>en</strong> solucionar ciertos problemas de jerarquía modular<br />

como, por ejemplo, las llamadas a subprogramas desde otros varios, lo que obligaba<br />

a situar los subprogramas llamados por <strong>en</strong>cima de su verdadero nivel para<br />

hacerlos accesibles a dos o más subprogramas difer<strong>en</strong>tes. La solución a este<br />

problema se alcanza incorporando una unidad con los subprogramas llamados.<br />

Las unidades ti<strong>en</strong>e una modularidad de acciones completa, al estar separadas<br />

las partes pública y privada de los subprogramas, lo que les permite alcanzar<br />

una verdadera ocultación de la información. Sin embargo, la modularidad de<br />

los datos no es completa, al no permitir m<strong>en</strong>cionar públicam<strong>en</strong>te tipos con una<br />

implem<strong>en</strong>tación privada (oculta) como <strong>en</strong> otros l<strong>en</strong>guajes, por ejemplo, Modula2<br />

o Ada.<br />

Por ello, cuando utilizamos las unidades de Turbo <strong>Pascal</strong> para la definición<br />

de tipos abstractos de datos, su declaración y definición ti<strong>en</strong><strong>en</strong> que estar <strong>en</strong> la<br />

parte pública interface.

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

Saved successfully!

Ooh no, something went wrong!