1. Pontificia Universidad Católica de Valparaíso
Escuela de Ingeniería Informática
Pontificia Universidad Católica de Valparaíso
Subprogramas (subalgoritmos)
Facultad de Ingeniería
Escuela de Ingeniería Informática
Un método conocido para solucionar un problema complejo es dividirlo en
subproblemas, o problemas más sencillos. La misma técnica se puede aplicar a
los algoritmos, donde a cada uno de estos subproblemas le llamaremos
Subprogramas o Subalgoritmos.
“Algoritmos: Procedimientos y Funciones” Problema Algoritmo
Principal Principal
Subproblema Subproblema Subproblema SubAlgoritmo SubAlgoritmo SubAlgoritmo
Asignatura
1 2 3 1 2 3
INF 140 – Informática I
Profesores
Pamela Hermosilla Monckton
Daniel Cabrera Paniagua
Profesores Profesores
INF 140 – Informática I
PHM/DCP PHM/DCP
Pontificia Universidad Católica de Valparaíso Pontificia Universidad Católica de Valparaíso
Escuela de Ingeniería Informática Escuela de Ingeniería Informática
Funciones Invocación a las Funciones
Una función es una operación que toma uno o más valores llamados
Una función se llama/usa/invoca de la siguiente forma:
argumentos y produce un valor denominado resultado.
nombre_funcion (lista de parametros actuales)
<tipo_de_resultado> funcion <nombre_fun> (lista de parametros)
[declaraciones locales] s f1(r)
inicio
<acciones>
Los argumentos utilizados en la llamada a la función se denominan
devolver (<expresion>)
parámetros actuales.
fin_funcion
Cada vez que se llama a una función desde el algoritmo principal se
Los argumentos de la declaración de la función se denominan parámetros
establece automáticamente una correspondencia entre los parámetros
formales y sólo se utilizan dentro del cuerpo de la función.
formales y los actuales.
real funcion f1(real:x) Debe haber exactamente el mismo número de parámetros actuales que de
real: y parámetros formales en la declaración de la función y se presupone
inicio
correspondencia uno a uno de izquierda a derecha entre los parámetros
y x/(1+(x*x))
formales y los actuales.
devolver (y)
fin_funcion
Profesores Profesores
INF 140 – Informática I INF 140 – Informática I
PHM/DCP PHM/DCP
2. Pontificia Universidad Católica de Valparaíso Pontificia Universidad Católica de Valparaíso
Escuela de Ingeniería Informática Escuela de Ingeniería Informática
Procedimientos Invocación a los Procedimientos
En alguna ocasiones, se requieren subprogramas que lleven a cabo ciertas Un procedimiento se llama/usa de la siguiente forma:
tareas o ejecuten un conjunto de instrucciones, pero que no retornen un
resultado. En estas situaciones, la función no es apropiada y se necesita llamar_a nombre_procedimiento(lista de parametros actuales)
disponer de otro tipo de subprograma: el procedimiento o subrutina.
llamar_a p1(m,n,r,t)
En los procedimientos los parámetros actuales y formales tienen el mismo
procedimiento <nombre_proc> (lista de parametros formales)
[declaraciones locales] significado que en las funciones.
inicio
Cada vez que se llama a un procedimiento desde el algoritmo principal se
<acciones>
establece automáticamente una correspondencia entre los parámetros
fin_procedimiento
formales y los actuales.
procedimiento p1(real:x,y,mult,sum) Debe haber exactamente el mismo número de parámetros actuales que de
inicio parámetros formales en la declaración del procedimiento y se presupone
sum x+ y correspondencia uno a uno de izquierda a derecha entre los parámetros
mult x*y formales y los actuales.
fin_procedimiento
Profesores Profesores
INF 140 – Informática I INF 140 – Informática I
PHM/DCP PHM/DCP
Pontificia Universidad Católica de Valparaíso Pontificia Universidad Católica de Valparaíso
Escuela de Ingeniería Informática Escuela de Ingeniería Informática
Algoritmo determinar_Aprobacion_Reprobacion
Var real: nota1,nota2,nota3, prom
Inicio
Ejercicio leer (nota1)
leer (nota2)
leer (nota3)
prom llamar_a calcularPromedio(nota1, nota2, nota3)
• Utilizando una función, desarrollar un escribir (“promedio es: ”, prom)
si (prom >= 40 ) entonces
algoritmo que calcule el promedio simple escribir (“Aprobado !!! … Felicitaciones !!!”)
sino
de 3 notas, y que en base al resultado escribir (“Ánimo, hay otra oportunidad !!! ”)
fin_si
obtenido, muestre la situación final
Fin
(aprobado-reprobado).
real funcion calcularPromedios (real: n1, n2, n3)
Var real: suma_de_notas, promedio
Inicio
suma_de_notas n1 + n2 + n3
promedio suma_de_notas / 3
devolver (promedio)
Fin_funcion
Profesores Profesores
INF 140 – Informática I INF 140 – Informática I
PHM/DCP PHM/DCP