모듈(module)을 이용한 온도 변환
모듈 작성
MODULE Temp_Lib
IMPLICIT NONE
CONTAINS
FUNCTION Fahr_to_Celsius(Temp)
REAL :: Fahr_to_Celsius
REAL, INTENT(IN) :: Temp
Fahr_to_Celsius = (Temp - 32.0) / 1.8
END FUNCTION
FUNCTION Celsius_to_Fahr(Temp)
REAL :: Celsius_to_Fahr
REAL, INTENT(IN) :: Temp
Celsius_to_Fahr = 1.8 * Temp + 32.0
END FUNCTION Celsius_to_Fahr
END MODULE Temp_Lib
위 소소를 06_05_Temp_Lib.f95로 저장
모듈을 사용하는 주 프로그램 작성
PROGRAM Temp_Conv
USE Temp_Lib
IMPLICIT NONE
REAL :: FahrenheitTemp, CelsiusTemp
PRINT *, "화씨온도를 입력하시오(ex:100)"
READ *, FahrenheitTemp
CelsiusTemp = Fahr_to_Celsius(FahrenheitTemp)
PRINT *,"화씨온도 ", FahrenheitTemp, " = 섭씨온도 ", CelsiusTemp
END PROGRAM Temp_Conv
위 소스를 06_06_Temp_Conv.f95로 저장
컴파일 및 프로그램 테스트
컴파일 결과 temp_lib.mod가 자동적으로 생성되었다.
'Programming > Fortran' 카테고리의 다른 글
| 온도변환(외부 함수에 대한 Interface 사용) (0) | 2008.09.09 |
|---|---|
| 온도 변환(External Function : 외부함수) (0) | 2008.09.09 |
| 사다리꼴 적분 근사법(함수 이용) (0) | 2008.09.03 |
| 포아송 확률 구하기(2개의 함수, 함수에서 다른 함수 호출) (0) | 2008.09.03 |
| 온도 변환(함수 - 내부 부프로그램) (0) | 2008.09.03 |