pilas y colas

Páginas: 2 (316 palabras) Publicado: 18 de noviembre de 2014
Un algoritmo recursivo es un algoritmo que expresa la solución de un problema en términos de una llamada a sí mismo. La llamada a sí mismo se conoce como llamada recursivao recurrente.
FUNCIÓN Factorial(n)
VAR resultado: Entero

SI (n -1 && x < 2) return 1; // Cuando -1 < x < 2 devolvemos 1 puesto que 0! = 1 y 1! = 1
else if (x < 0) return 0;// Error no existe factorial de números negativos
return x * factorial(x - 1); // Si x >= 2 devolvemos el producto de x por el factorial de x - 1
}
Este ejemplo estábasado en el lenguaje de programación Pauscal:
Proc Factorial(x:Entero):Entero
Si (x > -1 Y x < 2) Devolver 1 ' Cuando x sea mayor que -1 y menor que 2 Devolver 1.
Si (x <0) Devolver 0 ' Cuando x sea menor a 0, devolver 0
Devolver x * Factorial(x - 1) ' Si x igual o mayor que 2 devolvemos el producto de x por el factorial de x - 1
FinProc
Elseguimiento de la recursividad programada es casi exactamente igual al ejemplo antes dado, para intentar ayudar a que se entienda mejor se ha acompañado con muchas explicaciones y concolores que diferencia los distintos sub-procesos de la recursividad.
X = 3 //Queremos 3!, por lo tanto X inicial es 3
X >= 2 -> return 3*factorial(2);
X = 2 //Ahora estamossolicitando el factorial de 2
X >= 2 -> return 2*factorial(1);
X = 1 // Ahora estamos solicitando el factorial de 1
X < 2 -> return 1;
[En este puntotenemos el factorial de 1 por lo que volvemos marcha atrás resolviendo todos los resultados]
return 2 [es decir: return 2*1 = return 2*factorial(1)]
return 6 [es decir: return3*2 = return 3*factorial(2)*factorial(1)] // El resultado devuelto es 6

Algoritmo implementado en el lenguaje Prolog:
fact(0,1):-!.
fact(N,F):-N1 is N-1,fact(N1,F1),F is N*F1.
Leer documento completo

Regístrate para leer el documento completo.

Estos documentos también te pueden resultar útiles

  • pilas y colas
  • Pilas y colas
  • Pilas y colas
  • Pilas y colas
  • Colas y pilas
  • Colas Pilas
  • Pila Y Cola
  • Pilas y Colas

Conviértase en miembro formal de Buenas Tareas

INSCRÍBETE - ES GRATIS