FORTRAN
Intro
FORTRAN诞生于1954年,为美国著名的计算机先驱人物约翰·巴克斯所开发。
是世界上第一种计算机高级语言,为现代软件开发奠定了基础。
FORTRAN是Formula Translation的缩写,意为”公式翻译”。它是为科学、工程问题或企事业管理中的那些能够用数学公式表达的问题而设计的,其数值计算的功能较强。
主要标准版本有F77、F90、F95。
编译器有ifort、gfortran、G95。
FORTRAN不同版本区别较大,下面以F90为标准
Feature
- F77受卡片机72列的影响,所以Fortran一行只允许最多72列,且头6列有特殊意义,包括语句标号
- implicit: IJKLMN as INTEGER
- strong-type
- dimension
Annotation
最初标准以第一列为C
或者*
表示为注释行
后来以!
为注释符
Basic-Syntax
program program_name
implicit none
! const
real, parameter :: pi = 3.1415927
! type declaration statements
<Data-Type> :: <var1>,<var2>...
! executable statements
end program program_name
Data-Type
boolean
- logical(
.true.
.false.
)
integer
- integer
real
- real
- double precision
complex
- complex (a,b) as (a+bi)
- double precision complex
character
- character (len=n)
dimension
- , dimension(m[,n]) :: var
Expression
<unary> <rvalue>;
<lvalue> <binary> <rvalue>;
operator
arithmetic
+
-
*
/
**
logical
.and.
.or.
.not.
relational
.eq.
as==
.ne.
as/=
.lt.
as<
.gt.
as>
.le.
as<=
.ge.
as>=
Statement
if
if (exp1) then
<statement1>
else if (exp2) then
<statement2>
else
<statement3>
end if
select case (exp)
case value1
statement1
case value2
statement2
...
case default
statement
end select
loop
do i=begin,end [,step]
statements
end do
do while (exp)
statements
end do
jump
goto S
goto (S1,S2...),I
cycle ! like c continue
exit ! like c break
function
subroutine sub_name(params)
statements
return
end subroutine
function func_name(params)
statements
call sub_name(...)
return
end function
INPUT
read fmt, variable_list
OUTPUT
print fmt, variable_list
write fmt, variable_list