Академический Документы
Профессиональный Документы
Культура Документы
Recursividad
Estructura de Datos
Conceptos bsicos
Conceptos bsicos
Conceptos bsicos
Conceptos bsicos
2. El caso general es el que vuelve a invocar al algoritmo con un caso ms pequeo del mismo.
Para que una funcin o procedimiento recursivo funcione se debe cumplir que: - Existe una salida no recursiva del procedimiento o funcin y funciona correctamente en ese caso. - Cada llamada al procedimiento o funcin se refiere a un caso ms pequeo del mismo. - Funciona correctamente todo el procedimiento o funcin.
Ejemplos:
Los nmeros naturales se pueden definir de la siguiente forma: 0 es un Nmero natural y el sucesor de un nmero natural es tambin un nmero natural. El factorial de un nmero natural n, es 1 si dicho nmero es 0,o n multiplicado por el factorial del nmero n-1, en caso contrario. La n-sima potencia de un nmero x, es 1 si n es igual a 0, o el producto de x por la potencia (n-1)-sima de x, cuando n esmayor que 0.
Pasos
Pasos
Siempre se debe avanzar hacia un caso base: Las llamadas recursivas simplifican el problema y, en ltima instancia, los casos base nos sirven para obtener la solucin.
Utilizacin recursividad
[P3] Conforme el problema se reduce de tamao se alcanzar el caso base? [P4] Cmo se usa la solucin del caso base para construir una solucin correcta al problema original?
Ejemplo Factorial
FUNCTION FACTORIAL (N:INTEGER):INTEGER BEGIN IF N = 0 THEN FACTORIAL := 1 ELSE FACTORIAL := N*FACTORIAL(N-1) END;
Funcin Potencia
Function Potencia ( Base, Exponente : Integer ) : Integer; begin If Exponente = 1 Then Potencia:= Base else Potencia := Base * Potencia ( Base, Exponente - 1); end;
Universidad Hispanoamericana