Documente Academic
Documente Profesional
Documente Cultură
Dpto. de Informtica
y Sistemas
ALGORTMICA
PARTE 1 - TEORA
Fundamentos
de Informtica
45
TEMA 5:SUBALGORITMOS
5.1.- SUBALGORITMOS:
Conjunto estructurado de operaciones identificado mediante un nombre nico, de
modo que toda referencia al mismo implica la ejecucin de las acciones correspondientes.
Mdulos o bloques que resuelven un problema parcial y que se pueden utilizar en
un algoritmo principal como si fuesen operaciones primitivas simplificacin en la
codificacin.
Existe la posibilidad de anidamiento (dentro de un subalgoritmo, definir otro).
ETSII
Dpto. de Informtica
y Sistemas
ALGORTMICA
PARTE 1 - TEORA
Fundamentos
de Informtica
46
a(k)=x
-Fin
5.2.1.- FUNCIONES
Declaracin: Funcin tipo nombre (parmetros)
Resultado de una funcin: se especifica mediante una instruccin de asignacin incluida
en el subalgoritmo:
nombre=expresin
Declaracin de los parmetros: al comienzo de la funcin y pueden ser de cualquier tipo,
incluido vector, matriz o tabla:
parmetro tipo nombre
Parmetros: valores constantes del subalgoritmo. Ninguna operacin debe modificarlos.
Dentro de la funcin se pueden definir las variables necesarias para su ejecucin
(adems de los parmetros).
Referencia a una funcin:
particulares.
Cuando el nombre de la funcin aparece en una expresin del algoritmo principal,
se ejecutan las operaciones definidas en el subalgoritmo, calculndose as su valor, y
sustituyndose ste en la expresin donde se hace referencia a la funcin.
Las funciones pueden aparecer en cualquier lugar de una expresin, siempre que
sean del tipo adecuado.
Ejemplos:
-Funcin real g(x)
parmetro real x
g=sen(x) + cos(x)
-Fin
Funcin entera m (a,b)
parmetros enteros a,b
m=(a + b) / 2
Fin
46
ETSII
Dpto. de Informtica
y Sistemas
ALGORTMICA
PARTE 1 - TEORA
Fundamentos
de Informtica
47
5.2.2.- PROCEDIMIENTOS:
Declaracin: procedimiento nombre (parmetro)
En lugar de devolver un valor escalar, los procedimientos pueden tener parmetros
variables (escalares o vectoriales), cuyo valor se puede modificar en el subalgoritmo,
siendo visible el cambio de valor por el algoritmo invocador.
Activacin de un procedimiento: se produce con la presencia de su nombre como
instruccin independiente, junto con los parmetros correspondientes, en el algoritmo
principal. Obsrvese que un procedimiento no devuelve ningn valor, as que no debe
invocarse en una accin de asignacin ni dentro de una expresin, como es el caso de las
funciones.
Ejemplos de definicin de procedimientos:
Procedimiento P(a,b,c)
parmetros enteros a,b
parmetro variable entero c
c=(a + b) / 2
Fin
47
ETSII
Dpto. de Informtica
y Sistemas
ALGORTMICA
PARTE 1 - TEORA
Fundamentos
de Informtica
48
48
ETSII
Dpto. de Informtica
y Sistemas
ALGORTMICA
PARTE 1 - TEORA
Fundamentos
de Informtica
49
Ejemplo:
Porcedimiento P(i)
parmetro variable entero i
variable entera j
j=i + 2
i=2 * j
Fin
Algoritmo A1
variables enteras i,j
Traza:
i=1
j=2
A1: i j
1 2
p(i)
Fin
6 2
P: i
1
6
j
3
49
ETSII
Dpto. de Informtica
y Sistemas
ALGORTMICA
PARTE 1 - TEORA
Fundamentos
de Informtica
50
Algoritmo A2
variable global entera k
variables enteras i,j
i=1
j=2
k=3
P(i)
Fin
Traza:
A2: i j k
1 2 3
3
8
6 2 8
P: i
1
6
j
3
3
k
3
3
8
50
ETSII
Dpto. de Informtica
y Sistemas
ALGORTMICA
PARTE 1 - TEORA
Fundamentos
de Informtica
51
Todo cambio en el valor de k se refleja en ambos mdulos (no sucede con j,i)
5.3.3.- PARMETROS:
Medio normal de transmisin de informacin entre mdulos y otros. Son el tercer
tipo de variables que intervienen en un algoritmo descompuesto en subalgoritmos.
Parmetros Formales:
Procedimiento P(x,y)
parmetros enteros x,y
...
Fin
P(i,j)
P(2,a)
p(m,n/2)
i=x
2=x
m=x
j=y
a=y
n/2=y
Los parmetros actuales y los parmetros formales deben tener igual nmero y ser
del mismo tipo.
Parmetros (otra clasificacin):
constantes (o de entrada) funciones y procedimientos
variables (de entrada/salida) slo en procedimientos
51
ETSII
Dpto. de Informtica
y Sistemas
ALGORTMICA
PARTE 1 - TEORA
Fundamentos
de Informtica
52
S f ( x)dx
a
n 1
n 1
k 0
k 0
f ( xk ) h h f ( xk )
siendo h
ba
; x0 a; xk 1 xk h
n
ETSII
Dpto. de Informtica
y Sistemas
ALGORTMICA
PARTE 1 - TEORA
Fundamentos
de Informtica
53
Facilita la programacin.
Aumenta la claridad de los programas.
Posibilidad de desarrollo en paralelo.
Posibilidad de biblioteca de subprogramas.
...
Ejercicios de Evaluacin:
ETSII
Dpto. de Informtica
y Sistemas
ALGORTMICA
PARTE 1 - TEORA
Fundamentos
de Informtica
54
Cnm
n!
m!(n m)!
5. Escribir un procedimiento para restar de una fila i de una matriz el producto de otra fila j
por un escalar c.
54
ETSII
Dpto. de Informtica
y Sistemas
ALGORTMICA
PARTE 1 - TEORA
Fundamentos
de Informtica
55
55