Este documento describe el concepto de programación modular, que consiste en dividir un programa grande en módulos o subprogramas más pequeños para facilitar su desarrollo y mantenimiento. Explica las ventajas de esta técnica, como permitir que varios programadores trabajen simultáneamente y facilitar las pruebas y modificaciones. También cubre conceptos como la estructura modular de un programa, los tipos de subprogramas, la declaración de variables y el paso de parámetros.
2. PROGRAMACION MODULAR
Es una técnica de programación que consiste
en dividir o descomponer un programa en
módulos o subprogramas, con la finalidad de
hacerlo más legible y manejable. También se le
denomina diseño descendente, programación
top-down o divide y vencerás.
La programación modular 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.
Al aplicar la programación modular, un problema complejo debe ser dividido en varios subproblemas más
simples, y estos a su vez en otros subproblemas más simples. Esto debe hacerse hasta obtener subproblemas lo
suficientemente simples para que puedan ser resueltos fácilmente con algún lenguaje de programación.
3. Debe existir un algoritmo principal o conductor que permita
transferir el control a los distintos módulos o subalgoritmos, los
cuales, cuando terminen su tarea, devolverán el control al
algoritmo que los llamó.
ESTRUCTURA DE LA PROGRAMACION MODULAR
Programa
Principal
SubPrograma
1
SubPrograma
1.1
SubPrograma
1.2
SubPrograma
2
SubPrograma
3
•Parámetros
Entrada
•Subprograma
o función
Proceso
•Valor de
retorno
Salida
4. VENTAJAS
Varios programadores podrán trabajar simultáneamente, ya que los módulos son
independientes.
Los módulos pequeños e independientes son más fáciles de entender, diseñar y probar
Se podrá modificar un módulo sin afectar a los demás.
Las tareas, subalgoritmos, sólo se escribirán una vez, aunque se necesiten en distintas
ocasiones en el cuerpo del algoritmo.
DESVENTAJAS
Requiere más memoria y tiempo de ejecución.
Pueden crearse módulos demasiado pequeños
5. TIPOS DE SUBPROGRAMAS
FUNCIONES PROCEDIMIENTOS
Son subprogramas del
programa principal
Consisten en un grupo de
instrucciones, variables,
constantes…
Están diseñados con un
propósito particular
Tiene su nombre propio
Es un subprograma que
realiza una tarea específica
pero que no devuelve ningún
valor como resultado
Realiza una tarea específica
pero como resultado de ella se
obtiene un valor que luego
puede ser usado por el
programa principal o por otro
subprograma
.
6. tipoDeDato función NombreDeFunción([listaDeParámetrosFormales])
//Declaraciones locales de tipos de datos, constantes o variables]
inicio
//Código de la función
devolver(expresión)
fin_función
Llamadas a funciones
NombreFunción([ListaParámetrosActuales])
DECLARACION DE FUNCIONES
Calcule el factorial de un número
entero positivo
Ejemplo
7. Llamadas a Procedimientos
DECLARACION DE PROCEDIMIENTOS
NombreDeProcedimiento([listaDeParámetrosFormales])
//Declaraciones locales de tipos de datos, constantes o variables]
Inicio
//Código del procedimiento
fin_procedimiento
[llamar_a]NombreProcedimiento([listaDeParámetrosActuales])
8. DECLARACION DE VARIABLES
GLOBALES LOCALES
Son aquellas que se declaran en el programa
principal y su ámbito es el programa completo.
Toda variable que se utilice en una función o procedimiento debe haber sido declarada en el mismo.
No es accesible desde ningún otro subprograma.
Son accesibles desde cualquier punto del programa
y se pueden usar desde cualquier módulo o
subprograma
El espacio de memoria vinculado a ellas
solamente se libera cuando terminamos la
ejecución del programa.
El espacio de memoria vinculado a ellas es liberado al
terminar la ejecución del subprograma y devolver el
control al programa que lo solicitó
Su área de acción es solamente dentro del
subprograma que la creo
9. PASO DE PARÁMETROS
Paso por referencia
• También se le llama paso por variable
• Argumentos para entrada y salida o sólo salida
• No se pasa una copia del valor, sino la referencia a
la zona de la memoria donde se almacena el
parámetro actual.
• Se pasan variables no expresiones
Paso por Valor
Es el proceso de emisión y recepción de datos (argumentos) y resultados mediante variables de enlace.
Cada argumento en la llamada, se corresponde con un parámetro formal de la definición
• Se utiliza para pasar datos de entrada
a un subprograma.
• Se pasa una copia del valor
• Pueden ser expresiones
10. Ejemplo
Definición de función
int sumar(int x, int y)
{
return (x+y)
}
Llamada a función
sumar(3, 7)
Argumentos
Llamada a función
sumar(3, 7+2, doble(2))
Argumentos
int sumar(int x, int y, int z)
{
return (x+y+z);
}
sumar(3, 7+2, doble(2))
4
9
3
Paso por Valor
Paso por Referencia
int sumar(int x, int y, int z)
{
return (x+y+z);
}
sumar(3, 7+2, doble(2))
dir1
dir3
dir2
11. Ejemplo
int sum(int x, int y)
{
x++;
return (x+y);
}
int a=2
Int b = sum (a, 5)
Llamada a función
Paso por Valor Paso por Referencia
int sum(int x, int y)
{
x++;
return (x+y);
}
int a=2
int b = sum (a, 5)
2
5
8
La a sigue siendo 2
int sum(int x, int y)
{
x++;
return (x+y);
}
int a=2
int b = sum (a, 5)
dir 1
dir 2
8
La a vale 3
3
5
3+