viernes, 23 de marzo de 2012

Tarea 1 Unidad 3


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

No hay comentarios:

Publicar un comentario