{
  Calcula uma aproximação para e^x, x real, tilizando a seguinte série:

           e^x = 1 + x + x^2/2! + x^3/3! + ...

  O usuario fornece o valor de x e um valor epsilon, tal que a serie
  sera calculada levando-se em consideracao os termos maiores do que epsilon.  
}

program e_x;
var
   x, e, t, epsilon: real;
   i: integer;
begin
   write('x = ');
   read (x);
   write('epsilon = ');
   read(epsilon);
   e := 1;
   t := 1;
   i := 1;
   while (t >= epsilon) do
   begin
      t := t * x/i;
      e := e + t;
      i := i + 1;
   end;
   writeln('e^x = ', e:3:5);
end.
