Вы находитесь на странице: 1из 17

2012

FUNCIONES
Ing. Jos Antonio Poma G.

FIEE

CONCEPTO DE FUNCION

2012 FIEE -

C++ se puede utilizar como lenguaje de programacin estructurada, tambin conocida como programacin modular. Por esta razn, para escribir un programa se divide este en varios mdulos. El programa se divide en muchos modulos (rutinas pequeas denominadas funciones), que producen muchos beneficios. Aislar mejor los problemas. Escribir programas correctos mas rpido. Producir programas que son mas fciles de mantener. As pues, un programa C++ se compone de varias funciones, cada una de las cuales realiza una tarea principal.

CONCEPTO DE FUNCION

2012 FIEE -

Por ejemplo, si esta escribiendo un programa que obtenga una lista de caracteres del teclado, los ordene alfabticamente y los visualice a continuacin en la pantalla, se pueden escribir todas estas tareas en un nico gran programa (funcion main () ).
main () { //codigo C++ para obtener una lista de caracteres //codigo C++ para alfabetizar los caracteres //codigo C++ para visualizar la lista por orden alfabetico return 0; }

main () { obtenercaracteres (); //llamada a una funcion que obtiene los numeros alfabetizar (); //llamada a la funcion que ordena alfabeticamente las letras verletras (); //llamada a la funcion que visualiza letras en la pantalla return 0; //retorno a DOS int obtenercaracteres () { // //codigo C++ para obtener una lista de caracteres return 0; //retorno al main() } int alfabetizar () { // //codigo C++ para alfabetizar los caracteres return 0; //retorno al main() } int verletras () { // //codigo C++ para visualizar la lista alfabetizada return 0; //retorno al main() }

CONCEPTO DE FUNCION

FIEE

2012

CONCEPTO DE FUNCION

FIEE

2012

Una buena regla para determinar la longitud de una funcin (numero de lneas que contiene) es que no ocupa mas longitud que el equivalente a una pantalla.

ESTRUCTURA DE UNA FUNCIN

2012 FIEE -

Una funcin es, sencillamente, un conjunto de sentencias que se pueden llamar desde cualquier parte de un programa. Las funciones permiten al programador un grado de abstraccin en la resolucin de un problema. Las funciones no se pueden anidar. Esto significa que una funcin no se puede declarar dentro de otra funcin. La razn para esto es permitir un acceso muy eficiente a los datos. En C++ todas las funciones son externas o globales, es decir, pueden ser llamadas desde cualquier punto del programa.

ESTRUCTURA DE UNA FUNCIN

2012 FIEE -

tipo_de_retorno nombreFuncion (listaDeParametros) { Cuerpo de la funcin return expresin }

tipo_de_retorno : tipo de valor devuelto por la funcin o la palabra reservada void si la funcin no devuelve ningn valor nombreFuncion: identificador o nombre de la funcin listaDeParametro: lista de declaraciones de los parmetros de la funcin separados por comas expresin: valor que devuelve la funcin

ESTRUCTURA DE UNA FUNCIN

2012 FIEE -

tipo_de_retorno nombreFuncion (listaDeParametros) { Cuerpo de la funcin return expresin }

NOMBRE DE UNA FUNCION

2012 FIEE -

Un nombre de una funcin comienza con una letra o un subrayado (_) y que puede contener tantas letras, nmeros o subrayados como desee. El compilador dependiendo del fabricante ignora, sin embargo, a partir de una cantidad dada. C++ es sensible a maysculas, lo que significa que las letras maysculas y minsculas son distintas a efectos del nombre de la funcin.

int max (int x, int y) //nombre de la funcin max double media (double x1, double x2) // nombre de la funcin media

TIPO DE DATOS DE RETORNO

2012

Si la funcion no devuelve un valor int, se debe especificar el tipo de dato devuelto (retorno) por la funcin. El tipo debe ser uno de los tipos simples de C++, tales como int, char o float, o un puntero a cualquier tipo C++, o un tipo struct.
int max (int x, int y) double media (double x1, double x2) float func0 () { } char * func1 () { } int * func3 () { } char * func4 () { } int* func5 () { } //devuelve un tipo int // devuelve un tipo double //devuelve un float //devuelve un puntero a char //devuelve un puntero a int //devuelve un puntero a un array char //devuelve un int [es opcional]

FIEE

TIPO DE DATOS DE RETORNO

2012 FIEE -

Si la funcin no devuelve un resultado, se puede utilizar el tipo void, que se considera como un tipo especial. Algunas declaraciones de funciones que devuelven distintos tipos de resultados son:
int calculo_kilometraje (int galones, int kilometros); Char mayusculas (char car); float DesvEst ( void ); Struct InfoPersona Buscarregistro ( int num_registro);

Muchas funciones no devuelven resultados. La razn es que se utilizan subrutinas para realizar una tarea concreta. La funcin que no devuelve resultado, a veces se le denomina procedimiento

RESULTADOS DE UNA FUNCION

2012 FIEE

Una funcin puede devolver un nico valor. El resultado se muestra con una secuencia return cuya sintaxis es:
return (expresion) return (a+b+c); return;

El valor devuelto (expresin) puede ser cualquier tipo de dato excepto una funcin o un array. El valor del retorno debe seguir las mismas reglas que se aplican a un operador de asignacion.
No se puede devolver un valor int si el tipo de retorno es un puntero. Sin embargo, si se devuelve un int y tipo de retorno es un float, se realiza la conversin automtica.

RESULTADOS DE UNA FUNCION

2012 FIEE -

Sin ninguna expresin de retorno, o bien, de modo alternativo, se puede omitir la sentencia return. La ejecucin de una llamada a la funcin termina si no se encuentra ninguna sentencia return; en este caso, la ejecucin continua hasta la llave final del cuerpo de la funcin. Si el tipo de retorno es void, la sentencia return se puede escribir como . . return;
void func1 (void) { Cout << Esta funcion no devuelve valores; }

CONCEPTO DE FUNCION

FIEE

2012

Aunque no es obligatorio el uso de la sentencia return en la ultima lnea, se recomienda su uso, ya que ayuda a recordar el retorno en ese punto a la funcin llamadora.

LLAMADA DE UNA FUNCION

2012 FIEE

La funcin para poder ser ejecutadas, han de ser llamadas o invocadas. Cualquier expresin puede contener una llamada a una funcin que rediriga el control del programa a la funcin nombrada. Normalmente la llamada a una funcin se realizara desde la funcin principal main(),aunque naturalmente tambin podr ser desde otra funcin.
La funcin que llama a otra funcin se denomina funcin llamadora y la funcin controlada se denomina funcin llamada

FIEE -

2012

Ejemplo

FIEE -

2012

Ejemplo

Вам также может понравиться