Fortran/Fortran77

[Fortran77]Fortran 기초(3)

TigerShin 2021. 8. 26. 14:31

오늘은 간만에 Fortran에 대해 간단하게 알아보겠습니다.
오늘은 IF문 대비를 위한, 연산자에 대해 알려드리도록 하겠습니다.

연산자

Fortran 90이후에는 현대적인 연산자와 비슷하지만, 77인 경우에는, 약간의 차이가 납니다.
+, -와 같은 계산에 대한 연산자는 같으나, 논리 연산과 관계 연산자에 대해서는 약간 차이가 존재하기에, 차그차근 알아보겠습니다.

수학 연산자

사실 덧셈, 뺄셈 등과 같은 연산자는 다른 언어와 차이가 나지 않습니다.

1 + 2 => 3
1 - 2 => -1
1 / 2.0 => 0.5
1 * 2 => 2

이런식으로 말이죠

하지만, 다른 언어에서도 보기 어려운 연산자를 제공하기도 합니다.

바로 제곱 연산자인 **입니다.

제곱 연산자에 대한 이용은 그리 어렵지 않습니다.

2 ** 2 => 4
2 ** 3 => 8

이런식으로
a**b = a^b 가 성립이 된다고 생각하시면 됩니다.

문자 연산자

포트란에는 문자 관련 연산자가 존재합니다.
표현은 //으로, 영어로는 이를 concat이라고 부르며, 한글로는 붙이다, 합치다 정도로 생각하시면 됩니다.

간단한 예시를 보여드리자면,

'ABC' // 'DE' => 'ABCDE'
'XXX' // 'YYY' => 'XXXYYY'

이런식으로 됩니다.

약간 C언어에서의 ##과 유사하다고 생각하시면 됩니다.

논리 연산자

Fortran77에서의 논리와 관계 연산자는 현대 언어와 약간의 차이가 존재하기에 간단하게 알려드리겠습니다.

.AND.  // and operator
.OR.   // or operator
.NEQV. // Nonequivalence operator
.EQV.  // Equivalence operator
.XOR.  // xor operator
.NOT.  // not operator

이곳에서 NEQV랑 EQV는 처음 들어보실 것 입니다.

EQV는 두 조건이 모두 참이거나, 거짓일 때만 참이고,
NEQV는 두 조건이 모두 참이거나, 거짓이 아니여야만, 참이 됩니다.

Fortran 77에서는 논리 연산자에 이러한 차이가 있으므로, 유의해주시길 바랍니다.

관계 연산자

관계 연산자는 간단하게 설명을 드리자면, 크다, 작다와 같은 연산자를 의미합니다.

보통 현대 프로그래밍 언어에서는 부호를 이용하여, 표현을 하지만, fortran77에서는 배치 파일처럼 LT, GT와 같이 단어를 이용하여 관계 연산자를 이용합니다.

이것도 간단하게 보여드리겠습니다.

.LT. // Less Than -> '<'
.LE. // Less than Equal -> '<='
.GT. // Great Than -> '>'
.GE. // Great than Equal -> '>='
.EQ. // EeQual -> '=='
.NE. // Not Equal -> '!='

소스코드

오늘은 딱히 작성한 소스코드가 없습니다.

'Fortran > Fortran77' 카테고리의 다른 글

[Fortran77]Fortran 기초(2)  (0) 2021.08.18
[Fortran77]Fortran 기초(1)  (2) 2021.08.12