programación en C++ desde cero.
y entérate de las novedades o deja un comentario.
Ültima modificación: 13-07-2018.
Visitas este mes: 1
Visitas el mes pasado:
Mi agradecimiento a los siguientes sitios en los que me he basado para la elaboración de los manuales.:
En los distintos manuales incluimosm más webgrafía especifica de cada sección.
Si este sitio te parece interesante puedes contribuir con una pequeña aportación.
Una función es una estructura con un conjunto de instrucciones para realizar una tarea específica.
Dicho así parece ser que una función se diferencia poco de un trozo de código. Y esto sería así de no ser porque este trozo de código se encierra dentro de una estructura, y por lo tanto está aislado del resto del código. Por otra parte este trozo de código realiza una tarea específica dentro del programa.
La función es por lo tanto una parte del código, separada del código principal, y englobada dentro de una estructura. Para diferenciarla del resto del código, ésta suele escribirse fuera del mismo, bien sea delante o detrás, y hay que ponerle un nombre.
Cada vez que desde el código principal queremos ejecutar el código de la función, deberemos indicar en el código principal que queremos ejecutar la función, esto es "llamar" o "invocar" a la función.
La función puede tener varios valores de entrada, y uno de salida. Los valores de entrada se llaman parámetros o argumentos, y suelen ser variables que le pasamos para que trabaje con ellas. El valor de salida se llama retorno, y es normalmente un resultado en forma de variable que vuelve al flujo del programa.
Por ejemplo, si queremos hacer una función que sume dos números y nos da su resultado, los parámetros serán los dos números que queremos sumar, y que introducimos en la función; el retorno será el resultado de la suma de los dos números que devolvemos al flujo normal del programa.
Lar funciones son reutilizables, es decir, podemos llamar a la misma función tantas veces como lo necesitemos, y ésta hará su trabajo cada vez que se le llame.
Definir una función es crearla a partir del código fuente. Para ello al principio del programa, después de la línea using namespace std; y antes del cuerpo del mismo definido por int main() { ...} escribiremos la definición de la función:
float suma(float a, float b) { float c = a + b; return c; }
La función anterior toma como parámetros dos números reales y devuelve la suma de los mismos. Veamos la sintaxis usada para su definición:
Veamos cómo puede quedar el código. incluimos la función en el código, pero dejamos todavía el cuerpo del programa int main () { .. sin rellenar:
#include<iostream> using namespace std; float suma(float a, float b) { float c = a + b; return c; } int main (){ //....(sin rellenar) }
Una vez hemos definido una función, para que ésta haga algo debemos llamarla o invocarla desde el código principal. Es decir, desde el código principal del programa damos la orden para que ésta realice su tarea. A esto se le llama "invocar" o "llamar" a una función.
Por lo tanto, para llamar a una función, ésta debe estar definida previamente, y el programa debe localizarla, es por eso que la definición de la función debe ir delante del int main () { ....
Para llamar a la función simplemente escribimos su nombre seguida de los argumentos que le queremos pasar entre paréntesis. Aunque podemos utilizar los términos parámetro o argumento indistintamente, es preferible llamar parámetro al que ponemos en la definición o en la declaración de la función, mientras que llamamos argumentos a los valores que pasamos a la función al llamarla.
Si queremos obtener el valor de retorno recogemos éste en una variable. En el ejemplo anterior lo haremos de la siguiente manera: dentro del int main() { } escribiremos:
float n1 = 5.5, n2 = 3.2, n3; n3 = suma (n1, n2);
En la primera línea definimos tres variables de números reales. Las dos primeras serán los argumentos que pasamos a la función, y la tercera será la variable donde recogemos el retorno.
La segunda línea es la llamada a la función, para ello escribimos el nombre y entre paréntesis las variables con los valores de los argumentos. Éstas no tienen que llamrse igual que en la definicion, ya que lo que importa es el orden en que las escribamos. Por ejemplo aquí la variable n1 se convertirá en la variable a dentro de la función, y la variable n2 en la variable b.
Lo mismo ocurre con el retorno. Éste será guardado dentro de la variable n3, a pesar de que dentro de la función la variable que lo envía es la variable c.
Por último, para comprobar que el ejemplo funciona pondremos una línea debajo de las anteriores que nos saque el resultado en pantalla:
cout << n3 << endl;
Ahora al compilar y ejecutar el ejemplo nos dará como resultado, que se nos abre la consola y nos muestra la suma de los dos números anteriores (8.7). Con eso sabremos que el programa, con su función, funciona correctamente.
Archivo de ejemplo
Vamos a mejorar el ejemplo anterior, de manera que los números que sumemos se los vamos a pedir al usuario. El código será el siguiente:
#include<iostream> using namespace std; float suma(float a, float b) { float c = a + b; return c; } int main (){ float n1, n2, n3; cout << "Escribe un numero : "; cin >> n1; cout << "Escribe otro numero : "; cin >> n2; n3 = suma(n1, n2); cout << "La suma es " << n3 << endl; }
Tras compilar y ejecutar el archivo, éste le pide al usuario dos números, los cuales son enviados a la función que nos devuelve el resultado de la suma. Después mostramos este resultado en pantalla.
En el código anterior, la definición de la función está entre las líneas 4 y 7. En la línea 15 llamamos a la función.
Podrías decir que en este caso hubiera sido más fácil hacer la suma directamente, sin tener que utilizar ninguna función. Esto es así para este caso donde tratabamos de poner un ejemplo sencillo para ver el funcionamiento de una función; sin embargo para casos más complejos, o en los que tengamos que reutilizar el mismo código más de una vez y en distintos puntos del programa, las funciones pueden ser muy útiles.
En la siguiente página seguiremos viendo cómo manejar las funciones
Sugerencias:
aprendeweb@aprende-web.net. Envia un
Visita nuestro blog par saber en qué estamos trabajando: Aprende Web Blog
Más sobre anyelguti en http://anyelguti.16mb.com