Escolar Documentos
Profissional Documentos
Cultura Documentos
Capacidad que tiene los mtodos de invocarse as mismos, esta es una potente
herramienta en la informtica.
Con esta herramienta muchos algoritmos pueden simplificarse
significativamente.
Es un caso donde el problema puede resolverse sin tener que hacer uso de una
nueva llamada a s mismo. Evita la continuacin indefinida de las partes
recursivas.
b). Parte puramente recursiva:
Relaciona el resultado del algoritmo con resultados de casos ms simples. Se
hacen nuevas llamadas a la funcin, pero estn ms prximas al caso base.
4.5 Recursividad en Diseo
Un procedimiento recursivo es aquel que se llama a si mismo, para poder
funcionar tiene que tener una condicin de salida que de el numero de veces
que se va a llamar a si mismo el procedimiento.
La recursividad en diseo se refiere a la manera de cmo representar los
procedimientos recursivos al momento de disear los programas.
Definicin
Recursin es una tcnica de programacin en el cual un mtodo puede
llamarse a s mismo. La recursin es muy interesante y una tcnica efectiva en
programacin ya que puede producir algoritmos cortos y eficientes.
Algo es recursivo si se define en trminos de s mismo (cuando para definirse
hace mencin a s mismo).
Si la invocacin de un subprograma (funcin o subrutina) se produce desde el
propio subprograma se dice que se trata de un subprograma recursivo.
Un mtodo recursivo es un mtodo, directa o indirectamente, se hace una
llamada a s mismo.
La recursin consiste en el uso de mtodos recursivos.
2.2 Procedimientos recursivos
Los procedimientos recursivos o recurrentes se pueden clasificar en dos formas
distintas:
-
Recursividad directa o
Recursividad indirecta
n!
1
n*(n-1)
Si n=0
Caso Base
Llamado a factorial
4*factorial(3)
3*factorial(2)
2
1
0
2*factorial(1)
1*factorial(0)
1
si n = 1
paso bsico
n + (n-1)
si n > 1
//5+suma(4+suma(3+suma(2+suma(1))))
Fibonacci(0,1,21)=1
Fibonacci(1,1,21)=2
Fibonacci(1,2,21)=3
Fibonacci(2,3,21)=5
Fibonacci(3,5,21)=8
Fibonacci(5,8,21)=13
Fibonacci(8,13,21)=21
si p = 0
paso bsico
n * (n, p-1)
si p > 0
paso inductivo
24 2*potencia(2*potencia(2*potencia(2*potencia(2,0))
Potencia(2,4)=2*potencia(2,3)=16
Potencia(2,3)=2*potencia(2,2)=8
Potencia(2,2)=2*potencia(2,1)=4
Potencia(2,1)=2*potencia(2,0)=2
Potencia(2,0)=1
cant =0
n+(cant-1)
caso base
proceso recursivo
13 en binario es 00001101
La mscara es 10000000
Resultado &
00000000
13 en binario es 00001101
La mscara es 01000000
Resultado &
00000000
13 en binario es 00001101
La mscara es 00100000
Resultado &
00000000
13 en binario es 00001101
La mscara es 00010000
Resultado &
00000000
13 en binario es 00001101
La mscara es 00001000
Resultado &
00001000
13 en binario es 00001101
La mscara es 00000100
Resultado &
00000100
13 en binario es 00001101
La mscara es 00000010
Resultado &
00000000
13 en binario es 00001101
La mscara es 00000001
Resultado &
00000000