Fortran Basic

포트란 라이브러리는 수치연산에 특화된 언어로서 빠른 수치연산과 풍부한 수치라이브러리를 가지고 있습니다. 여러가지 버전의 포트란이 있고, 이번 블로그에서는 Fortran 90의 기본적인 문법에 대해서 살펴볼 것입니다. 먼저 메인 프로그램 작성과 텍스트 출력은 다음과 같습니다.

Example 1

    program Console
    implicit none
    ! Variables
    ! Body of Console
    print *, 'Hello World'
    end program Console

implicit none - 암묵적으로 선언되어 있는 변수들을 사용하지 않습니다.
                   !  - 주석을 달 수 있습니다.
          print *  - 출력하고 싶은 문자를 써주면 됩니다.

포트란은 다른 언어와 달리 프로그램 가장 앞부분에서 변수 선언을 합니다. 수치연산에 특화된 언어인 만큼 벡터와 행렬을 쉽게 선언해서 사용할 수 있는 부분이 돋보입니다.

Example 2

    program Console
    implicit none
    !Variables
     integer :: i,j
    double precision :: a
    double precision, dimension :: N(2), M(2,3)
    double precision, dimension(:), allocatable :: N_alloc
    double precision, dimension(:,:), allocatable :: M_alloc
    !Body of Console
    i = 1
    a = 1d0
 
    N = (/1d0, 2d0/)
    M = reshape((/1d0, 2d0, 3d0, 4d0, 5d0, 6d0/), (/2,3/))
    ! [1 3 5]
    ! [2 4 6]

    allocate(N_alloc(2))
    allocate(M_alloc(2,3))

    N_alloc = (/1d0, 2d0/)
    M_alloc = reshape((/1d0, 2d0, 3d0, 4d0, 5d0, 6d0/),&
                      (/2,3/),(2,1))
    ! [1 2 3]
    ! [4 5 6]  

    deallocate(N_alloc)
    deallocate(M_alloc)

    end program Console

    & - 줄바꿈을 할 때 쓰는 명령어 입니다.

행렬을 만들어 주는 reshape 함수에 들어가는 변수들은 먼저 데이터, 행렬의 크기, 배열순서를 나타냅니다. 반복문과 조건문은 대부분의 프로그래밍에서 가장 많이 쓰이는 기능 중 하나 입니다. 포트란에서도 중요한 기능입니다. 포트란에는 do 라는 명령어가 반복문의 시작을 알리며, if 명령어는 조건문의 시작을 알립니다.

Example 3

    program Console
    implicit none
    !Variables
    integer :: i
 
    do i=1,10
        print *, "Hello World from loop"
    end do

    if (i<10) then
        print *, "Hello World from a condition"
    end if

    do while(i<20)
        i = i + 1
        "Hello World from while loop"
    end do
    end program Console
 

댓글

이 블로그의 인기 게시물

[Linux, AIX] 사용자 계정 생성 및 설정

[AIX] rpm 설치와 rpm 으로 패키지 설치 및 삭제

Ubuntu 에서 Fortran 시작하기