1)¿Que es funcion?
Una funcion es un modulo de un programa separado del cuerpo principal, que realiza una tarea especifica y que puede regresar un valor a la parte principal del programa u otra funcion o procedimiento que la invoque.
La forma general de una funcion es:
Tipodato Nomfun(parametros){cuerpo de instrucciones;return [dato,var,expresion];}Donde tipodato especifica el tipo de dato que regresara la función.
2)¿Prototipo de una funcion?
Un prototipo de función le da información importante al
compilador. En el prototipo se indican el tipo de dato que retorna la función,
el número, tipo y orden de parámetros que recibe la misma. El compilador
utiliza los prototipos para verificar las llamadas a funciones. Antes el
prototipado no existía y el compilador no podía detectar ciertos errores.
EJEMPLO:
int maximo(int, int, int);
Este prototipo indica que la función de nombre máximo
retorna como resultado un valor de tipo entero. Además informa que la función
debe ser llamada con tres parámetros del tipo entero también.
El prototipo también sirve para la coerción de argumentos, o
sea, si la función es llamada con valores de otro tipo diferentes a los
definidos en el prototipo de esa función, el compilador tratará de convertir
esos valores a los tipos de datos correspondientes declarados en el prototipo
(esto funcionará siempre y cuando sea posible la conversión entre esos tipos de
datos). Por ejemplo, si la función espera un entero y recibe un decimal,
intentará convertir ese decimal al entero truncando la parte decimal, lo cual
puede generar errores si la exactitud de ese dato es importante. Por esta razón
se debe tener mucho cuidado en la coerción de tipos automática.
El prototipado de funciones puede omitirse cuando se
programa; el compilador formará el prototipo dependiendo de la primera
aparición de la función. También, por omisión, el compilador asume que toda
función regresa un valor del tipo entero de forma predeterminada.
3)¿funcion sin parametros sin entegar valor?
Bajo ciertas circunstancias se deseará escribir funciones
que no regresen valor alguno (esto sería algo parecido a escribir procedures en
Pascal) y para ello podemos declarar a la función como void. La palabra
reservada void es utilizada para declarar funciones sin valor de retorno y
también para indicar que una función específica no requiere de parámetros. Por
ejemplo, la función pausa() que se verá en seguida, no devolverá valor alguno y
la misma no requiere de parámetros.
4)¿Funcion con parametros sin entregar valor?
La función cuadrado() (ver arriba) es un clásico ejemplo que muestra el paso de parámetros por valor, en ese sentido la función cuadrado() recibe una copia del parámetro n. En la misma función se puede observar que se realiza un calculo ( n*n ), sin embargo el parámetro original no sufrirá cambio alguno, esto seguirá siendo cierto aún cuando dentro de la función hubiera una instrucción parecida a n = n * n; o n*=n;.
Para mostrar un ejemplo del paso de parámetros por referencia, vamos a retomar el caso de la función cuadrado, salvo que en esta ocasión cambiaremos ligeramente la sintaxis para definir la misma. Veamos:
double cuadrado2(double &n)
{
n *= n;
return n;
}
5)¿Funcion con parametros entregando valor?
Al poner a prueba las funciones cuadrado() y cuadrado2() se
podrá verificar que la primera de estas no cambia el valor del parámetro
original, mientras que la segunda sí lo hace.
¿Que es un parametro?
Un parametro en C++ es una variable que puede pasar su valor
a un procedimiento desde el principal o desde otro procedimiento.
Existen ocasiones en que es necesario mandar al
procedimiento ciertos valores para que los use en algún proceso.Estos valores
que se pasan del cuerpo principal del programa o de un procedimiento a otros
procedimientos se llaman parametros.Entonces la declaración completa de un
procedimiento es :Void Nom_Proc(lista de parametros){ cuerpo de
instrucciones;};Donde lista de parametros es una o mas variables separadas por
coma.
Blilliografia:
http://www.alegsa.com.ar/Notas/112.php
http://es.wikibooks.org/wiki/Programaci%C3%B3n_en_C%2B%2B/Funciones#Par.C3.A1metros
http://www.programacionfacil.com/cpp:parametros