Hola

Solo disponible en BuenasTareas
  • Páginas : 8 (1761 palabras )
  • Descarga(s) : 0
  • Publicado : 17 de junio de 2011
Leer documento completo
Vista previa del texto
1. ¿Qué es función?
En programación, una función es un grupo de instrucciones con un objetivo en particular y que se ejecuta al ser llamada desde otra función o procedimiento. Una función puede llamarse múltiples veces e incluso llamarse a sí misma (función recurrente).

Las funciones pueden recibir datos desde afuera al ser llamadas a través de los parámetros y deben entregar unresultado.

Se diferencian de los procedimientos porque estos no devuelven un resultado.

En general las funciones deben tener un nombre único en el ámbito para poder ser llamadas, un tipo de dato de resultado, una lista de parámetros de entrada y su código.
2. ¿Qué es Parametro?
Un parámetro es un tipo de variable que es recibida por una función, procedimiento o subrutina.

Un parámetro influyeen el comportamiento o el resultado de la ejecución de la función, procedimiento o subrutina (de ahora en más sólo procedimiento) que lo recibe. Son muy utilizados en la programación.

En general, en la definición de un procedimiento, es incluida una lista ordenada de parámetros; de esta manera, cada vez que el procedimiento es llamado, los argumentos de esa llamada pueden ser asignados a loscorrespondientes parámetros. Aquí se expone sutilmente la diferencia técnica entre parámetro y argumento, aunque muchas veces son tratados como sinónimos.

La semántica de cómo pueden ser declarados los parámetros y cómo los argumentos son pasados a los parámetros de los procedimientos, son definidos por cada lenguaje de programación.

Formas de pasar un parámetro

En forma general,existen dos formas de pasar un parámetro a un procedimiento: por valor y por referencia.

Un parámetro se pasa por valor cuando se copia su contenido y si es alterado su valor dentro del procedimiento no se modifica el parámetro original. En cambio cuando un parámetro es pasado por referencia, si se modifica su valor dentro del procedimiento, se ve modificado el original.

Tipos de datos

Enlenguajes de programación fuertemente tipiados, cada tipo de parámetro debe ser explícitamente especificado en la declaración del procedimiento. En tanto en los lenguajes que utilizan inferencia de tipos intentan descubrir los tipos automáticamente del cuerpo de la función y su uso. En lenguajes de programación débilmente tipiados, el tipo del parámetro es resuelto en tiempo de ejecución.

Algunoslenguajes emplean una palabra clave especial (por ejemplo, void) para indicar que ese procedimiento no tiene parámetros.

Diferencia entre parámetro y argumento en programación

En general las palabras argumento y parámetro son tomadas como sinónimos; en realidad hay diferencia: los parámetros aparecen en la definición del procedimiento, los argumentos aparecen en los llamados a procedimientos.Un parámetro es una propiedad intrínseca de un procedimiento, dado que está incluido en su definición. En tanto, los argumentos son más bien los valores actuales asignados a los parámetros variables cuando la subrutina es llamada. En la práctica no se suele distinguir tajantemente entre ambos términos.
Variables Locales y Globales
Además de pasar valores a una función, también se puedendeclarar tipos de datos dentro de las funciones, estos tipos de datos declarados dentro de una función solo son accesibles dentro de esta misma función y se les conocen como variables locales, así pues podemos definir los mismos nombres de variables en diferentes funciones, ya que estas variables solo son accesibles dentro de esas funciones.
Existen pues variables que se definen fuera de la funciónprincipal main () y fuera de cualquier otra función creada por nosotros, estas variables se les conoce con el nombre de Variables Globales ya que se pueden utilizar dentro de main () y dentro de cualquier función creada por nosotros.
FUNCIONES RECURSIVAS
La recursividad (recursión) es la propiedad por la cual una función se llama a sí misma directa o indirectamente. La recursión indirecta...
tracking img