Saludos
me estoy iniciando en esto de la programacion,me parece que es algo muy interesante pero un poco confuso, lo que trato de hacer es analizar como se va haciendo cada cosa, como funciona para asi tener unas buenas bases, un buen analisis y tratar de mejorar mi logica.
Pero hay Terminos o propiedades que no me quedan muy claras como la RECURSIVIDAD y quisiera que me lo explicaran por favor en este pequeños programa.
//program de factorial de 10 numeros
int factorial(unsigned long int);
int main()
{
int contador;
int resultado;
for (contador = 0;contador <=10; contador ++)
{
resultado = factorial(contador);
cout << contador << " ! = " << resultado << endl;
}
system("pause");
return 0;
}
int factorial(unsigned long int numero)
{
//metodo base
if(numero<=1)
return 1;
else
return numero * factorial (numero - 1);
}
Lo que quiero saber es como se va ejecutando
return numero * factorial (numero -1)
y que valores va tomando o como los convina o los multiplica.
*********************************************
Mi teoria es esta supongamos q el for va en 4 numero=4
por orden de operadores ejecuta primero lo que esta entre parentesis y esto quedaria 4 * factorial (4 - 1) ¿vuelve a llamar a factorial? y despues q haci se va hasta llegar a uno, y como es q arroja el resultado al final?
gracias espero alguien pueda ayudarme y explicarme con calma.