You are on page 1of 6

Programación Modular

Fundamentos de Programación
Oscar Rodríguez Mendoza

RESUMEN
INTRODUCCION A LA PROGRAMACION MODULAR

Si los módulos son independientes. En caso de que un módulo necesite de otro. Minimizar el número de módulos que el usuario necesite modificar cuando haga cambios. . Cada módulo sería un programa normal pensado para ser integrado en una aplicación mayor. Un módulo es cada una de las partes de un programa que resuelve uno de los su problemas en que se divide el problema complejo original. En un programa monolítico la cantidad de variables utilizadas y caminos que debe seguir el flujo de control hace imposible su correcta i ó comprensión. Mantener las relaciones jerárquicas establecidas en las etapas de descenso. Mantener cada módulo de un tamaño manejable (de manera ideal incluyendo sólo una función). Prestar atención particular en las interfaces criticas (esto es. módulos subalgoritmos o subprogramas pequeñas: módulos.cada programador del equipo de desarrollo puede encargarse de uno. Una serie de módulos que resolverían cada una de la tareas concretas del problema Ventajas: Facilidad para aprehender el problema. Cada uno de estos módulos tiene una tarea bien definida y algunos necesitan de otros para poder operar. Algunos lineamientos para la programación modular son: 1.subalgoritmos o subprogramas. 3.L a programación modular es un paradigma de programación que consiste en dividir un programa en módulos o subprogramas con el fin de hacerlo más legible y manejable. División del trabajo entre un equipo de programadores. puede comunicarse con éste mediante una interfaz de comunicación que también debe estar bien definida. Un programa modular estaría compuesto de: Un programa principal. encargado de coordinar la ejecución. Consiste en descomponer un problema complejo en partes más pequeñas. La programación modular proporciona un método para plasmar el uso de recursos abstractos y la programación descendente. El jefe del proyecto integrará los distintos módulos en la aplicación principal. 4. 2. Es más fácil resolver un problema complejo cuando se divide en partes manejables: técnica de divide y vencerás. a los datos y a las variables de control que pasan entre los módulos).

7071) que sustituye a la llamada. cediendo a éstos el control del flujo del programa. Independencia funcional.Si un programa se descompone en demasiadas unidades. Cuando la función termina se retorna y la llamada es sustituida por el valor que devuelve. decrece el esfuerzo para realizarlos. Si cada módulo cumple una tarea completa es más fácil detectar donde se produce un error. Si se necesita realizar una mejora.. termina y devuelve el valor del seno de 45 (0..Facilidad de mantenimiento y corrección de errores. q módulo. El programa principal llama o invoca a los módulos. Un módulo que realice una tarea determinada podrá utilizarse en otro programa que precise de la misma tarea. Cuando se detecta la llamada a una función. Antes de evaluar la expresión. Descomposición por tamaño (50 líneas por módulo). decrece la efectividad. el control del programa se transfiera a la función. Algunos criterios de descomposición (no válidos).7071) se asigna a la variable y'. La expresión evaluada (1+0. Reutilización del código. La función se ejecuta. . FUNCIONES Realizan una tarea que siempre devuelve un valor asociado a la propia llamada. el control se transfiera a la llamada a la función sen() con el valor 45.Cuando el número de módulos se incrementa. LLAMADAS A MODULOS Un programa modular contará con un programa principal y uno o varios módulos. pero aumenta el esfuerzo de integración y la carga en memoria. Complejidad del módulo: niveles de anidamiento (menos de 7 niveles). sólo habrá que modificar un j. Un módulo debe realizar una única tarea y comunicarse lo menos posible con el resto de módulos. Se evalúa la expresión de izquierda a derecha. En la instrucción de asignación y Å1 + sen(45). CRITERIOS DE DESCOMPOSICION MODULAR Es necesario un compromiso entre el tamaño de los módulos y la complejidad de la aplicación.

antes de utilizar una función. primero debemos utilizar la directiva de precompilación #include para incluir los ficheros cabecera en nuestro programa. Por otra parte. Todas las funciones que pertenecen a un mismo grupo se definen en el mismo fichero de cabecera. Los nombres de los ficheros cabeceras de C se muestran en la siguiente tabla: Cuando deseamos utilizar cualquiera de las funciones estándar de C. Los grupos de funciones estándar más comunes son: . primero debemos conocer las características de dicha función. Esta información es proporcionada por los prototipos de función. el número y tipo de datos de sus argumentos y el tipo de valor que devuelve. es decir. están divididas en grupos.entrada/salida estándar . funciones estándar o predefinidas.Las funciones que forman parte de la biblioteca estándar de C.

putc() escribe caracteres en un archivo que haya sido abierto previamente para operaciones de escritura.de manipulación de memoria . utilizando la función fopen(). . Permiten la lectura de bloques de cualquier tipo de datos.control de proceso . fflush(): Vacía el contenido de una secuencia de salida. Permiten la escritura de bloques de cualquier tipo de datos. ferror(): Detecta un error en la lectura/escritura de un fichero. feof(): Detecta el final de un fichero. fread(): Lee tipos de datos que ocupan más de un byte. fwrite(): Escribe tipos de datos que ocupan más de un byte.. fclose() cierra una secuencia que fue abierta mediante una llamada a fopen(). fscanf(): Hace las funciones de scanf() sobre un fichero.ordenación .diagnóstico .directorios Existen otras muchas funciones en la biblioteca estándar de C (ver capítulo 13) como pueden serremove(): Borra el archivo especificado. fprintf(): Hace las funciones de printf() sobre un fichero.matemáticas .de conversión .

net/documentos/documentacion/106/FPI04_Program acion_Modular_%2811-12%29.colimbo.pdf .Bibliografia: http://www.