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.

9.3. Metodología de la programación con subprogramas 195<br />

ellas se convertirán <strong>en</strong> subprogramas. A tal fin se definirán con precisión las<br />

especificaciones de los subprogramas (o sea, su cometido) y las condiciones que<br />

deb<strong>en</strong> cumplir sus parámetros, pero no se <strong>en</strong>trará a detallar las acciones que los<br />

integran.<br />

En consecu<strong>en</strong>cia, el programa principal expresa una solución del problema<br />

con un elevado nivel de abstracción. En él se relacionan los nombres de las<br />

distintas acciones y expresiones abstractas simples <strong>en</strong> que se descompone el algoritmo,<br />

<strong>en</strong>lazándolas <strong>en</strong>tre sí mediante instrucciones estructuradas. Desde él se<br />

activan dichas acciones y expresiones, y a él retorna el control de la ejecución<br />

del programa una vez que el subprograma llamado finaliza.<br />

La descomposición de un problema <strong>en</strong> partes más s<strong>en</strong>cillas para constituir<br />

el programa principal se puede hacer at<strong>en</strong>di<strong>en</strong>do a las distintas acciones necesarias<br />

para obt<strong>en</strong>er la solución del problema (descomposición por acciones) o<br />

bi<strong>en</strong> considerando cuál es la estructura de los datos, y una vez establecida, pasar<br />

a considerar las acciones que se aplicarán a dichos datos (descomposición por<br />

datos). En nuestro ejemplo de refer<strong>en</strong>cia se ha realizado una descomposición<br />

por acciones: SumarFracciones, SimplificarFraccion y MCD porque no se ha<br />

utilizado una estructura de datos para repres<strong>en</strong>tar las fracciones, y por ser más<br />

natural. En el capítulo 19 estudiaremos la descomposición por datos.<br />

¿Cuándo debe considerarse la creación de un nuevo subprograma? Si durante<br />

el desarrollo del programa principal es necesario empezar a profundizar <strong>en</strong><br />

detalles sobre datos o instrucciones es porque <strong>en</strong> ese punto se necesita un subprograma.<br />

Por consigui<strong>en</strong>te, se dará nombre al nuevo subprograma, se definirá<br />

su cometido y se incluirá d<strong>en</strong>tro del programa principal.<br />

El programa principal dep<strong>en</strong>de directam<strong>en</strong>te del problema por resolver, por lo<br />

tanto será difer<strong>en</strong>te para cada problema, y no es reutilizable, aunque sí adaptable.<br />

La jerarquía de la estructura del programa es, <strong>en</strong>tre otros aspectos, una<br />

jerarquía de control, por lo que los efectos de un subprograma determinado deb<strong>en</strong><br />

afectar a sus subprogramas subordinados y <strong>en</strong> ningún caso a un subprograma<br />

superior. Deberá repasarse la estructura, subordinando aquellos subprogramas<br />

cuyo control sea ejercido por subprogramas inferiores.<br />

9.3.3 Docum<strong>en</strong>tación de los subprogramas<br />

Se ha dicho que, cuando surge la necesidad de un subprograma, debe definirse<br />

con precisión su cometido, incluy<strong>en</strong>do la información necesaria como docum<strong>en</strong>tación<br />

del subprograma. Para ello, deb<strong>en</strong> t<strong>en</strong>erse <strong>en</strong> cu<strong>en</strong>ta las sigui<strong>en</strong>tes<br />

posibilidades:<br />

• El id<strong>en</strong>tificador es el primer descriptor de su cometido: suel<strong>en</strong> emplearse<br />

verbos <strong>en</strong> infinitivo para los procedimi<strong>en</strong>tos (LeerDatos, por ejemplo) y

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

Saved successfully!

Ooh no, something went wrong!