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

FUNCIONES EN C++

INTRODUCCION

Sin saberlo hemos venido usando funciones en cada uno de nuestros programas, pero estos han sido los predefinidos en el lenguaje c++ , a los que se les denomina funciones de biblioteca.

Sin embargo, cada programador puede definir sus propias funciones de acuerdo a sus necesidades. Las funciones que define el programador son conocidas como funciones de usuario.

La utilización de funciones nos permite dividir un programa extenso en pequeños segmentos que realizan tareas concretas. Muy útil cuando dentro de un mismo programa se repite la misma tareas, pues evitaría esta repetición. Sin embargo, es probable que ciertas funciones no sean reutilizables, pero al usarlas se mejora la

legibilidad del programa.

Las funciones en C++ no se pueden anidar. En otras palabras, una función no se puede declarar dentro de otra función, por lo que todas las funciones son globales o externas, lo que hace que puedan llamarse desde cualquier parte de un programa.

Prof: Dr. Patricio Congacha A.

e-mail:

renovaspc@hotmail.com

FUNCIONES EN C++

OBJETIVOS:

1. Comprender el desarrollo de un programa utilizando funciones

2. Establecer la diferencia entre la definición,

declaración y el llamado de una función.

3. Comprender el mecanismo utilizado para pasar información entre funciones.

4. Conocer y utilizar el paso de valores entre funciones

y la devolución de valores de una función.

5. Establecer la diferencia entre el paso de argumentos por valor y por referencia.

6. Conocer la clasificación de las variables de acuerdo a su ámbito y clase de almacenamiento

7. Entender como pasar arreglos a funciones

Prof: Dr. Patricio Congacha A. renovaspc@hotmail.com

e-mail:

FUNCIONES

DEFINICION:

Las funciones son una porcion de instrucciones que realizan una tarea específica. En general

toman unos valores de

entrada, llamados parámetros y

proporcionan un valor de salida o valor de retorno, los valores de E/S pueden no existir

o valor de retorno, los valores de E/S pueden no existir PROCESO PROCESO PROCESO Prof: Dr.

PROCESO

PROCESO

los valores de E/S pueden no existir PROCESO PROCESO PROCESO Prof: Dr. Patricio Congacha A. renovaspc@hotmail.com

PROCESO

los valores de E/S pueden no existir PROCESO PROCESO PROCESO Prof: Dr. Patricio Congacha A. renovaspc@hotmail.com
los valores de E/S pueden no existir PROCESO PROCESO PROCESO Prof: Dr. Patricio Congacha A. renovaspc@hotmail.com
los valores de E/S pueden no existir PROCESO PROCESO PROCESO Prof: Dr. Patricio Congacha A. renovaspc@hotmail.com
los valores de E/S pueden no existir PROCESO PROCESO PROCESO Prof: Dr. Patricio Congacha A. renovaspc@hotmail.com

Prof: Dr. Patricio Congacha A. renovaspc@hotmail.com

e-mail:

VENTAJAS

FUNCIONES

1.

Modularización. Consistente en dividir un programa en una serie de módulos más pequeños y manejables, llamados funciones.

2.

Ahorro de memoria RAM . (variables de una función son activadas solamente cuando es llamada la función)

3.

Ahorro en tiempo de desarrollo. (evita

repeticiones).

 

4.

Independencia de datos : Una función es capaz de mantener gran independencia con el resto del programa, manteniendo sus propios datos.

5.

Menor

tamaño

del

archivo

fuente

y

ejecutable.

 

6.

Facilita la depuración (detección y corrección de errores)

Prof: Dr. Patricio Congacha A.

e-mail:

renovaspc@hotmail.com

FUNCIONES

CONSTRUCCION DE UNA FUNCION

Para poder crear y usar funciones, las funciones deben declararse , definirse y por supuesto ser llamadas. (algo similar a lo

que hacemos con una variable)

Una declaración es simplemente una

presentación.

Una definición contiene

las

instrucciones con las que realizará su

trabajo.

Una(s) Llamada(s) ejecución de las instrucciones que fueron definidas.

