1. 포트란 프로그램의 기본 구성
포트란 프로그램은 프로그래머의 목표를 달성하도록 설계된 여러 줄의 문장(statement) 으로 구성된다. 문장은 크게 두 종류로 나뉜다.
실행 문장(executable statement): 프로그램이 실행될 때 실제로 작동하는 행동을 기술한다. 덧셈, 뺄셈, 곱셈, 나눗셈 등의 연산이 대표적이다.
비실행 문장(non-executable statement): 프로그램의 올바른 작성에 필요한 정보를 기록한다. 변수의 타입 선언 등이 해당한다. 프로그램 실행 시 직접 동작을 수행하지는 않지만, 컴파일러가 프로그램을 올바르게 해석하는 데 필수적이다.
2. 문장의 형식 규칙
포트란 문장을 작성할 때 따르는 기본 형식 규칙은 다음과 같다.
줄 길이: 한 줄은 최대 132자까지 작성할 수 있다.
줄 연속: 문장이 너무 길어 한 줄에 들어가지 않을 때는 현재 줄 끝에 앰퍼샌드(&) 를 붙이고 다음 줄에 이어서 작성한다. 최대 256줄까지 하나의 문장을 이어 쓸 수 있다.
아래 세 가지 문장은 모두 동일한 의미를 가진다.
output = input1 + input2 ! Sum the inputs
output = input1 &
+ input2 ! Sum the inputs
999 output = input1 & ! Sum the inputs
& + input2
세 문장 모두 컴퓨터에게 input1과 input2에 저장된 두 값을 더하여 그 결과를 output에 저장하라고 지시한다.
3. 문장 번호
위의 세 번째 예제처럼 문장은 앞에 문장 번호(statement number) 를 붙일 수 있다.
문장 번호에 관한 규칙은 다음과 같다.
- 범위: 1 ~ 99,999 사이의 정수
- 역할: 프로그램의 다른 부분에서 해당 문장을 지칭할 때 사용하는 일종의 '이름'
- 주의: 줄 번호가 아니며, 문장이 실행되는 순서와 무관하다
- 고유성: 동일한 프로그램 단위 안에서 중복 사용 불가. 예를 들어 100을 한 줄에서 문장 번호로 사용했다면, 같은 프로그램 단위 내 다른 줄에서 다시 100을 사용할 수 없다
- 현대 포트란: 거의 사용하지 않는다. 특수한 경우(예: FORMAT 문 참조)에만 제한적으로 사용된다
4. 주석 — 사람을 위한 설명
포트란에서 느낌표(!) 뒤에 오는 모든 문자는 주석이다. 컴파일러는 느낌표부터 그 줄의 끝까지 모든 내용을 완전히 무시한다.
output = input1 + input2 ! 이 부분은 주석입니다 → 컴파일러가 무시
주석은 문장의 끝에 붙이거나, 줄 전체를 주석으로 만들 수도 있다.
! 이 줄 전체가 주석입니다
output = input1 + input2
주석은 컴파일러가 무시하지만, 프로그래머에게는 매우 중요하다. 코드의 의도와 동작을 설명함으로써 프로그램의 가독성과 유지보수성을 높인다. 특히 복잡한 과학·공학 계산 코드에서 주석은 코드를 올바르게 이해하고 오류를 방지하는 데 핵심적인 역할을 한다.
한 가지 주의할 점이 있다. 위의 세 번째 예제처럼 앰퍼샌드(&) 뒤에 주석이 붙은 경우, 컴파일러는 주석을 무시하고 앰퍼샌드를 줄의 마지막 문자로 취급하여 다음 줄로 문장이 이어진다고 처리한다.
핵심 요약
| 요소 | 내용 |
| 줄 최대 길이 | 132자 |
| 줄 연속 기호 | & (앰퍼샌드) |
| 최대 연속 줄 수 | 256줄 |
| 문장 번호 범위 | 1 ~ 99,999 |
| 주석 기호 | ! (느낌표) |
| 대소문자 구분 | 없음 |
포트란 문장의 형식 규칙은 단순하지만, 이를 정확히 이해하고 주석을 적극 활용하는 습관이 읽기 쉽고 유지하기 쉬운 코드를 만드는 첫걸음이다.
'공학 > CAE' 카테고리의 다른 글
| 포트란 코딩 스타일과 프로그램 실행 방식 (0) | 2025.12.14 |
|---|---|
| 포트란 프로그램의 세 가지 구조: 선언, 실행, 종료 (0) | 2025.12.13 |
| 포트란 프로그래밍의 기초: 문자 집합과 언어의 구조 (0) | 2025.12.13 |
| 포트란: 기계어와의 백병전에서 인류를 해방시킨 언어 (0) | 2025.12.13 |
| 포트란(FORTRAN): 모든 과학 프로그래밍 언어의 조상 (0) | 2025.12.12 |