728x90
반응형
! 프로시저를 사용한 프로그램의 예
! 각 프로시저의 프로그램 작성 순서는 아래와 같다.
- 프로시저의 시작문 (module, program, subroutine, function, block data)
- 선언문(use 문, implicit none 문, 변수 선언문, ...)
- 실행문 (표현식, 선택구조, 순환구조, ...)
- 프로시저의 종료문 (end 문)
!모듈 프로시저 (반드시 주프로그램 앞에 위치해야) module variablegroup implicit none integer :: i, j real(kind=16) :: a, b end module variablegroup |
|
! 주 프로시저 (모든 연산과정을 제어하는 기능) program mainprocedure use variablegroup implicit none integer :: k real(kind=16) :: c i=1; j=2; a=3; b=4 call internalprocedure(c) call externalprocedure(k) write(*, "(' a+b = ', f10.2)") c write(*, "(' +j=', i10)") k contains ! 이하 프로그램이 내부 프로시저임을 나타내는 명령어 ! 내부 프로시저 (주 프로시저의 일부분에 해당하는 프로시저) subroutine internalprocedure(d) use variablegroup !주 프로시저와 공유하므로 생략 가능 implicit none !주 프로시저와 공유하므로 생략 가능 real(kind=16) :: d d=a+b end subroutine internalprocedure end program mainprocedure |
|
! 외부 프로시저 subroutine externalprocedure(p) use variablegroup implicit none integer :: p p=i+j end subroutine externalprocedure |
728x90
반응형