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.

202 Capítulo 9. <strong>Programación</strong> con subprogramas<br />

En consecu<strong>en</strong>cia, el código g<strong>en</strong>erado aplicando los principios de la programación<br />

con subprogramas es reutilizable, por lo que puede ser incorporado <strong>en</strong><br />

otros programas, lo que significa un importante ahorro de tiempo y trabajo. De<br />

hecho, es frecu<strong>en</strong>te la creación de bibliotecas compuestas por subprogramas especializados<br />

para ciertas aplicaciones, como cálculo numérico, estadística, gráficos,<br />

etc. Dichas bibliotecas están disponibles <strong>en</strong> ciertas instituciones de forma gratuita<br />

o comercial; de ellas, se toman aquellos subprogramas que se precis<strong>en</strong> y se<br />

introduc<strong>en</strong> d<strong>en</strong>tro del programa. Las técnicas de programación con subprogramas<br />

facilitan la utilización de las bibliotecas y garantizan que no se produzcan<br />

incompatibilidades <strong>en</strong>tre los subprogramas debido, es<strong>en</strong>cialm<strong>en</strong>te, a su indep<strong>en</strong>d<strong>en</strong>cia.<br />

Cuando se dispone de los subprogramas más elem<strong>en</strong>tales, proced<strong>en</strong>tes de<br />

bibliotecas o de otros programas creados con anterioridad, y se integran para<br />

realizar acciones más complejas, y éstas se integran a su vez para efectuar otras<br />

más complejas, y así sucesivam<strong>en</strong>te, hasta obt<strong>en</strong>er la solución de un problema,<br />

se dice que se ha seguido una metodología de diseño asc<strong>en</strong>d<strong>en</strong>te (bottom-up).<br />

Depuración y verificación<br />

Un subprograma puede comprobarse por separado, mediante un programa<br />

de prueba que efectúe la llamada al subprograma, le pase unos datos de prueba<br />

y muestre los resultados. Una vez que se hayan comprobado separadam<strong>en</strong>te los<br />

subprogramas correspondi<strong>en</strong>tes a una sección del programa, pued<strong>en</strong> comprobarse<br />

conjuntam<strong>en</strong>te, y por último probar el programa <strong>en</strong> su totalidad. La comprobación<br />

de un programa dividido <strong>en</strong> subprogramas es más fácil de realizar y por<br />

su propia estructura más exhaustiva que la de un programa monolítico.<br />

También puede utilizarse la llamada estrategia increm<strong>en</strong>tal de pruebas, consist<strong>en</strong>te<br />

<strong>en</strong> codificar <strong>en</strong> primer lugar los subprogramas de los niveles superiores,<br />

utilizando subprogramas subordinados provisionales (que realic<strong>en</strong> su tarea lo<br />

más simplificadam<strong>en</strong>te posible). De esta forma se dispone de una versión previa<br />

del sistema funcionando continuam<strong>en</strong>te durante todo el proceso de pruebas,<br />

facilitando así la interv<strong>en</strong>ción del usuario <strong>en</strong> éstas.<br />

Igualm<strong>en</strong>te, el proceso de verificación formal será también más llevadero sobre<br />

un programa dividido <strong>en</strong> partes que sobre la totalidad. Como se explicó <strong>en</strong><br />

el apartado 8.7, la verificación de un programa con subprogramas consistirá <strong>en</strong><br />

verificar cada uno de éstos, así como su correcto <strong>en</strong>samblaje (mediante llamadas).<br />

Ninguna de estas tareas será complicada, y se simplificará notablem<strong>en</strong>te<br />

la comprobación de la corrección con respecto a la de un programa de una sola<br />

pieza.<br />

Por consigui<strong>en</strong>te, un programa construido mediante subprogramas t<strong>en</strong>drá<br />

m<strong>en</strong>os errores y éstos serán más fáciles de detectar y subsanar.

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

Saved successfully!

Ooh no, something went wrong!