포트란 프로그램은 실행하는 문장과 실행하지 않는 문장의 혼합으로 구성되며, 이건 특정 순서대로 작동한다. 예시적인 포트란 프로그램은 다음과 같다. 이 프로그램은 두 숫자로 읽고 곱한 다음 결과를 출력한다.
PROGRAM my_first_program
! Purpose:
! To illustrate some of the basic features of a Fortran program.
!
! Declare the variables used in this program.
INTEGER :: i, j, k ! All variables are integers
! Get two values to store in variables i and j
WRITE (*,*) 'Enter the numbers to multiply: '
READ (*,*) i, j
! Multiply the numbers together
k = i * j
! Write out the result.
WRITE (*,*) 'Result = ', k
! Finish up.
STOP
END PROGRAM my_first_program
이 포트란 프로그램은 다른 포트란 프로그램과 마찬가지로 세 개의 부분으로 나누어진다:
이부분은 프로그램 이름과 프로그램에서 참조하는 변수의 수 및 유형을 정의하는 프로그램 시작 부분의 실행하지 않는 문장 으로 구성된다.
이 부분의 첫 번째 문장은 PROGRAM 문이다. 이 문장은 Fortran 컴파일러에 프로그램 이름을 지정하는 실행하지 않는 문장이다. 포트란 프로그램 이름은 최대 63자까지 가능하며 알파벳 문자, 숫자, 밑줄(_) 문자를 조합할 수 있다. 하지만 프로그램 이름의 첫 번째 문자는 항상 알파벳이어야 한다. PROGRAM 문은 프로그램의 첫 번째 줄에 있어야 한다. 이 예제에서 프로그램의 이름은 my_first_program입니다.
프로그램의 다음 몇 줄은 프로그램의 목적을 설명하는 주석이다. 다음은 INTEGER 유형 선언문이다. 여기서 i, j, k라는 세 가지 정수 변수가 이 프로그램에 사용될 것임을 선언한다.
이 부분은 프로그램이 수행할 작업을 작성하는 하나 이상의 문장으로 구성된다.
이 프로그램의 첫 번째 실행문은 WRITE 문으로, 사용자가 두 숫자를 곱하도록 입력하라는 메시지를 작성한다. 다음 실행문은 사용자가 제공한 두 정수를 읽는 READ 문이다. 세 번째 실행문은 컴퓨터가 두 숫자 i와 j를 함께 곱하고 결과를 변수 k에 저장하도록 지시한다. 마지막 WRITE 문은 사용자가 볼 수 있도록 결과를 출력한다. 주석은 실행 부분의 어디에나 작성할 수 있다.
이 부분은 프로그램 실행을 중지하고 컴파일러에게 프로그램이 완료되었다는 걸 알리는 문장으로 구성된다.
종료는 STOP 및 END PROGRAM 문으로 구성된다. STOP 문은 컴퓨터에게 프로그램 실행을 중지하라고 지시하는 명령어이다. END PROGRAM 문은 컴파일러에게 프로그램에서 더 이상 컴파일할 문장이 없음을 알려주는 명령어이다.
STOP 문은 다음과 같은 형태 중 하나를 선택한다.
STOP
STOP 3
STOP 'Error stop'
STOP 문만 사용되면 실행을 중지한다. STOP 문이 숫자와 함께 사용하면 프로그램이 중지될 때 해당 숫자가 출력되고 보통 오류 코드로 운영 체제에 반환한다. STOP 문이 문자열과 함께 사용하면 프로그램이 중지될 때 해당 문자열을 출력한다.
이 예제와 같이 STOP 문이 END PROGRAM 바로 앞에 있을 때는 선택 사항이다. 컴파일러는 END PROGRAM 문에 도달하면 자동으로 STOP 명령을 생성한다. 따라서 STOP 문은 거의 사용되지 않는다.
STOP 문의 다른 버전인 ERROR STOP이 있다. 이 버전은 프로그램을 중지하지만 프로그램이 제대로 실행되지 않았음을 운영 체제에 알린다. 예를 들어 다음과 같다.
ERROR STOP 'Cannot access database'
이 STOP 문은 포트란 2008에 추가되었으며, 프로그램이 비정상적으로 실패했다는 걸 운영 체제에 알려야 할 때 유용하다.
| GNU Exterior Ballistics Computer (0) | 2025.12.17 |
|---|---|
| [FORTRAN] 포트란 작성 스타일과 실행 방법 (0) | 2025.12.14 |
| [FORTRAN] 포트란의 줄 바꿈과 주석 (0) | 2025.12.13 |
| [FORTRAN] 포트란의 문자 집합 (0) | 2025.12.13 |
| [FORTRAN] 포트란의 발전 과정: 포트란 I, 포트란 77, 포트란 2008 (0) | 2025.12.13 |