En él el usuario ingresa la cantidad de términos a calcular y se calcula el valor de e al cabo de cada término.
// euler.cpp: Calcular el valor del número
e a partir de la serie:
// 1 / 0! + 1/1! + 1/2! + 1/3! + 1/4! + .....
//
#include
"stdafx.h"
#include
<iostream>
using
namespace std;
#include
<iomanip>
using std::setprecision;
// para definir la cantidad de decimales a
mostrar
void main()
{
double e,t; // double para dar más precisión (se puede probar con
float)
int i,f,n,j;
cout<<"Ingrese cantidad de términos:";
cin>>n;
e=0;
cout<<
setprecision(16); //acá defino la cantidad de cifras a mostrar.
for(i=0;i<=n;i=i+1)
{
f=1;
for(j=1;j<=i;j=j+1)
{
f=f*j;
}
e
= e + 1.0 / f; // escribo 1.0 en lugar de 1 para que la operación no sea
int
cout<<i<<" "<<e<<endl;
}cin>>i;
}
Para resolverlo, hay un ciclo que lleva la variable i desde 0 hasta n (los términos de la serie). Para cada término, se debe calcular un factorial. Esto se hace con el segundo ciclo for, que lleva a la variable j desde 1 hasta i (para multiplicar todos los factores que forman el factorial). En ambos ciclos, se sabe al iniciarlos cuántas veces se ejecutarán (n, i) y hay una variable que va contando la cantidad de veces que se ejecutan (i, j).
Este tipo de ciclos que se ejecutan una cantidad definida de veces, se denominan ciclos con contador. Para estos ciclos es recomendable utilizar siempre la instrucción for.
Veamos el siguiente ejemplo:
// ejemplo7.cpp: Se ingresa un saldo
inicial, y luego una serie de operaciones (ingresos o gastos). El ciclo
finaliza cuando el saldo final es menor a cero
//
#include
"stdafx.h"
#include
<iostream>
using
namespace std;
void
main()
{
int saldo,monto;
cout<<"Ingrese el saldo inicial:";
cin>>saldo;
while (saldo >= 0)
{
cout
<<"Ingrese operacion:";
cin>>monto;
saldo
= saldo + monto;
cout
<< "su nuevo saldo es "
<<saldo<<endl;
};
cout
<< "Se acabó el saldo disponible",
cin>>monto;
}
En este caso, se realizan las operaciones hasta que se acaba el saldo. No es posible saber de antemano cuántas veces se ejecutará el ciclo. El ciclo terminará cuando la variable saldo alcance un valor menor que cero. Este tipo de ciclos que terminan cuando una variable (llamada variable de señal) alcanza un valor determinado, se denominan ciclos con valor señal o centinela. Por sus características, son más fácilmente programables con las instrucciones while ó do... while.
No hay comentarios:
Publicar un comentario