!c****   Elaborado por Fernando Laroca   21/janeiro/2002
!c***        Fortran PowerStation 4.0
!c****    Apresenta os termos e calcula a soma da série  (1/2**i)


  Program Serie2

   Implicit none


   Real*8                       :: a(100)  ! termos da série

   Real*8                       :: Sn      ! soma dos termos

   Integer                      :: i       ! variável contadora

   Real*8                       :: ri      ! i convertido para real

   Integer                      :: n=20    ! número de termos

! zerar a soma

   Sn = 0.0d0

   write(*,10)

   do i = 1, n, 1

   !  para converter i em real.

	 ri = i

     a(i) = 1.0d0 / (2**ri)

	 Sn = Sn + a(i)

     write(*,20) i, a(i)

   enddo

   write(*,30) n, Sn

!  Apenas verifcando a diferenca entre o valor limite
!  da série e o valor para n finito.

   write(*,40) dabs(1.d0 - Sn)

10 format(' termo',8x,'valor')

20 format(I3,5x, 1pE12.4)

30 format(' A soma dos ',I3,' termos da serie: ',1pE12.4)

40 format(/,' diferenca para a unidade: ',1pE15.6)

  End program

