Saludos
Amig@s:
En el día
de hoy tocare el tema de Recursividad, para complacer algunos de mis lectores
que me han pedido alguna explicación sobre este particular.
Pues bien,
antes de adentrarnos en lo que es la recursividad, debemos decir, que en
programación se utilizan los ciclos repetitivos, como su nombre lo indica, nos
permite repetir n cantidad de veces una o varias acciones. Y es exactamente
ese, el objetivo de la recursividad, pero sin utilizar ciclos repetitivos,
tales como for, do while, etc.
En pocas
palabras Recursividad, es la capacidad que tiene un método o function para
llamarse a sí misma.
Veamos un
ejemplo:
Imaginemos
que deseamos imprimir los número del 24 al 1, es decir, que iniciando en 24 y
restando 1 a cada número por lo que el resultado debe ser algo como esto:
24
23
22
21
20
19
18
.
.
.
1
Pues bien esto lo podemos hacer
perfectamente con un for de la siguiente manera.
class dmRecursividad
{
static void Main(string[]
args)
{
for (int n=24;n>0;n--)
{
Console.WriteLine(n + " ");
}
Console.ReadKey();
}
Ahora veremos cómo logramos
exactamente lo mismo utilizando un método recursivo, sin la necesidad de
utilizar un ciclo for.
class dmRecursividad
{
void
imprimir(int x)
{
if
(x>0)
{
Console.WriteLine(x
+ " ");
imprimir(x-1);
}
}
static void Main(string[]
args)
{
dmRecursividad
re = new dmRecursividad();
re.imprimir(24);
Console.ReadKey();
}
Para el ejemplo anterior declaramos
un método llamado imprimir, el cual recibe un entero X y luego la función se llama a sí misma y va
restando 1 al resultado.
Esto es un ejemplo sencillo, pero
puede servir de base para que ustedes sigan con este interesante tema.
Dentro de los ejercicios mas interesantes con recursividad estan: los numeros Fibonacci, Multiplicacion de sumas sucesivas, Division de restas sucesivas, y uno muy interesante el triangulo de Khayyam
ResponderEliminar