;fortran语言的发展:54年提出,56年开始使用——58年fortran二——62年fortran四——66年fortran66——78年fortran77——91年fortran90
;fortran77一行分为四个区的书写格式,在fortran90中不再采用该格式。
;一个简单的fortran90程序:
华氏温度与摄氏温度的换算公式,先输入某一华氏温度TH,计算出相应的摄氏温度TC。
PROGRAM H_TO_C !program后空一格写主程序名,其后程序空两格写
!Given the Fahrenheit temperature, to calculate the Centigrade !为注释行
REAL::TC,TH ::为双隔号,由两个:连成,后各变量间用逗号隔开
READ * , TH
TC=5*(TH-32)/9
PRINT * , TH,TC
END PROGRAM H_TO_C end program后空一格写本程序名,程序名也可不写
;输入M个整数,将其相加,打印出它们的和:
Program cal_m_sum
Implicit none !表示不使用隐式说明,即隐约规则,90程序中一般要有
Integer::n,m
Real::t,a
n=0;t=0 !将两个语句写在一行上,中间用分号;分隔
print * ,’input number of data:’
read * ,m
do !do—end do结构,不带循环变量的循环结构,exit表示跳出循环
read * ,a
t=t+a
n=n+1
if(n>=m)exit
end do
print * ,t
end program
;求4—8五个数阶乘之和:
Function factor(n) result(fac_result) !function,result皆为关键字,表示函数子程序和函数的结果
Implicit none
Integer::n,fac_result,i
Fac_result=1
Do i=1,n
Fac_result=fac_result*i
End do
End function factor
Program cal_factor
Implicit none
Integer::factor,s=0,I !90中变量在类型说明语句中可以赋值,如s=0
Do i=4,8
S=s+factor(i)
End do
Print * ,’s=’,s
End program
;90程序是一种分块形式的程序,由若干个单元块组成,各单元有相似的语句组织形式,其中主程序单元起整体控制作用。按现代编程要求,应尽量多使用子程序单元,有利于程序的维护。一般形式:
主程序单元 函数子程序单元
Program 主程序名 function 函数名(参数) result(结果变量)
程序体 程序体
End program 主程序名 end function 函数名
;real,dimension(1:10)::a,b !说明a,b都是具有10个元素的一维实型数组。
;注释,90提倡用!,不提倡用c或*。
;90中,大小写是等价的。
;字符型常量,又叫字符串,由一对单撇号’’或一对双撇号””间的字符序列组成。
;90中使用的名字,如程序名,变量,常量等,其组成成分可以是字母,数字和下划线,但第一个字符必须是字母,在名字中也不能出现空格。
;有些常用符号无法直接书写,可将其读音或英文名字写出,如theta,alpha,beta
;90不提倡77中的隐式说明,为抑制隐式说明发生作用,应在说明部分一开始就写语句:implicit none,以此向系统声明在本程序中,隐式说明不起作用。
;90中五种变量类型说明:整型integer,实型real,复型complex,逻辑型logical,字符型character。格式:关键字在前,待说明变量在后,中间用双分隔符::隔开,多个变量时,其间用,分隔。如 integer::I,j,k
;90中在变量说明部分有新功能:1,变量说明同时赋初值:integer::i=5,j=126
2,变量说明同时定属性:integer,parameter::i=5,j=24
Real,dimension(1:10)::a
;90中多了派生数据类型:根据需要而定义的新的数据类型,如每个学生可由系、班级、姓名、学号唯一确定,可将学生定义为含有系department,班class,姓名name,学号number四个分量组成的一个派生结构:
Type student
Character(len=20)::department
Character(len=10)::class
Character(len=15)::name
Integer::number
End type student
Student作为一个新的派生数据类型,可以来说明变量:若说明person具有student类型:
Type(student)::person
赋值:person=(“computer”,”92_2”,”Lilin”,21)
;数组类型说明:
Integer,dimension(3,2)::a
Real,dimension(2,2,2)::b
在90中,允许对数组名进行运算:如real,