PROGRAMACIÓN MUDULAR
click to edit
Concepto Central:
Dividir un programa en módulos o subprogramas para mejorar la legibilidad y el manejo.
click to edit
Ramificaciones Principales:
click to edit
Origen y Evolución:
Surge como evolución de la programación estructurada.
Busca solucionar problemas más grandes y complejos.
click to edit
click to edit
Técnicas Fundamentales:
Refinamiento sucesivo: Dividir el problema complejo en subproblemas más simples hasta llegar a unidades fácilmente codificables.
También conocido como "divide y vencerás" o análisis descendente.
click to edit
click to edit
Módulos:
Cada módulo es una parte del programa que resuelve un subproblema específico.
Tienen una tarea bien definida.
Pueden necesitar de otros módulos para funcionar, comunicándose a través de interfaces bien definidas.
click to edit
click to edit
Tipos de Subprogramas:
Funciones:
Realizan una tarea específica.
Devuelven un único resultado usando la palabra clave "return".
Todos sus parámetros son de entrada.
Definición:
Tipo de dato de salida.
Nombre o identificador.
Lista de parámetros separados por comas, declarados como variables normales.
click to edit
click to edit
Procedimientos:
Realizan una tarea específica.
Pueden devolver cero o más de un valor.
No usan "return" para la devolución de valores.
Tipos de parámetros:
Entrada: Reciben datos del subprograma que los llama.
Entrada-Salida: Reciben datos y devuelven resultados al subprograma que los llama.
Parámetros:
Datos que los subprogramas necesitan o devuelven para la comunicación.
Tipos:
Entrada: Aportan datos al subprograma desde el algoritmo que lo invoca.
Salida: Devuelven resultados al algoritmo que invoca el subprograma.
Entrada-Salida: Combinan las funciones de entrada y salida.
Clasificación:
Formales: Se definen en la declaración del subprograma.
Reales: Se pasan al subprograma al momento de la llamada.
Importancia:
Permiten la comunicación entre el subprograma y el programa principal.
Sin parámetros, no hay conexión entre subprogramas y el programa principal
click to edit
Paso de Parámetros:
Por Valor:
Solo se usa el valor, no las modificaciones dentro del subprograma.
Se trabaja con una copia del valor.
Puede ser cualquier expresión evaluable.
Por Referencia:
Se pasa una referencia a la posición de memoria del valor.
Debe ser una variable.
Ejemplo: Cálculo de área y perímetro de un rectángulo (entrada-salida, valor y referencia).
click to edit
Modularidad:
Facilita el ensamblaje, la flexibilidad y la reparación de componentes del programa.
Beneficios:
Mejor comprensión del problema.
Reducción del tamaño del código.
Fomenta una programación eficiente.
click to edit
Conducta de Programación Modular:
Pasos:
Análisis y definición clara del problema antes de la codificación.
Diseño completo de la estructura del programa, considerando la modularización.
Establecimiento de los requerimientos de la estructura.
Codificación, una vez que los pasos anteriores estén claros.
click to edit
Ventajas de la Programación Modular:
Edición más fácil al trabajar con archivos más pequeños.
Compilación más rápida (solo se recompilan los módulos modificados).
Programación más estructurada y con menos errores.
Mayor reutilización de software, lo que acelera el desarrollo.
click to edit
Diferencias con la Programación Estructurada:
La programación estructurada usa el diseño descendente para resolver un problema.
La programación modular agrupa subprogramas en módulos que pueden estar en uno o varios archivos.
La programación modular se basa en módulos, mientras que la estructurada se basa en estructuras.