Programacion funcional con recursividad
Enviado por ronalddome • 28 de Marzo de 2012 • 410 Palabras (2 Páginas) • 368 Visitas
FUNCIONES
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 un resultado. 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.
Declaración de una función:
Nombre de la función
Nombre del argumento
Tipo del argumento de la función
Tipo de dato que retorna la función
Declaraciones conjunto de variables definidas para la función
FUNCIONES RECURSIVAS
Es una función que se define en términos de si misma, es decir, que el resultado de la función depende de resultados de la misma función en otros valores.
Se debe tener cuidado con estas funciones si no se hace bien, la función podría recurrir de un cálculo infinito o no ser calculable
FUNCIONES CON PASO DE PARÁMETROS
POR VALOR
Los parámetros formales correspondientes reciben una COPIA de los valores (literales, constantes, variables, resultado de la evaluación de una expresión) de los parámetros actuales; por tanto, los cambios que se produzcan en ellos por efecto de la ejecución de la función no podrán afectar el valor de los parámetros actuales en caso de que estos fueran variables.
Ejemplo
#include <stdio.h>
void modificar(int);
void main()
{
int a = 2;
printf(“antes de la llamada %i \n”,a);
modificar(a);
printf(“despues de la llamada %i \n”,a);
}
void modificar (int a)
{
a *= 3;
printf(“desde la función %i\ \n”, a);
}
POR REFERENCIA
Lo que se pasa a la función es la dirección de memoria del parámetro actual, en consecuencia debe ser una variable. Así, una variable pasada como parámetro actual es compartida; es decir, puede ser accedida y modificada durante la ejecución de la función.
APUNTADOR: Variable especial cuyo contenido es la dirección o localización de memoria de otra variable.
Apuntadores
Existe los siguientes apuntadores que tiene esta sintaxis:
tipo * nombre_apuntador;
Ej:
int * apuntador_entero;
float * apuntador_flotante;
char * ap_caracter;
PARÁMETROS POR VALOR VS PARÁMETROS POR REFERENCIA
El paso de parámetros por referencia permite devolver varios valores desde un procedimiento a través de los parámetros actuales. Si una función
...