Está en la página 1de 11

FUNCIONES

Módulos o subprogramas

 Llamamos “módulo”, “rutina” o “subprograma” a cada una de


las acciones que ejecutamos en nuestro algoritmo y que luego
vamos a desarrollar.
 Ejemplo
 Preparar una taza de té:
 Invocamos a los módulos “caminar hacia la cocina”, “calentar el
agua”, etc.
 Luego tendremos que desarrollar cada uno de estos módulos para los
cuales, probablemente, necesitemos invocar a otros módulos que
también tendremos que desarrollar.
Funciones

 Cuando aplicamos algoritmos a la resolución de problemas


computacionales los módulos se implementan como
funciones.
 Una función es un subprograma invocado desde el
programa principal (o desde otra función) que ejecuta una
tarea determinada y luego, retorna el control al programa
o función que la invocó
Funciones definidas por el programador
 La modularización es la base de la metodología top-down y, en C
los módulos se implementan como funciones.
 Las funciones realizan una determinada tarea “en función” de un
conjunto de argumentos que reciben como parámetros y luego
retornan un resultado. A este resultado lo llamaremos “valor de
retorno”.
 El valor que retorna una función, generalmente, dependerá de los
valores de los argumentos que le pasemos.
Metodología top-down

 La metodología top-down propone pensar la solución de un


problema en base a una secuencia de acciones de nivel
general cuyos pasos iremos refinando sucesivamente. Esto
significa partir de un análisis global y refinarlo hasta llegar
a un análisis particular.
 Aplicando esta metodología a la resolución de problemas
computacionales podremos resolver situaciones
complejas.
 Una función se compone de una cabecera y un cuerpo.
 En la cabecera se especifican los parámetros con los que
la función va a trabajar y el tipo de dato del valor de
retorno.
 El cuerpo es la codificación del algoritmo de la función.
Prototipo de una función
 Header, describe la lista de argumentos que la función espera
recibir y el tipo de dato de su valor de retorno.
 Por ejemplo, si pensamos en una función que retorne el valor
absoluto de un número, su prototipo será el siguiente:

double valorAbsoluto(double);
Invocar a una función

 Si desde el programa principal queremos invocar a una


función previamente tendremos que prototiparla.
 Esto no es más que agregar una línea de código con el
prototipo de la función que vamos a utilizar.
Desarrollo de una función

 Para desarrollar una función, se debe definir su cabecera


y su cuerpo.
 La cabecera es idéntica al prototipo, pero le pone nombre
a los argumentos que, desde el punto de vista de la
función llamaremos “parámetros”.
Nomenclatura

 Los nombres que pueden dárselo a las funciones tienen las


mismas restricciones que aplican sobre los nombres de las
variables.
 Nombres simples: deben escribirse completamente en
minúscula.
 sumar, procesar, abrir, cerrar...
 Nombres compuestos: si el nombre de la función está
compuesto por dos o más palabras entonces cada una,
exceptuando la primera, debe comenzar en mayúscula.
 valorAbsoluto, obtenerFechaNacimiento, procesarValores…
Funciones que no retornan ningún valor
(tipo de datos void)
 En C existe el tipo de datos void (nulo).
 Este tipo se utiliza, entre otras cosas, para indicar que una
función no retornará ningún valor.
 Función saludar que simplemente muestra por pantalla un cordial
saludo.
void saludar() {
printf("Hola !!!\n");
return;
}

También podría gustarte