! square root PROGRAM ex5_7 IMPLICIT NONE REAL :: r, x, d = 0.000005E0 PRINT '(1X, A)', 'Input a real number: ' READ *, r IF ( r > 0 ) THEN x = r ! 初期値は0以外なら何でもよい。 DO WHILE( ABS( x ** 2 - r ) > d ) x = 0.5E0 * ( x + r / x ) END DO PRINT '(F8.5)', x END IF END PROGRAM ex5_7