PROGRAM arith3 ! ! Author: Br. David Carlson ! ! Date: January 3, 2000 ! ! Revised: May 2, 2004 ! ! This program tries adding large and small numbers together. IMPLICIT NONE INTEGER, PARAMETER::max = 18 REAL, DIMENSION(max)::num REAL::sum, x INTEGER::k WRITE (*, *) '2500.592 + 0.00368 = ', 2500.592 + 0.00368 WRITE (*, *) '123.0 + 0.004 + 0.002 + 0.001 = ', & 123.0 + 0.004 + 0.002 + 0.001 WRITE (*, *) '0.001 + 0.002 + 0.004 + 123.0 = ', & 0.001 + 0.002 + 0.004 + 123.0 num(1) = 16 DO k = 2, max num(k) = num(k - 1) / 3 END DO sum = 0.0 DO k = 1, max sum = sum + num(k) END DO WRITE (*, *) 'Sum of numbers (from largest to smallest) = ', sum sum = 0.0 DO k = max, 1, -1 sum = sum + num(k) END DO WRITE (*, *) 'Sum of numbers (from smallest to largest) = ', sum x = 2.0E38 WRITE (*, *) x, ' + ', x, ' = ', x + x WRITE (*, *) '(1.23456 + 2.65439) + 0.22222 = ', (1.23456 + 2.65439) + 0.22222 WRITE (*, *) '1.23456 + (2.65439 + 0.22222) = ', 1.23456 + (2.65439 + 0.22222) END PROGRAM