Fortran 튜토리얼
Fortran 시작하기
수색…
비고
Fortran은 수치 계산에 적합하기 때문에 과학 공동체에서 광범위하게 사용되는 언어입니다. 특히 직관적 인 배열 표기법이 매력적이며 빠른 벡터화 된 계산을 쉽게 작성할 수 있습니다.
그 시대에도 불구하고, Fortran은 여전히 GNU, Intel, PGI 및 Cray를 포함한 수많은 구현을 통해 적극적으로 개발되고 있습니다.
버전
번역 | 노트 | 해제 |
---|---|---|
포르 트 66 | ASA (현재 ANSI)에 의한 첫 번째 표준화 | 1966-03-07 |
포트란 77 | 고정 된 양식, 역사적인 | 1978-04-15 |
포트란 90 | 자유 형식, ISO 표준, 배열 연산 | 1991-06-15 |
포트란 95 | 순수 및 원소 과정 | 1997-06-15 |
포트란 2003 | 객체 지향 프로그래밍 | 2004-04-04 |
포트란 2008 | 공동 배열 | 2010-09-10 |
설치 또는 설정
Fortran은 많은 벤더가 제공하는 컴파일러를 사용하여 컴파일 할 수있는 언어입니다. 서로 다른 하드웨어 플랫폼 및 운영 체제에 대해 서로 다른 컴파일러를 사용할 수 있습니다. 일부 컴파일러는 무료 소프트웨어이며 일부는 무료로 사용할 수 있으며 일부는 라이센스를 구매해야합니다.
가장 일반적인 무료 Fortran 컴파일러는 GNU Fortran 또는 gfortran입니다. 소스 코드는 GNU 컴파일러 모음 인 GCC의 일부로 GNU에서 구할 수 있습니다. 많은 운영체제의 바이너리는 https://gcc.gnu.org/wiki/GFortranBinaries 에서 볼 수 있습니다. Linux 배포판에는 종종 패키지 관리자에 gfortran이 포함되어 있습니다.
예를 들어 다음과 같은 추가 컴파일러를 사용할 수 있습니다.
HPC 시스템에는 시스템 제공 업체가 IBM 또는 Cray 컴파일러와 같은 특수 컴파일러를 사용할 수있는 경우가 있습니다.
이 모든 컴파일러는 Fortran 95 표준을 지원합니다. 다양한 컴파일러에 의한 Fortran 2003 상태 및 Fortran 2008 상태 에 대한 개요는 ACM Fortran 포럼에서 제공되며 Fortran Wiki에서 제공됩니다.
안녕하세요. 세계
모든 포트란 프로그램은 마지막 명령문으로 end
를 포함해야합니다. 따라서 가장 간단한 Fortran 프로그램은 다음과 같습니다.
end
다음은 "안녕하세요, 세계"프로그램의 몇 가지 예입니다.
print *, "Hello, world"
end
write
문 사용 :
write(*,*) "Hello, world"
end
명확성을 위해 이제 program
문을 사용하여 program
을 시작하고 이름을 지정하는 것이 일반적입니다. end
문은이 이름을 참조하여 참조 할 내용을 명확히하고 컴파일러에서 코드의 정확성을 검사하도록 할 수 있습니다. 또한, 모든 포트란 프로그램에는 implicit none
문이 포함되어야합니다. 따라서 최소한의 Fortran 프로그램은 실제로 다음과 같이 보일 것입니다 :
program hello
implicit none
write(*,*) 'Hello world!'
end program hello
다음 단계는 hello world 프로그램의 결과를 보는 것입니다. 이 절에서는 리눅스와 같은 환경에서이를 달성하는 방법을 설명합니다. 우리는 여러분이 쉘 명령어에 대한 몇 가지 기본적인 개념을 가지고 있다고 가정 합니다 . 주로 쉘 터미널로가는 방법을 알고 있습니다. 우리는 당신이 이미 fortran
환경을 설정 했다고 가정 합니다 . 기본 텍스트 편집기 (메모장, 메모장 ++, vi, vim, emacs, gedit, kate 등)를 사용하여 홈 디렉토리의 hello.f90
파일에 위의 hello 프로그램을 복사 및 붙여 넣기하십시오. hello.f90
이 소스 파일입니다. 그런 다음 명령 줄로 이동하여 소스 파일을 저장 한 디렉토리 (홈 디렉토리?)로 이동 한 후 다음 명령을 입력하십시오.
>gfortran -o hello hello.f90
방금 hello world 실행 프로그램을 만들었습니다. 기술적 인 측면에서 방금 프로그램을 컴파일했습니다. 실행하려면 다음 명령을 입력하십시오.
>./hello
쉘 터미널에 다음 행이 인쇄되어 있어야합니다.
> Hello world!
축하합니다. 방금 "Hello World"프로그램을 작성하고 실행했습니다.
이차 방정식
현재 Fortran은 주로 수치 계산에 사용됩니다. 이 아주 간단한 예제는 2 차 방정식을 풀 수있는 기본적인 프로그램 구조를 보여줍니다 :
program quadratic
!a comment
!should be present in every separate program unit
implicit none
real :: a, b, c
real :: discriminant
real :: x1, x2
print *, "Enter the quadratic equation coefficients a, b and c:"
read *, a, b, c
discriminant = b**2 - 4*a*c
if ( discriminant>0 ) then
x1 = ( -b + sqrt(discriminant)) / (2 * a)
x2 = ( -b - sqrt(discriminant)) / (2 * a)
print *, "Real roots:"
print *, x1, x2
! Comparison of floating point numbers for equality is often not recommended.
! Here, it serves the purpose of illustrating the "else if" construct.
else if ( discriminant==0 ) then
x1 = - b / (2 * a)
print *, "Real root:"
print *, x1
else
print *, "No real roots."
end if
end program quadratic
케이스 무감각
알파벳의 대문자와 소문자는 포트란 문자 집합과 동일합니다. 즉, 포트란은 대소 문자를 구분하지 않습니다 . 이 동작은 C ++ 및 기타 많은 경우와 같이 대 / 소문자를 구분하는 언어와는 대조적입니다.
결과적으로 변수 a
와 A
는 같은 변수입니다. 원칙적으로 다음과 같이 프로그램을 작성할 수 있습니다.
pROgrAm MYproGRaM
..
enD mYPrOgrAM
그러한 추악한 선택을 피하는 것은 좋은 프로그래머에게 달려 있습니다.