두 값의 차이를 구한 후, square root 값을 돌려 주는 subroutine
문제점 : 두 값의 차이가 음수이면?
해결책 : 에러 체킹을 하고, 그 결과를 돌려준다.
SUBROUTINE process(a, b, result, error)
IMPLICIT NONE
REAL, INTENT(IN) :: a, b
REAL, INTENT(OUT) :: result
INTEGER, INTENT(OUT) :: error
REAL :: temp
temp = a - b
IF ( temp >= 0. ) THEN
result = SQRT(temp)
error= 0
ELSE
result = 0
error = 1
END IF
END SUBROUTINE process
error를 이용하여 SUBROUTINE 내에서 error가 일어났는지 검사
'Programming > Fortran' 카테고리의 다른 글
Initializing rank-2 arrays (0) | 2008.12.04 |
---|---|
모듈을 이용한 자료 공유(sharing data using moduel) (0) | 2008.12.04 |
Nested implied DO loops (0) | 2008.12.03 |
Initialization of Array Elements (0) | 2008.12.02 |
REWIND Statement (0) | 2008.11.24 |