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

포트란 강좌 :: 할당문 대입문

by Dr. STEAM 2022. 6. 16.
반응형

할당문 (Assignment statement) 또는 대입문

변수(v)에 식(e)을 부여하는데 아래와 같은 형식을 사용

                                   v = e

 

정수형, 실수형 변수 할당

   real :: xloc, yloc

   integer :: number, calc

 

   xloc = 5.23

   yloc = sqrt(25.0)              ! yloc 에 5.0이 할당

   number = 20                    ! number 에는 20이 할당

   calc = number / 4+1         ! calc에 5가 할당

   xloc =  2.0 *  xloc              ! xloc 에 10.46이 할당

 

선언된 변수형에 따라, 변수 내 할당된 값이 달라질 수 있음에 유의해야 한다. 

   real :: a, b 

   a = 3                           !  a는 실수형 변수이므로 a에 3.0이 할당된다. 

 

   iron = 3.14    ! iron 에 3이 할당. implicit none을 선언하지 않았으므로 explicit 규칙을 따름

   kiss = 4.0/2.0  ! kiss 에 2가 할당

 

 

문자형 변수 할당

  character(5) :: string, over, less*10

  string = "Alpha"        ! string 에 "Alpha"가 할당.

 

  string(3 : 5) = "ter"    ! 또는 string(3 : ) = "ter"

  string에 할당된 "Alpha"를  "Alter" 로 변경시킴

 주의: 대입문 오른쪽에 인용된 문자식에 포함된 위치에는 새로운 값이 할당될 수 없다. 

  string(2 : 3) = string(4 : 5)는 가능하지만, 

  string(2 : 4) = string(3 : 5) 는 불가능. 왜냐하면 참고되는 내부 문자열이 수정되는 내부 문자열과 중복되기 때문

 

 

문자형의 경우, 선언된 변수의 길이는 할당되는 값의 길이와 같다. 만약 문자열의 길이가 선언된 길이보다 작으면 공백으로 채우고, 선언된 길이보다 크면 잘리게 된다. 

  less = "particle"         ! less에는 "particle฿฿" 가 할당됨. (฿는 공백)

  over = "concentration"    ! over 에는 "conce" 가 할당됨

 

예문

program print_name
      character :: fname = "Park"
      character(2) :: iname = "Park"
      character(3) :: jname = "Park"
      character(3) :: kname = "park"

      print *, fname
      print *, iname
      print *, jname
      print *, kname
   end program print_name

 

 

 

728x90
반응형