program zur_berechnung_von_pi
  ! ********************************************************************
  !     Bildschirmein- und -ausgabe 
  !     iterative Annaeherung an die Kreiszahl pi
  !     pi/4 = 1/1 -1/3 +1/5 -1/7 ... (konvergiert sehr langsam)
  !
  !     Autor:  Wolfgang Loebnitz  (Mittwoch Aug 28 18:25:35 2002)
  !     umgeschrieben in FORTRAN90 von Gerhard Opfer
  ! ********************************************************************
  implicit none
  double precision :: pi_exakt, pv, v, q, pi_approximativ, fehler
  integer :: i, ii, j
  pi_exakt=4*datan(1.d0) !FORTRAN-Form von arctan (arcus tangens) double precision
  write(*,fmt="('Anzahl der Iterationen zur Berechnung von pi: ')",advance="no")
  read(*,fmt="(i8)") i                 !advance="no" heisst: kein Zeilenvorschub
  pv = 0.d0; v  = -1.d0  !d signalisiert double precision bei Konstanten
  ii = 2*i-1
  do j=1,ii,2
    v  = -v;  q  = v/j;  pv = pv+q
    if(j>2*i-10) then !nur die letzten 5 Zeilen werden gezeigt
      write(*,fmt="(i8,2x,f12.5,2x,f12.5)") j, q, pv
    end if
  end do	
  pi_approximativ = pv*4; fehler = pi_exakt-pi_approximativ
  write(*,fmt="('Kreiszahl pi nach',2x,i8,1x,' Iterationen:',1x,f18.15)")&
        i, pi_approximativ !& bedeutet Fortsetzung in der naechsten Zeile
  write(*,fmt="('Exakt und Fehler: ',23x,2(1x,f18.15))") pi_exakt, fehler
end program zur_berechnung_von_pi
!Ergebnis:
!Anzahl der Iterationen zur Berechnung von pi: 200
!     391      -0.00256       0.78412
!     393       0.00254       0.78667
!     395      -0.00253       0.78414
!     397       0.00252       0.78665
!     399      -0.00251       0.78415
!Kreiszahl pi nach       200  Iterationen:  3.136592684838816
!Exakt und Fehler:                          3.141592653589793  0.004999968750977
