Debeexistirunalgoritmoprincipaloconductorquepermita
transferirelcontrolalosdistintosmódulososubalgoritmos,los
cuales,cuandoterminensutarea,devolveránelcontrolal
algoritmoquelosllamó.
ESTRUCTURA DE LA PROGRAMACION MODULAR
Programa
Principal
SubPrograma
1
SubPrograma
1.1
SubPrograma
1.2
SubPrograma
2
SubPrograma
3
•ParámetrosEntrada
•Subprograma
o funciónProceso
•Valor de
retornoSalida
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
Realizaunatareaespecífica
perocomoresultadodeellase
obtieneunvalorqueluego
puedeserusadoporel
programaprincipaloporotro
subprograma
.
tipoDeDatofunció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
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])
DECLARACION DE VARIABLES
GLOBALES LOCALES
Sonaquellasquesedeclaranenelprograma
principalysuámbitoeselprogramacompleto.
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.Sonaccesiblesdesdecualquierpuntodelprograma
ysepuedenusardesdecualquiermóduloo
subprograma
Elespaciodememoriavinculadoaellas
solamenteseliberacuandoterminamosla
ejecucióndelprograma.
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áreadeacciónessolamentedentrodel
subprogramaquelacreo
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
Ejemplo
Definición de función
intsumar(intx, inty)
{
return(x+y)
}
Llamada a función
sumar(3, 7)
Argumentos
Llamada a función
sumar(3, 7+2, doble(2))
Argumentos
intsumar(intx, inty, intz)
{
return(x+y+z);
}
sumar(3, 7+2, doble(2))
4
9
3
Paso por Valor
Paso por Referencia
intsumar(intx, inty, intz)
{
return(x+y+z);
}
sumar(3, 7+2, doble(2))
dir1
dir3dir2
Ejemplo
intsum(intx, inty)
{
x++;
return(x+y);
}
inta=2
Intb = sum (a, 5)
Llamada a función
Paso por Valor Paso por Referencia
intsum(intx, inty)
{
x++;
return(x+y);
}
inta=2
intb = sum (a, 5)
2
5
8
La a sigue siendo 2
intsum(intx, inty)
{
x++;
return(x+y);
}
inta=2
intb = sum (a, 5)
dir1
dir2
8
La a vale 3
3
53+