상세 컨텐츠

본문 제목

[FORTRAN] 포트란 언어에서 상수와 변수

공학/FORTRAN

by 도서관경비원 2025. 12. 23. 14:28

본문

반응형

상수(Constant)는 프로그램이 실행되기 전에 정의되며, 프로그램 실행 중에도 값이 변경되지 않는 데이터이다. 포트란 컴파일러는 상수를 만나면 상수의 값을 메모리의 알려진 위치에 배치한 다음 프로그램에서 상수를 사용할 때마다 해당 메모리 위치를 참조한다. 변수(Variable)는 프로그램 실행 중에 값을 변경할 수 있는 데이터이다. (포트란 변수의 값은 프로그램이 실행되기 전에 초기화될 수도 있고 그렇지 않을 수도 있다.) 포트란 컴파일러는 변수를 발견하면 해당 변수에 대해 알려진 위치를 메모리에 예약한 다음, 해당 변수가 프로그램에 사용할 때마다 해당 메모리 위치를 참조한다.

 

프로그램 안의 Fortran 변수는 고유한 이름을 가져야 한다. 변수 이름은 사람이 기억하고 사용하기 쉽도록 메모리의 특정 위치를 나타내는 이름이다. Fortran 변수 이름은 최대 63자까지 가능하며, 알파벳, 숫자 및 밑줄(_) 문자를 조합하여 사용할 수 있다. 단, 이름의 첫 번째 문자는 항상 알파벳이어야 한다. 다음은 유효한 변수 이름의 예이다.

time
distance
z123456789
I_want_to_go_home

 

다음은 유효하지 않은 변수 이름이다.

this_is_a_very_very_very_very_very_very_very_very_long_variable_name (이름이 너무 길다.)
3_days (첫번째 문자가 숫자이다.)
A$ ($는 쓸 수 없는 문자이다.)

 

프로그램을 작성할 때 변수에 의미 있는 이름을 붙이는 것이 중요하다. 의미 있는 이름은 프로그램을 훨씬 쉽게 읽고 유지 관리할 수 있도록 해준다. day, month, year와 같은 이름은 프로그램을 처음 보는 사람에게도 매우 명확하다. 포트란에서 변수 이름에 공백을 사용할 수 없으므로 밑줄 문자를 사용하여 의미 있는 이름을 만들 수 있다. 예를 들어 exchange rate는 exchange_rate가 될 수 있다.

 

또한 작성하는 모든 프로그램의 헤더에 데이터 사전을 포함하는 것이 중요하다. 데이터 사전은 프로그램에서 사용되는 각 변수의 정의를 나열한다. 정의에는 항목의 내용에 대한 설명과 단위가 모두 포함되어야 한다. 데이터 사전은 프로그램을 작성하는 동안에는 불필요해 보일 수 있지만, 나중에 자신이나 다른 사람이 프로그램을 수정해야 할 때 매우 유용하다.

 

Fortran에는 다섯 가지의 내장형 상수 및 변수 유형이 있다. 이 중 세 가지는 숫자형(INTEGER, REAL, COMPLEX)이고, 하나는 논리형(LOGICAL)이며, 나머지 하나는 문자열(CHARACTER)이다.

정수 상수와 변수

정수 데이터 형식은 정수 상수와 변수로 구성된다. 이 데이터 형식은 정수 값만 저장할 수 있으며 소수 부분이 있는 숫자는 표현할 수 없다.

 

정수 상수(integer constant)는 소수점이 없는 숫자이다. 상수가 양수인 경우 + 기호를 붙이거나 붙이지 않고 작성할 수 있다. 정수 상수에는 쉼표를 사용할 수 없다. 다음은 유효한 정수 상수의 예이다.

0
-999
123456789
+17

 

다음은 유효한 정수 상수가 아니다.

1,000,000 (쉼표가 포함된 숫자는 허용되지 않는다.)
-100. (소수점이 있으면 정수 상수가 아니다!)

 

