You are on page 1of 4

Programacin Instituto Tecnolgico de Celaya

F FUNCIONES UNCIONES D DEFINIDAS EFINIDAS POR POR EL EL U USUARIO SUARIO


Las funciones que se han utilizado hasta ahora son funciones que el lenguaje de
programacin ha predefinido en sus bibliotecas o libreras. Sin embargo,
tambin es posible que el programador defina y utilice sus propias funciones.
Definicin de Funciones
Las funciones definidas por el programador se escriben fuera de la funcin
main. Si se recuerda, uno de los objeti!os del uso de las funciones es la
descomposicin de problemas complejos y el trabajo en grupo. "l siguiente es
un ejemplo de una definicin de una funcin. Se utiliza antes de presentar la
sinta#is formal de modo que nos podamos familiarizar con la terminologa$
double square(double numero)
{
double cuadrado;
cuadrado = numero * numero;
return cuadrado;
}
"sta definicin de la funcin square consiste de$
1) "l encabezado de la funcin
double square%double numero&
'bser!e que el encabezado no termina con punto y coma. Las partes del
encabezado de una funcin son los siguientes.
a& (na lista de los argumentos de la funcin entre parntesis$
(double numero)
Si se considera a la funcin como un programa peque)o, la lista de argumentos
seran equi!alentes a los datos que en un programa se introducira a tra!s de
la instruccin cin. "s importante que obser!e que en la lista de argumentos se
Ingeniera Qumica
Programacin Instituto Tecnolgico de Celaya
indican tanto la lista de los argumentos necesarios como el tipo de cada uno de
ellos.
b& "l nombre de la funcin
square
que puede se cualquier identificador !*lido en +,,.
c& "l tipo de !alor que regresa la funcin como resultado.
double
2) "l cuerpo de la funcin
-
double cuadrado.
cuadrado / numero 0 numero.
return cuadrado.
1
"l cuerpo de la funcin se encierra entre lla!es y en l se escriben las sentencias
que se necesitan ejecutar para lograr el objeti!o de la funcin. +ontiene al
menos una sentencia return. La sentencia return !a seguida del nombre de una
!ariable o de un !alor constante.
return cuadrado.
"l !alor de dicha !ariable %o el !alor de dicha constante& constituye el !alor de
regreso de la funcin. "l tipo del !alor que regresa la funcin debe ser
consistente con el tipo del !alor de regreso especificado en el encabezado de la
funcin. 'bser!e que, en este ejemplo, el !alor de regreso de la funcin %tipo
de la !ariable llamada cuadrado& es double, al igual que el tipo de !alor de
regreso especificado en el encabezado.
Llamado de Funciones
"l llamado de las funciones definidas por el usuario se realiza de la misma
forma que el llamado a funciones predefinidas. 2or ejemplo, si un programador
ha definido la funcin square de este ejemplo, los siguientes seran llamados
!*lidos a la funcin$
Ingeniera Qumica
Programacin Instituto Tecnolgico de Celaya
double x,y,z;
x=2.0;
y = square(10.0);
z = square(x+y);
'bser!e que los argumentos que se pasan a la funcin %10.0 en el primer caso
y x+y en el segundo caso& son del tipo double y coinciden con el tipo definido
para el argumento de la funcin. 3simismo, a la !ariable y se le asigna el !alor
de regreso de la funcin square(10.0&. "sto es correcto porque el !alor de
regreso de la funcin es de tipo double y la !ariable y tambin es de tipo
double. 4ote que no es necesario que los argumentos con que la funcin es
llamada se nombren igual que los identificadores usados en el encabezado de la
funcin.
Uso de Funciones Definidas por el Programador
Si se recuerda, cuando se utilizan funciones predefinidas es necesario incluir a
la biblioteca o librera que contiene su definicin. 2or ejemplo, si se usa la
funcin po5, es necesario incluir math.h
3lgo similar es necesario para funciones definidas por el programador. "se algo
es que, despus de las directi!as include pero antes de la funcin main, es
necesario escribir el prototipo de la funcin. "l prototipo de la funcin no es
m*s que el encabezado de la funcin seguido de punto y coma. "l siguiente
ejemplo muestra como se podra utilizar en un programa una funcin definida
por el programador.
Ingeniera Qumica
Programacin Instituto Tecnolgico de Celaya
#include <iostream.!
#include <stdlib.!
double square(double numero); "# $rototi%o de la &uncion#"
int main()
'
"# (ste %ro)rama es solo un e*em%lo de la de&inicion y uso
de una &uncion de&inida %or el %ro)ramador#"
double x,y,z;
cin!!x!!y;
z = square(x); "# +lamado a la &uncion#"
z = z # y;
cout<<,-n,;
cout<<z;
cout<<,-n,;
system(,$./0(,);
return 0;
1
"# (sta &uncion calcula el cuadrado de un numero#"
double square(double numero)
'
double cuadrado;
cuadrado = numero # numero;
return cuadrado;
1
Ingeniera Qumica

You might also like