Programacin Modular
Subprogramas
Pablo Romero
AGENDA
Pseudocdigo
Programacin modular
Subprogramas
Ejemplo
Procedimiento
Declaracin, Definicin y Llamada
Ejemplo
Funcin
Declaracin, Definicin y Llamada
mbito de variables: local y global
Paso de parmetros: por valor y referencia
Ejercicios
2
PROGRAMACIN MODULAR
La programacin modular es una metodologa de
programacin que consiste en organizar un
programa en mdulos.
En la etapa de diseo de un programa se aplica la
estrategia Divide y vencers.
En la etapa de implementacin, cada uno de los
subproblemas se implementa a travs de un
mdulo.
Los lenguajes de programacin brindan diferentes
mecanismos para implementar mdulos.
Los mdulos ms simples son los procedimientos y
funciones.
SUBPROGRAMAS
SUBPROGRAMAS
SUBPROGRAMAS
SUBPROGRAMAS
SUBPROGRAMAS: EJEMPLO 1
Accin division (entero n1, entero n2, entero &c, entero &r) //Prototipo
Accin Principal
DV
Entero num1, num2, coc, res
Inicio
leer(num1, num2)
division(num1,num2,coc,res)
Llamada a procedimiento
escribir(coc,res)
Fin
Accin division (entero n1, entero n2, entero &c, entero &r)
Inicio
cn1 div n2
rn1 mod n2
FAccin
PROCEDIMIENTO
Son subprogramas que realizan una tarea
determinada y devuelven 0 o ms de un valor. Se
utilizan para estructurar un programa y mejorar su
claridad y generalidad.
Debido a que devuelven ms de un resultado, NO
UTILIZAN la palabra reservada retornar, y los
parmetros pueden ser:
PROCEDIMIENTO: DECLARACIN,
DEFINICIN, LLAMADA
Declaracin o prototipo
Accin identificador (lista de parmetros)
Definicin
Accin identificador (lista de parmetros)
DV
//Variables locales
Inicio
sentencias
fAccin
Llamada o Invocacin
identificador (lista de parmetros)
10
SUBPROGRAMAS: EJEMPLO 2
//Prototipo
Accin Principal
DV
Entero k, cuad //Variables locales a Principal
Inicio
k3
cuad cuadrado(k)
Llamada a la funcin
escribir(Cuadrado , cuad)
Fin
Entero Accin cuadrado(Entero n)
DV
Entero k //Variable local a cuadrado
Inicio
kn*n
retornar k
FAccin
11
FUNCIN
Son subprogramas que realizan una determinada
tarea y devuelven un nico resultado o valor. Se
utilizan para crear operaciones nuevas no incluidas en
el lenguaje.
El resultado devuelto se indica mediante la palabra
reservada retornar, y TODOS LOS PARMETROS
son de ENTRADA.
12
13
EJEMPLO 3
Escribir subprograma para hallar el factorial
de un nmero
Entero Accin factorial (Entero num)
Entero i, factor1
Para i de 1 a num hacer
factorfactor*i
Fpara
retornar factor
FAccin
14
MBITO DE VARIABLES
El buen uso de la programacin modular requiere
que los mdulos sean independientes.
Esto se consigue intentando satisfacer dos
condiciones:
15
16
17
19
Accin Principal
DV
Entero num1, num2, coc, res
Inicio
Parmetros actuales
leer(num1, num2)
division(num1,num2,coc,res)
escribir(coc,res)
Fin
Llamada a procedimiento
20
Parmetro formal
21
22
23
k es parmetro real
escribir(Cuadrado , cuad)
Fin
Entero Accin cuadrado(Entero n)
n es parmetro formal
DV
Entero k //Variable local a cuadrado
Inicio
kn*n
retornar k
FAccin
24
25
26
Accin division (entero n1, entero n2, entero &c, entero &r) //Prototipo
Accin Principal
DV
Entero num1, num2, coc, res
Inicio
leer(num1, num2)
division(num1,num2,coc,res)
escribir(coc,res)
Fin
Accin division (entero n1, entero n2, entero &c, entero &r)
Inicio
cn1 div n2
rn1 mod n2
FAccin
27
EJERCICIOS
28