| FUNCIONES |
El concepto de función en programación se fundamenta en el concepto de función matemática.
Una función, desde el punto de vista de la programación, se define como un proceso que recibe valores de entrada (llamados argumentos) y el cual retorna un valor resultado. Adicionalmente, las funciones son sub-programas dentro de un programa que se pueden invocar (ejecutar) , desde cualquier parte del programa, es decir, desde otra función, desde la misma función o desde el algoritmo principal[1], cuantas veces sea necesario.
Las funciones se usan cuando existen dos o más porciones de algoritmo dentro de un programa que son iguales o muy similares, por ejemplo, en un algoritmo se puede emplear varias veces una porción de algoritmo que eleva a una potencia dada un número real. De esta manera se define una función que al ser invocada ejecute dicho código, y en el lugar donde estaba la porción de algoritmo original, se hace un llamado (ejecución) de la función creada.
Una función se declara de la siguiente manera:
| funcion nombre( arg1 : tipo1 , ..., argn : tipon ) : tipo variables <declaraciones> inicio <instrucciones> retornar <valor> fin_funcion |
donde,
nombre: es el nombre de la función
argi: es nombre del argumento i-esimo de la función.
tipoi: es el tipo del i-esimo argumento de la función.
tipo: es el tipo de dato que retorna la función.
<declaraciones>: es el conjunto de variables definidas para la función (diferentes a los argumentos).
<instrucciones>:es el conjunto de instrucciones que realiza la función.
<valor>:es el valor que retorna la función, puede ser una variable del tipo que retorna la función o una expresión que de cómo resultado un dato del tipo de retorno.
EJEMPLOS
Ejemplo 1. h: Reales x Reales Þ Reales
(a , b) Þ a2+2*b
| funcion h ( a : real, b
: real): real inicio retornar
a*a
+ 2*b fin_funcion |
Ejemplo 2. minimo: Reales x Reales x Reales Þ Reales
( a ,
b , c ) Þ
a si a
b y a
c
Þ
b si b
a y b
c
Þ
c si c
a y c
b
| funcion minimo( a : real, b
: real , c : real ): real
inicio si a
m
:= a sino si
b m:= b sino m
:= c fin_si fin_si retornar
m fin_funcion |
[1] En la siguiente sección se dirá que es el algoritmo principal.