Programación Modular y Estructurada

En este apartado estudiaremos: las técnicas de programación que consisten en la descomposición de un determinado problema en módulos independientes (Programación Modular), y la programación de cada módulo mediante métodos estructurados (Programación Estructurada).

Esto no es más que por una parte, seguir el sabio consejo de "divide y vencerás", y por otra parte que todos los programadores se pongan de acuerdo en que estructuras de control van a utilizar y como. Vamos a desglosar un poco más estos conceptos.

Programación Modular

En esta técnica:
  • El programa se divide en módulos independientes, cada uno de los cuales ejecuta una determinada tarea.
  • Existirá un módulo denominado módulo principal que será el encargado de transferir el control a los demás módulos (denominados submódulos). Su función principal es ser el hilo conductor del programa.
  • Al ser los módulos independientes se pueden desarrollar y probar simultáneamente.
  • Las ventajas serán: mayor claridad y legibilidad, facilidad para modificar los programas y reducción del coste del desarrollo.
Por otra parte, si hay partes o cálculos de nuestro programa que se repiten, se codificaran como módulo una única vez, y se llamará varias veces a ese módulo desde donde haga falta.

Programación Estructurada

La Programación estructurada parte de la Programación Modular, y sigue un diseño descendente (top-down). Esto significa que primero se debe especificar qué es lo que se quiere hacer globalmente, y a continuación se va desglosando esa tarea principal en subtareas. Esta técnica requiere de un refinamiento sucesivo hasta llegar a un nivel de subtareas abordables con facilidad.

Además la programación estructurada utiliza únicamente tres estructuras de control:

  • Secuenciales
  • Selectivas
  • Repetitivas

El utilizar las técnicas (o consejos) de la programación estructurada implica una disminución en el tiempo que se dedica a la verificación, depuración y mantenimiento de las aplicaciones. Esto implica menor coste en el desarrollo, y mayor calidad en el producto.

Comentario sobre los ejemplos

Es muy frecuente en los libros o cursos de programación encontrar numerosos ejemplos de problemas matemáticos o científicos. No debemos olvidar que la programación surge en el entorno de la Ingeniería, y que una de las grandes ventajas de los ordenadores es precisamente el realizar cálculos numéricos a gran velocidad. A pesar de ello, intentaremos eliminar el mayor número posible de estos ejemplos, y sustituirlos por problemas más cotidianos.