martes, 24 de julio de 2012


Recursividad en c# y Vb.net
Por Diógenes Amaury MS

Debemos iniciar por definir, lo que significa recursividad, es cuando un subprograma o función puede llamarse a sí misma. La recursividad es una alternativa a la iteración o repetición (el uso de bucles), existen numerosas situaciones en la que la recursividad  es una solución simple y natural que en caso contrario sería difícil de resolver.
Por esta razón se puede decir que la recursividad es una herramienta potente y útil en la resolución de problemas que tengan naturaleza recursiva y, por ende, en la programación.
Veamos de una forma más clara estos conceptos en la creación de un programa que determine el factorial de un número dado, y el cual será digitado en un textbox
En nuestro formulario, insertamos dos textbox,  uno llamado  TXTNUMERO y otro llamado TXTFACTORIAL, agregamos un botón, que será el que contendrá el evento para llamar a la función recursiva que determina el factorial de un número N.


Código para c#
Creado la función recursiva
int Factorial(int n)
{
if ((n == 0) || (n == 1))
   return (1);
else
   return (n * Factorial(n - 1));
}
Como pueden notar, en la codición estoy preguntado si el numero es 0 ó 1 y en tal caso retorno 1 a función Factorial(el or en c# es representado por este signo || ), en caso contrario multiplico a n por la misma función factorial, y es aquí donde se aplica la recursividad, ya que la misma función factorial se llama dentro de ella.
En el Botón btncalcular escribo el código para llamar a la función recursiva Factorial.
private void btncalcular _Click(object sender, EventArgs e)
{
TXTFACTORIAL.Text = Convert.ToString(Factorial(Convert.ToInt32(TXTNUMERO.Text)));
}


Código para vb.net
Function Factorial(ByVal n As Integer) As Integer
If n = 0 Or n = 1 Then
   Factorial = 1
Else
   Factorial = n * Factorial(n - 1)
End If
End Function


en el botón escribimos este código para llamar la función factorial y mostrarlar en el textbox TXTFACTORIAL.

TXTFACTORIAL.Text = Factorial(Val(TXTNUMERO.Text))


Cuando la vida te de la espalda, difruta viéndole sus glúteos!!!.
DM.






No hay comentarios:

Publicar un comentario