La descarga está en progreso. Por favor, espere

La descarga está en progreso. Por favor, espere

La 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.

Presentaciones similares


Presentación del tema: "La 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."— Transcripción de la presentación:

1

2 La 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.paradigma de programación Se presenta históricamente como una evolución de la programación estructurada para solucionar problemas de programación más grandes y complejos de lo que ésta puede resolver.programación estructurada

3 Al aplicar la programación modular, un problema complejo debe ser dividido en varios sub problemas más simples, y estos a su vez en otros subproblemas más simples. Esto debe hacerse hasta obtener subproblemas lo suficientemente simples como para poder ser resueltos fácilmente con algún lenguaje de programación. Ésta técnica se llama refinamiento sucesivo, divide y vencerás ó análisis descendente (Top- Down).divide y vencerás Si bien un módulo puede entenderse como una parte de un programa en cualquiera de sus formas y variados contextos, en la práctica se los suele tomar como sinónimos de procedimientos y funciones. Pero no necesaria ni estrictamente un módulo es una función o un procedimiento, ya que el mismo puede contener muchos de ellos, no debe confundirse el término "modulo" (en el sentido de programación modular) con términos como "función" o "procedimiento", propios del lenguaje que lo soporte.procedimientos funciones

4

5  Cada programa contiene un módulo denominado programa principal que controla todo lo que sucede; se transfiere el control a los submódulos o subprogramas. Estos ejecutan su función y una vez completada su tarea, devuelven el control al módulo principal.  Cada submódulo se puede descomponer en otros submódulos, dependiendo de la complejidad de la tarea a realizar y la subdivisión continúa hasta que cada módulo tenga una sola tarea para ejecutar.  Un submódulo puede realizar tareas de distinta naturaleza como: entrada, salida, manipulación de datos, control de otros módulos o una combinación de éstos. Un módulo puede transferir temporalmente (bifurcar) el control a otro módulo; sin embargo, cada módulo debe eventualmente devolver el control al módulo del cual recibió originalmente el control.

6 Objetivos de la programación modular Hacer mas legible y manejable un programa Simplificación del problema: Divide y vencerás Aumentar su capacidad de reutilización Facilita el trabajo en equipo Funciones Transforman datos Variables de entradas Variables de salida Variables de Entrada / Salida Realizan una única tarea, bien definida El nombre indicara su función Pueden usar otras funciones Si se llama a si misma => función recursiva

7 Funciones Espacio de trabajo local Aisladas del programa, solo se comunican mediante los argumentos de entrada y la salida de la función Excepción: Variables globales Ej.: A = f(B) Si B es una variable de entrada, f no puede modificar B En matlab todos los argumentos son de entrada La salida se guarda en A Funciones Matlab function [out1, out2,..., outN] = nombre función (in1, in2,..., inM) Mismo nombre que el fichero.m donde se define Las variables definidas dentro de la función son locales Al modificar un parámetro de entrada se hace una copia para evitar su modificación out1=salida1 %modifica la salida

8 Programa vs Función Programa: Mismo efecto que ejecutar línea a línea en ventana de comandos Funciones: Solo accede a los argumentos de entrada y variables globales declaradas Variables de programa: globales Variables de función: locales Variables locales: Se destruyen al salir de la función No interfieren con variables del mismo nombre en otras partes del programa

9 PROCEDIMIENTOS Y FUNCIONES Un algoritmo que resolviera un problema complejo, contendría cientos o miles de líneas de código en su interior. Esto es inabarcable para cualquier programador, por lo que se utiliza el concepto de procedimientos y funciones para subdividir el problema en partes. La idea es que cada una de estas partes contenga un conjunto de instrucciones que permita la ejecución de algún proceso determinado y lógico desde el punto de vista humano. Dos ejemplos, función y procedimiento respectivamente: FUNCION multiplicar(E a: ENTERO, E b: ENTERO): ENTERO RETORNA ( a * b ) FIN_FUNCION ó PROCEDIMIENTO escribirEdad(E mensaje: CADENA, E edad: ENTERO) ESCRIBIR( mensaje, edad ) FIN_PROCEDIMIENTO La descomposición del software en tareas también se conoce con el nombre de top-down y fue presentada por primera vez por Niklaus Wirth. Este autor proporciona la siguiente visión de refinamiento: “En cada paso (del refinamiento), una o varias instrucciones del programa dado, se descomponen en instrucciones más detalladas. Esta descomposición sucesiva o refinamiento de especificaciones termina cuando todas las instrucciones están expresadas en términos de la computadora usada o del lenguaje de programación… Conforme se refinan las tareas, también los datos pueden ser refinados, descompuestos o estructurados siendo natural refinar las especificaciones del programa y los datos en Paralelo, Cada paso de refinamiento implica algunas decisiones de diseño. Es importante que el programador sea consciente de los criterios subyacentes (en las decisiones de diseño adoptadas) y de la existencia de soluciones alternativas…” Típicamente, una descomposición insuficiente de un problema en tareas conduce a la definición de pocos procedimientos, cada uno de las cuales implementará múltiples funcionalidades.


Descargar ppt "La 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."

Presentaciones similares


Anuncios Google