1. Hola soy Pintor 2. Pinto súper bien las paredes de una casa o edificio,
1. Hola soy
Pintor
2. Pinto súper bien
las paredes de una
casa
o edificio,
preparo la pintura,
cargo la brocha o el
rodillo
y
la
desplazo sobre
pared
la
3. Cuando
quieras que
pinte tu casa
llamame….

Prof: Dr. Patricio Congacha A.

e-mail:

renovaspc@hotmail.com

FUNCIONES

CONSTRUCCION DE UNA FUNCION

FUNCIONES CONSTRUCCION DE UNA FUNCION Masillador Lijador P i n t o r Masillador Lijador -

Masillador

FUNCIONES CONSTRUCCION DE UNA FUNCION Masillador Lijador P i n t o r Masillador Lijador -

Lijador

FUNCIONES CONSTRUCCION DE UNA FUNCION Masillador Lijador P i n t o r Masillador Lijador -

Pintor

DE UNA FUNCION Masillador Lijador P i n t o r Masillador Lijador - Materiales para
DE UNA FUNCION Masillador Lijador P i n t o r Masillador Lijador - Materiales para
DE UNA FUNCION Masillador Lijador P i n t o r Masillador Lijador - Materiales para

Masillador

UNA FUNCION Masillador Lijador P i n t o r Masillador Lijador - Materiales para lijar
UNA FUNCION Masillador Lijador P i n t o r Masillador Lijador - Materiales para lijar
UNA FUNCION Masillador Lijador P i n t o r Masillador Lijador - Materiales para lijar

Lijador

- Materiales

para lijar

pared.

- Dejar lisa las paredes

Pintor

- Materiales

para preparar

masilla

- Cubrir huecos

- Materiales para pintar la pared

- Dejar bien pintadas las paredes

de las paredes

Prof: Dr. Patricio Congacha A. renovaspc@hotmail.com

e-mail:

FUNCIONES

ESTRUCTURA DE UNA FUNCION EN C++

FUNCIONES ESTRUCTURA DE UNA FUNCION EN C++ Prof: Dr. Patricio Congacha A. renovaspc@hotmail.com e-mail:

Prof: Dr. Patricio Congacha A. renovaspc@hotmail.com

e-mail:

FUNCIONES

DECLARACION DE UNA FUNCION C++

Toda función debe ser declarada antes de ser utilizada en el programa. Esta se hace mediante el prototipo de la función.

tipo

nombre _función (tipo1 , tipo2, tipo3=valor); Ejemplo single salario(int, single);

En la lista de argumentos formales o parámetros, basta incluir

sólo los tipos de datos de dichos argumentos.

El prototipo termina con el punto y coma (;).

Los valores pueden ser inicializados, si se desea.

La declaración de las funciones mediante los prototipos suele

hacerse antes de la funcion main().

Prof: Dr. Patricio Congacha A. renovaspc@hotmail.com

e-mail:

FUNCIONES

DEFINICION DE UNA FUNCION C++

La definición de una función consta de:

La cabecera de la función. (por cierto aquí no a el punto y coma)

Y el cuerpo de la función.

tipo_retorno

nombre_funcion (tipo1 arg1, tipo2 arg2,

,tipoN argN)

{

 

conjunto de instrucciones ……… ………

(cuerpo de la función)

return (expresión);

//optativo

}

Prof: Dr. Patricio Congacha A. renovaspc@hotmail.com

e-mail:

FUNCIONES

DEFINICION DE UNA FUNCION C++

Cada función puede disponer de sus propias variables, declaradas al comienzo de su código. Estas variables son del tipo auto, es decir, sólo son visibles dentro de la función, se crean cada vez que se ejecuta la función y permanecen ocultas para el resto del programa.

La lista de argumentos, también llamados argumentos formales, es una lista de declaraciones de variables, precedidas de su tipo correspondiente y separadas por comas (,). Los argumentos formales son la forma más natural y directa para que una función reciba valores desde el programa que le llama. Si no se desea pasar ningún valor a la función se puede poner void en los paréntesis.

tipo_retorno: cuando una función es ejecutada, puede devolver al programa que le ha llamado un valor (el valor de retorno), cuyo tipo debe ser especificado en el encabezamiento de la función. Si no se desea que devuelva nada, el tipo

de retorno debe ser void. La sentencia return permite devolver el valor.

