next up previous index
Siguiente: Ventajas de usar subrutinas Subir: Subrutinas y paso de parámetros Anterior: Paso de parámetros por valor y   Índice de Materias

Funciones recursivas

Como en otros lenguajes, en Perl se pueden programar funciones recursivas, que se llaman a si mismas hasta que el problema que intentan resolver tiene un solución obvia. La recursión es un mecanismo de descomposición de problemas que puede hacer más sencillo llegar a una solución, pero a cambio, normalmente, su coste computacional es relativamente grande, ya que implica muchas llamadas a funciones seguidas.

De ejemplo os muestro la función factorial en forma recursiva:

sub factorial
{
	# toma parámetro
	my $fact = $_[0];
	
	if($fact < 0) # error, la función factorial no está definida para negativos
	{ 
		return 0; 
	}
	elsif($fact == 0) # caso trivial
	{
		return 1;
	}
	else # descompón el problema un paso más
	{
		return $fact * factorial($fact -1); 
	}
}


next up previous index
Siguiente: Ventajas de usar subrutinas Subir: Subrutinas y paso de parámetros Anterior: Paso de parámetros por valor y   Índice de Materias
Bruno Contreras Moreira 2007-06-15