정수 변수는 정수 데이터 형식의 값을 저장하는 변수이다.


정수 데이터 형식의 상수와 변수는 일반적으로 컴퓨터의 단일 워드에 저장한다. 워드의 길이는 컴퓨터마다 32비트에서 64비트까지 다양하므로 컴퓨터에 저장할 수 있는 가장 큰 정수도 다르다. 거의 모든 Fortran 컴파일러는 여러 길이의 정수를 지원합니다. 예를 들어, 대부분의 PC 컴파일러는 16비트, 32비트 및 64비트 정수를 지원한다. 

실수 상수와 변수

실수 데이터 형식은 실수 또는 부동 소수점 형식으로 저장된 숫자로 구성된다. 정수와 달리 실수 데이터 형식은 소수 부분을 포함하는 숫자를 표현할 수 있다.

실수 상수는 소수점이 있는 상수이다. 지수를 사용하거나 사용하지 않고 작성할 수 있다. 상수가 양수인 경우, + 기호를 사용하거나 사용하지 않고 작성할 수 있다. 실수 상수에는 쉼표를 포함할 수 없다.

실수 상수는 지수를 사용하거나 사용하지 않고 작성할 수 있습니다. 지수를 사용하는 경우, 지수는 문자 'E' 뒤에 양수 또는 음의 정수가 오는데, 이는 과학적 표기법으로 숫자를 나타낼 때 사용하는 10의 거듭제곱에 해당한다. 지수가 양수인 경우 + 기호를 생략할 수 있다. 숫자의 가수(지수 앞의 부분)에는 소수점이 있어야 한다. 다음은 유효한 실수 상수의 예이다.

10.
-999.9
+1.0E-3 (= 1.0 × 10**−3, or 0.001)
123.45E20 (= 123.45 × 10**20, or 1.2345 × 10**22)
0.12E+1 (= 0.12 × 10**1, or 1.2)

 

다음은 유효한 실수 상수가 아니다.

1,000,000. (,를 사용할 수 없다.)
111E3 (가수에는 소수점이 필요하다.)
-12.0E1.5 (지수에는 소수점을 사용할 수 없다.)

 

실수 변수는 실수 데이터 형식의 값을 저장하는 변수이다.

실수 값은 가수와 지수, 두 부분으로 구성된다. 가수에 할당된 비트 수는 상수의 정밀도(즉, 상수를 나타내는 유효 자릿수)를 결정하고, 지수에 할당된 비트 수는 상수의 범위(즉, 표현할 수 있는 가장 큰 값과 가장 작은 값)를 결정한다. 주어진 워드 크기에서 실수의 정밀도가 높을수록 범위는 작아지고, 반대로 정밀도가 낮을수록 범위는 커진다. 

지난 25년 동안 거의 모든 컴퓨터는 IEEE 표준 754를 준수하는 부동 소수점 방식을 사용해 왔다. 다음 표는 IEEE 표준 754를 준수하는 컴퓨터에서 일반적인 실수 상수 및 변수의 정밀도와 범위를 보여준다.

컴퓨터 표준 비트의 전체 수 가수의 비트 수 소수 자릿수 정밀도 지수의 비트 수 지수 범위
IEEE 754 32 24 7 8 10**-38 ~ 10**38
64 53 15 11 10**-308 ~ 10**308
128 112 34 16 10**-4932 ~ 10**4932



모든 Fortran 컴파일러는 여러 길이의 실수를 지원한다. 예를 들어, PC 컴파일러는 32비트 실수와 64비트 실수를 모두 지원한다. 실수는 서로 다른 종류의 실수가 있다. 적절한 종류를 선택함으로써 실수 상수 또는 변수의 정밀도와 범위를 확장할 수 있다. Fortran은 주어진 값에 어떤 종류의 실수를 사용할지 명시적으로 선택하는 메커니즘을 제공한다. 

반응형

관련글 더보기