C TITLE: THIS DOES LARGEST TO SMALLEST, AND THE REVERSE. C IMPLICIT DOUBLE PRECISION (D) DIMENSION A(20000) C 10 PRINT *, 'HOW MANY TERMS(MAX=20000)?' READ *, N IF(N .EQ. 0) STOP C DO 20 J=1,N 20 A(J ) = 1.0/J C DTRUE=0.0D0 DO 21 I=1,N 21 DTRUE = DTRUE + A(I) TRUE=DTRUE C SUM=0.0 DO 22 I=1,N 22 SUM=SUM+A(I) ERROR = TRUE-SUM C PRINT *, 'TRUE=', TRUE PRINT *, 'LARGEST TO SMALLEST SUM = ', SUM PRINT *, 'ERROR=', ERROR C SUM = 0.0 DO 30 J=N,1,-1 30 SUM = SUM + A(J) ERROR = TRUE - SUM C PRINT *, 'SMALLEST TO LARGEST SUM = ', SUM PRINT * ,'ERROR=', ERROR GO TO 10 END HOW MANY TERMS(MAX=20000)? 20000 TRUE= 10.48072 LARGEST TO SMALLEST SUM = 10.48075 ERROR= -2.86102E-05 SMALLEST TO LARGEST SUM = 10.48073 ERROR= -5.72205E-06