Si no se especifica el tipo_retorno, se asume que es int por defecto.

Prof: Dr. Patricio Congacha A. renovaspc@hotmail.com

e-mail:

FUNCIONES

LLAMADA A LA FUNCION C++

La llamada a una función se hace incluyendo en

su nombre la lista de argumentos actuales cada uno separado por una coma y que puede formar parte de una expresión o sentencia del programa

principal o de otra función. Los argumentos

incluidos en la llamada pueden ser no sólo variables y/o constantes, sino también expresiones.

Debemos recordar que los argumentos formales y los argumentos actuales deben coincidir en el

número y tipo.

Prof: Dr. Patricio Congacha A.

e-mail:

renovaspc@hotmail.com

FUNCIONES

EJEMPLO DE FUNCION C++

FUNCIONES EJEMPLO DE FUNCION C++ Prof: Dr. Patricio Congacha A. renovaspc@hotmail.com e-mail:

Prof: Dr. Patricio Congacha A. renovaspc@hotmail.com

e-mail:

ÁMBITO Y CLASES

FUNCIONES

DE ALMACENAMIENTO

Como ya conocemos las variables pueden ser de diferente tipo de datos. Por ejemplo, una variable puede ser de tipo entero (int) o de tipo carácter (char). Sin embargo, las

variables también pueden clasificarse de acuerdo a su

ámbito, es decir, la parte del programa en la que la variable es reconocida. De acuerdo con su ámbito, las variables pueden ser locales o globales. Por otro lado, existen los modificadores de tipo o clases de almacenamiento que

permiten modificar el ámbito y la permanencia de una

variable Dentro de un programa. Existen cuatro modificadores de tipo, automático, externo, estático y registro, que se corresponden con las palabras reservadas

auto, extern, static y register, respectivamente.

Prof: Dr. Patricio Congacha A.

e-mail:

renovaspc@hotmail.com

FUNCIONES

VARIABLES LOCALES

Las variables que declaramos en la función main, están únicamente asociadas a esta función, es decir son variables

locales de la función main y no se puede acceder a ellas a través

de ninguna otra función.

Con este mismo fundamento, cualquier variable que declaremos dentro de una función, es local a esa función, es decir, su ámbito esta limitado a dicha función.

Esto permite que existan variables con el mismo nombre en diferentes funciones y que no mantengan ninguna relación entre sí. Debemos tener en cuenta que cualquier variable declarada dentro de una función se considera como una variable

automática (auto) a menos que utilicemos algún modificador de

tipo.

Prof: Dr. Patricio Congacha A.

e-mail:

renovaspc@hotmail.com

VARIABLES LOCALES

FUNCIONES

Una variable se considera automática porque cuando se accede a la función se le asigna espacio en la memoria

automáticamente y se libera dicho espacio tan pronto se sale de

la función. Por lo tanto una variable automática no conserva un valor entre dos llamadas sucesivas a la misma función. Con el propósito de garantizar el contenido de las variables automáticas, éstas deben Inicializarse al entrar a la función Para evitar que su valor sea indeterminado.

Todas las variables que hemos utilizado en los ejemplos vistos hasta ahora son variables automáticas.

La utilización de la palabra reservada auto es opcional, aunque normalmente no se utiliza, por ejemplo:

auto int contador; equivale a int contador;

Prof: Dr. Patricio Congacha A.

e-mail:

renovaspc@hotmail.com

FUNCIONES

VARIABLES GLOBALES

Contrario al ámbito de la variables locales, el ámbito de las variables globales se extiende desde el punto en el que se definen hasta el final del programa.

La utilización de variables globales proporciona un mecanismo de intercambio de información entre funciones sin necesidad de utilizar argumentos.

Por otra parte, las variables globales mantienen el valor que se les ha asignado dentro de su ámbito, incluso después de finalizar las funciones que modifican dicho valor. Debemos tener en cuenta que el uso de variables globales para el intercambio

de informaciones entre funciones puede resultar útil en algunas situaciones

(como cuando se desea transferir más de un valor desde una función), pero su utilización podría llevarnos a programas de difícil interpretación y complejos de depurar.

Prof: Dr. Patricio Congacha A.

e-mail:

renovaspc@hotmail.com