// ejemplo5.cpp: Calcular el factorial
de un número
// El factorial de un número n es el
producto de todos los números naturales desde 1 hasta n.
#include
"stdafx.h"
#include
<iostream>
using
namespace std;
void
main()
{
int n, fact, i;
cout<<"Ingrese un número:";
cin>>n;
i =
1; // i es
una variable auxiliar que cuente la cantidad de veces que se ejecuta el ciclo;
fact =
1; // le
asigno un valor inicial 1
while (i <= n)
{
fact = fact * i;
i = i+1;
}
cout<<"El
factorial de "<<n<<"
es "<<fact<<endl;
cin>>i;
}
Las instrucciones que controlan el ciclo están resaltadas en amarillo:
i = 1; indica el valor inicial de la variable i
while (i <= n) indica la condición que se debe cumplir para seguir iterando dentro del ciclo
i = i+1 indica el cambio de la variable i en cada iteración (será en definitiva la que haga finalizar el ciclo luego de n repeticiones).
La instrucción for permite agrupar estas tres instrucciones en una sola, facilitando la escritura de ciclos:
for (valor inicial; condición de iteración; incremento)
Así, el ejemplo queda re-escrito de la siguiente forma:
Al llegar a la instrucción for, el programa ejecuta la instrucción de valor inicial ( i = 1) y luego analiza la condición ( i <= n). Si la condición es verdadera, ingresa al ciclo y ejecuta las instrucciones que estén dentro del mismo. Una vez ejecutadas las instrucciones, ejecuta la instrucción de incremento (i = i + 1), y vuelve a analizar la condición. Si sigue siendo verdadera, vuelve a ejecutar las instrucciones del ciclo. Así continuará ejecutando el incremento una vez al final de cada ejecución del ciclo, hasta que la condición deje de ser verdadera y salga del ciclo. Como se puede ver, el for hace exactamente lo mismo que el while en el ejemplo anterior.
Por la simplicidad con que los resuelve, es especialmente útil para ciclos que se deben ejecutar una cantidad fija de veces.
Las instrucciones que controlan el ciclo están resaltadas en amarillo:
i = 1; indica el valor inicial de la variable i
while (i <= n) indica la condición que se debe cumplir para seguir iterando dentro del ciclo
i = i+1 indica el cambio de la variable i en cada iteración (será en definitiva la que haga finalizar el ciclo luego de n repeticiones).
La instrucción for permite agrupar estas tres instrucciones en una sola, facilitando la escritura de ciclos:
for (valor inicial; condición de iteración; incremento)
Así, el ejemplo queda re-escrito de la siguiente forma:
#include
"stdafx.h"
#include
<iostream>
using
namespace std;
void
main()
{
int n, fact, i;
cout<<"Ingrese un número:";
cin>>n;
fact =
1; // le
asigno un valor inicial 1
for (i=1; i <= n; i = i +1)
{
fact = fact * i;
}
cout<<"El
factorial de "<<n<<"
es "<<fact<<endl;
cin>>i;
}Al llegar a la instrucción for, el programa ejecuta la instrucción de valor inicial ( i = 1) y luego analiza la condición ( i <= n). Si la condición es verdadera, ingresa al ciclo y ejecuta las instrucciones que estén dentro del mismo. Una vez ejecutadas las instrucciones, ejecuta la instrucción de incremento (i = i + 1), y vuelve a analizar la condición. Si sigue siendo verdadera, vuelve a ejecutar las instrucciones del ciclo. Así continuará ejecutando el incremento una vez al final de cada ejecución del ciclo, hasta que la condición deje de ser verdadera y salga del ciclo. Como se puede ver, el for hace exactamente lo mismo que el while en el ejemplo anterior.
Por la simplicidad con que los resuelve, es especialmente útil para ciclos que se deben ejecutar una cantidad fija de veces.
No hay comentarios:
Publicar un comentario