Ver Mensaje Individual
  #10 (permalink)  
Antiguo 16/02/2011, 13:31
sam90
 
Fecha de Ingreso: abril-2010
Ubicación: Rosario
Mensajes: 1.850
Antigüedad: 14 años
Puntos: 228
Respuesta: explicacion logica recursividad??

Si en el main llamas a una funcion cualquiera, y desde ella pones un return, vas volves al main.
Ahora si desde una funcion f llamas a la funcion f nuevamente, al poner un return desde la funcion f vas a volver a la funcon f pero desde donde fue llamado.

Para entender un poco mejor eso te recomiendo que imprimas en pantalla y vas a poder seguir la ruta:

Código C++:
Ver original
  1. long int potencia (int b, int e)
  2. {
  3.      long int temporal;    
  4.      cout << e;
  5.     if (e==1) //pieza 1
  6.     {
  7.         return b; //caso base
  8.     }
  9.     else //pieza 2
  10.     {
  11.               cout << "llamo a potencia con" << b << " y " << e -1;
  12.               temporal = potencia(b,e-1);    
  13.               return b*temporal; //paso recursivo
  14.     }
  15. }

Fijate si podes entender mejor como funcionan los llamados.