본문 바로가기
학부 강의 노트/포트란 프로그래밍 (보충예제)

포트란 강좌 :: 프로그램 구조

by Dr. STEAM 2022. 5. 31.
반응형

! 프로시저를 사용한 프로그램의 예

! 각 프로시저의 프로그램 작성 순서는 아래와 같다. 

  • 프로시저의 시작문 (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
반응형