Sunteți pe pagina 1din 5

INSTITUTO TECNOLÓGICO DE MÉRIDA

ALUMNO: GONZÁLEZ DÍAZ JABES A.

PROFESOR: LEAL OJEDA RODRIGO.

TEMA: RECURSIVIDAD

FECHA DE ENTREGA: 02/02/18


INDICE:

RECURSIVIDAD 1

PROCEDIMIENTO RECURSIVO 1

EJEMPLOS DE RECURSIVIDAD 1,2

REFERENCIAS 3
Recursividad:
Es una técnica utilizada en programación que nos permite que un bloque de instrucciones se
ejecute un cierto número de veces (el que nosotros determinemos). A veces es algo complicado de
entender, pero no os preocupéis. Cuando veamos los ejemplos estará clarísimo. En Java, como en
otros muchos lenguajes, los métodos pueden llamarse a sí mismos. Gracias a esto, podemos
utilizar a nuestro favor la recursividad en lugar de la iteración para resolver determinados tipos de
problemas.

Procedimiento Recursivo:
Un Procedimiento recursivo es aquel que se llama así mismo, solo que no regresa valor. Cada
método (función o procedimiento), tiene ciertas reglas, las cuales se mencionan a continuación:

 La Función Recursiva debe tener ciertos argumentos llamados valores base para que esta
ya no se refiera a sí misma.
 El Procedimiento Recursivo es donde cada vez que la función se refiera a sí misma debe
estar más cerca de los valores base.

Propiedades de procedimientos recursivos


1. Debe existir criterio base para que este se llame a sí mismo.
2. Cada vez que el procedimiento se llame a si mismo debe estar más cerca del criterio base.

El Método De Las Tres Preguntas

Se usa para verificar si hay dentro de un programa funciones recursivas , se debe responder a 3
preguntas.

La pregunta caso base: ¿Hay salida NO recursiva del procedimiento o función y la rutina funciona
correctamente para este caso base?

La pregunta llamador más pequeño: ¿Cada llamada al procedimiento o función se refiere a un


caso más pequeño del problema original?

La pregunta caso general: Suponiendo que las llamadas recursivas funcionan correctamente
¿funciona correctamente todo el procedimiento o función?

Ejemplos de Recursividad:
Factorial de un numero:

Uno ejemplo fácil de ver y que se usa a menudo es el cálculo del factorial de un número entero. El
factorial de un número se define como ese número multiplicado por el anterior, éste por el
anterior, y así sucesivamente hasta llegar a 1. Así, por ejemplo, el factorial del número 5
sería: 5x4x3x2x1 = 120.

1
Tomando el factorial como base para un ejemplo, ¿cómo podemos crear una función que calcule
el factorial de un número? Bueno, existen multitud de formas. La más obvia quizá sería
simplemente usar un bucle determinado para hacerlo, algo así en JavaScript:

function factorial(n){
var res = 1;
for(var i=n; i>=1; i--){
res = res * i;
}
return res;
}

Sin embargo hay otra forma de hacerlo sin necesidad de usar ninguna estructura de bucle que es
mediante recursividad. Esta versión de la función hace exactamente lo mismo, pero es más corta,
más simple y más elegante:

function factorial(n) {
if (n<=1) return 1;
return n* factorial(n-1);
}

Aquí lo que se hace es que la función se llama a sí misma (eso es recursividad), y deja de llamarse
cuando se cumple la condición de parada: en este caso que el argumento sea menor o igual que 1
(que es lo que hay en el condicional).

Serie de Fibonaci:

int fibonaci(int n){


if(n==1 || n==2) {
return 1;
}
else{
return fibonaci(n-1)+fibonaci(n-2);
}
}

2
REFERENCIAS
 http://progravanuno.blogspot.mx/2011/02/ejemplos-de-recursividad.html
 https://www.campusmvp.es/recursos/post/Que-es-la-recursividad-o-recursion-Un-
ejemplo-con-JavaScript.aspx
 https://foro.elhacker.net/ejercicios/ejercicios_recursivos_en_java_y_sus_soluciones-
t231013.0.html
 http://itslr.edu.mx/archivos2013/TPM/temas/s3u2.html
 https://godieboy.com/2009/10/pseudocodigo-torres-hanoi-sin-recursividad.html
 http://informatica.utem.cl/~mcast/PROGRAMACION/20101/recursividad/FP.RP04.pdf

S-ar putea să vă placă și