두 값의 차이를 구한 후, 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

+ Recent posts