[C con Clase] Duda sobre Funciones recursivas

Oscar Aparicio Holgado pelucheloko en hotmail.com
Lun Feb 6 20:31:42 CET 2012


Ah claro, devuelve un valor de retorno.

Gracias por la explicación Steven, como siempre perfecto.

Un saludo.


Date: Mon, 6 Feb 2012 17:33:30 +0100
From: stevenrichard.davidson en gmail.com
To: cconclase en listas.conclase.net
Subject: Re: [C con Clase] Duda sobre Funciones recursivas

Hola Óscar,


2012/2/6 Oscar Aparicio Holgado <pelucheloko en hotmail.com>



Hola que tal amigos.

Me empieza a salir humo por las orejas con el tema de las funciones recursivas. He leído varios sitios en la web para ver si me aclaro, pero hasta el momento os pongo lo que he entendido de esto, para ver si estoy en lo cierto o no.


Va el ejemplo sobre un factorial, he tenido que buscar también info sobre factoriales ya que no me acuerdo del cole :) hasta ahi bien; va el ejemplo :

 
Sí; básicamente, así es. Ahora bien, creo que te queda la "segunda parte" de lo que sucede después, que es el retorno, aunque seguramente lo hayas dado por aludido, también es importante. Esto es,
 
factorial(5):
  return 5 * factorial(4) <-------------+
                      |                         |
                     V                        |  24
                factorial(4):                |
                  return 4 * factorial(3) <-------------+
                                      |                         |
                                     V                         |  6

                                factorial(3):                |
                                  return 3 * factorial(2) <-------------+
                                                      |                         |
                                                     V                         |  2


                                                factorial(2):                |
                                                  return 2 * factorial(1) <--+
                                                                      |              |
                                                                     V              |  1

                                                                factorial(1):     |
                                                                  return 1 -------+
 

 
Al final, el algoritmo crea algo así,
 
5 * (4 * (3 * (2 * (1))))
 
 
Espero que haya quedado más claro el tema.
 
Steven
 

_______________________________________________
Lista de correo Cconclase Cconclase en listas.conclase.net
http://listas.conclase.net/mailman/listinfo/cconclase_listas.conclase.net
Bajas: http://listas.conclase.net/index.php?gid=2&mnu=FAQ 		 	   		  
------------ próxima parte ------------
Se ha borrado un adjunto en formato HTML...
URL: <http://listas.conclase.net/pipermail/cconclase_listas.conclase.net/attachments/20120206/c0a9ac61/attachment.html>


Más información sobre la lista de distribución Cconclase