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.

8.5.<br />

Ámbito y visibilidad de los id<strong>en</strong>tificadores 181<br />

8.5.3 Criterios de localidad<br />

Los difer<strong>en</strong>tes ámbitos de validez de los id<strong>en</strong>tificadores, correctam<strong>en</strong>te utilizados,<br />

permit<strong>en</strong> alcanzar una gran indep<strong>en</strong>d<strong>en</strong>cia <strong>en</strong>tre el programa principal<br />

y sus subprogramas, y <strong>en</strong>tre éstos y los subprogramas <strong>en</strong> ellos cont<strong>en</strong>idos. De<br />

esta forma se puede modificar un subprograma sin t<strong>en</strong>er que cambiar los demás,<br />

facilitando tanto el diseño del programa como posteriorm<strong>en</strong>te su depuración y<br />

mant<strong>en</strong>imi<strong>en</strong>to. Además, facilitan la utilización de subprogramas ya creados (bibliotecas<br />

de subprogramas) d<strong>en</strong>tro de nuevos programas, eliminando las posibles<br />

interfer<strong>en</strong>cias <strong>en</strong>tre los objetos del programa y los de los subprogramas.<br />

Para lograr estos efectos es necesario compr<strong>en</strong>der primero con claridad cuál<br />

es el ámbito de los id<strong>en</strong>tificadores y seguir <strong>en</strong> lo posible unos s<strong>en</strong>cillos criterios<br />

de localidad.<br />

Los id<strong>en</strong>tificadores locales se deb<strong>en</strong> utilizar para nombrar objetos utilizados<br />

d<strong>en</strong>tro de un subprograma, incluy<strong>en</strong>do sus parámetros formales. Para conseguir<br />

el máximo grado de indep<strong>en</strong>d<strong>en</strong>cia es recom<strong>en</strong>dable que se cumplan las sigui<strong>en</strong>tes<br />

condiciones:<br />

• Principio de máxima localidad<br />

Todos los objetos particulares de un subprograma, necesarios para que<br />

desempeñe su cometido, deb<strong>en</strong> ser locales al mismo.<br />

• Principio de autonomía de los subprogramas<br />

La comunicación con el exterior debe realizarse exclusivam<strong>en</strong>te mediante<br />

parámetros, evitándose d<strong>en</strong>tro de los subprogramas toda refer<strong>en</strong>cia a objetos<br />

globales.<br />

Si se cumpl<strong>en</strong> ambas condiciones, <strong>en</strong> el punto de la llamada el subprograma<br />

se compara con una caja negra de paredes opacas cuyo cont<strong>en</strong>ido no puede verse<br />

desde fuera del mismo.<br />

Obsérvese que ambos principios están relacionados, pues una mayor localidad<br />

implica una mayor ocultación de la información al quedar más objetos invisibles<br />

al resto del programa. De este modo, la indep<strong>en</strong>d<strong>en</strong>cia del subprograma con<br />

respecto al programa que lo invoca es máxima.<br />

8.5.4 Efectos laterales<br />

Hemos visto distintos mecanismos por los cuales un procedimi<strong>en</strong>to o función<br />

pued<strong>en</strong> devolver o <strong>en</strong>viar resultados al programa principal (o a otro procedimi<strong>en</strong>to<br />

o función). En el caso de las funciones existe un mecanismo específico de<br />

transmisión a través del propio nombre de la función, aunque limitado a tipos

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

Saved successfully!

Ooh no, something went wrong!