programacion modular
Programación modular
Ingeniería Informática
Ingeniería Técnica en Informática de Sistemas
Ingeniería Técnica en Informática de Gestión
Fundamentos de la Programación 1
Departamento de Ciencia de la Computación e Inteligencia Artificial
Universidad de Alicante
Fundamentos de la Programación 1
Ingeniería Informática
Ingeniería Técnica en Informática de Gestión
IngenieríaTécnica en Informática de Sistemas
1
Contenidos
❏
❏
❏
❏
❏
Criterios de Descomposición Modular
Concepto de Subalgoritmo
Variables locales y formales
Efectos laterales
Ámbito de un identificador
Fundamentos de la Programación 1
Ingeniería Informática
Ingeniería Técnica en Informática de Gestión
Ingeniería Técnica en Informática de Sistemas
2
Concepto de SubalgoritmoSubalgoritmo, Subprograma o Módulo: Parte de un
programa que realiza una tarea concreta mediante una
serie de instrucciones.
Ventajas
Facilita el diseño descendente
Disminuye la complejidad del algoritmo
Disminuye el tamaño total del programa
Reusabilidad: ahorro de tiempo de programación
División de la programación entre un equipo de programadores → reducción
del tiempo de desarrollo
❏Facilidad en la depuración: comprobación individual de los módulos
❏ Programas más fáciles de modificar
❏ Estructuración en librerías específicas (biblioteca de módulos)
❏
❏
❏
❏
❏
Fundamentos de la Programación 1
Ingeniería Informática
Ingeniería Técnica en Informática de Gestión
Ingeniería Técnica en Informática de Sistemas
3
Criterios de Descomposición Modular
Programación modulares uno de los métodos de diseño
más flexible y potentes para mejorar la productividad de
un programa
Programa
Principal
Módulo 1
Módulo 11
Módulo 111
Módulo 2
Módulo 21
Módulo 112
Módulo 22
Módulo 23
Módulo 221
Fundamentos de la Programación 1
Ingeniería Informática
Ingeniería Técnica en Informática de Gestión
Ingeniería Técnica en Informática de Sistemas
4Diseño Descendente
Diseño Descendente (“top-down”) proceso mediante el
cual un problema se descompone en una serie de niveles
o pasos sucesivos de refinamiento (stepwise)
El problema se descompone en etapas o estructuras
jerárquicas, de forma que se puede considerar cada
estructura desde dos puntos de vista
Nivel n: desde el exterior
¿lo qué hace?
Nivel n+1: desde el interior¿cómo lo hace?
Fundamentos de la Programación 1
Ingeniería Informática
Ingeniería Técnica en Informática de Gestión
Ingeniería Técnica en Informática de Sistemas
5
Complejidad de un subalgoritmo.
Pasos de Programa :
-Sentencias de asignación, lectura, escritura, ...
1 paso
... salvo cuando en ellas aparezca la llamada a un subalgoritmo,
entonces la complejidad de la sentencia será ladel subalgoritmo
más una unidad.
.
.
.
- La definición del subalgoritmo no se computa, sólo se tienen en
cuenta las llamadas a éste.
Fundamentos de la Programación 1
Ingeniería Informática
Ingeniería Técnica en Informática de Gestión
Ingeniería Técnica en Informática de Sistemas
6
Concepto de subalgoritmo
Parámetros o argumentos (1)
Transferencia de información a/desde lossubalgoritmos
❏ Subalgoritmos sin parámetros: no existe comunicación entre el programa
principal y el subalgoritmo
❏ Subalgoritmos con parámetros: existe comunicación entre el programa
principal y el subprograma
Entrada
Salida
Algoritmo
Algoritmo
Algoritmo
Subalgoritmo
Subalgoritmo
Subalgoritmo
Entrada/Salida
Fundamentos de la Programación 1
Ingeniería InformáticaIngeniería Técnica en Informática de Gestión
Ingeniería Técnica en Informática de Sistemas
7
Concepto de subalgoritmo
Parámetros o argumentos (1)
Ejemplos
accion linea (n : entero)
# Ejemplo de Parámetros de entrada
j : entero fvar
var
para j := 1 hasta n hacer
escribe(‘*’)
fpara
faccion
Fundamentos de la Programación 1
Ingeniería Informática
Ingeniería Técnica en...
Regístrate para leer el documento completo.