FORTRAN知识点总结
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
F O R T R A N
第2章FORTRAN90基础知识:
程序单元的概念:
fortran90程序是一种分块形式的程序,整个程序由若干程序单元块组成。每个程序只有一个主程序单元。各单元体的程序体形式上相同。
程序单元可以是主程序、子程序(外部过程或内部过程)、模块MODULE (供其他程序单元引用即把该程序单元内的全部语句复制到程序单元中)或块数据程序单元BLOCK 。
语言元素:指在程序设计中用到的基本成分,如字符集、常量、变量、记号(标号、关键字、名字、常数、运算符和定界符)以及其他的基本结构等。
字符集:英文字母、阿拉伯数字、下划线、21个特殊字符($和?没有规定用法)。
数据结构:
整型INTEGER (34-2下划线后面是种别参数),n 位字长的计算机的数据表示范围一般为12~211-+---n n ,种别参数由内在询问函数KIND 送回,种别值提供的最小范围由内在函数SELECTED-INT-KIND 送回,表示十进制幂的范围由内在函数RANGE 送回;
实型REAL ,小数形式和指数形式;复型COMPLEX (种别类
型参数值取实部与虚部中较大者);
字符型CHARACTER,由一对单撇号或双撇号之间的字符序列组成;
逻辑型LOGICAL。
派生数据类型TYPE;
数组INTEGER,DIMENSION(1,50)::A,可直接对数组元素进行运算如3*A,SQRT(A);
字符子串,在字符串CHARACTER(LEN=80)::ROW中,ROW(1:3)就表示字符串ROW中第1到第3个元素组成的子串。
变量名的命名规则:不能超过31个字符;组成成分是字母、数字、下划线;第一个字符必须是字母。
第3章基本语句:
类型说明语句:类型说明(种别说明),属性说明::变量名表
尽量避免把两个实数作相等或不相等的比较。淘汰隐式说明IMPLICIT NONE
种别说明:种别参数即对可移植数据精度和范围进行选择的机制
KIND(X) 返回变元X的种别参数值
SELECTED-REAL-KIND(n,m) 产生一个种别值,它表示某一精度和范围。N指十进制有效位数,m指明值范围内以10为底的幂次。
种别表示方法:数值型常数、逻辑型常数的种别用后缀法表示,字符型用前缀法。
属性说明:PARAMETER常量名属性,如
INTEGER,PARAMETER::N=5(N值不可更改);DIMENSION数组属性,如INTEGERDIMENDION(1:10)::X。
算术表达式:**乘方。-
→
→
括号+
→
→
**或
*
求函数值
/
或
ABS绝对值;MAX最大值;MIN最小值;SQRT平方根;MOD 求余数。COS,SIN,TAN,ATAN,LOG 自然对数,LOG10常用对数,EXP指数,SIGN符号。
输入:READ(部件号,格式说明)输入如READ(5,
'(I7)')X,Y I7表示每行输入一个整数,每个数占7个字符。表控格式READ*,输入表;READ(*,*)输入表。
输出:WRITE(部件号,格式说明)输出表WRITE(6,
'(1X,2F6.2)')X,Y 1X表示一个空格,F表示作实型编辑,6表示每个数占六列,2表示小数部分占两列,F前的2表示重复系数。省略设备号PRINT格式说明,输出表
表控格式WRITE(*,*)X,Y PRINT*,X,Y
第4章选择结构程序设计:
关系与逻辑表达式:> < == >= <= /=; .NOT. .AND..OR.
.EQV. .NEQV.
混合运算符的优先级
别:逻辑运算符
→
→
关系运算符
算数运算符
括号→
IF语句与IF结构的区别:
IF语句:IF(e) S
IF结构:IF(e1) THEN
块1
ELSEIF(e2) THEN
块2
ELSE
块n
ENDIF
CASE结构:SELECT CASE(MONTH)
CASE(2)
DAYS=28
CASE(4,6,9,11)
DAYS=30
.........
ENDSELECT
第5章循环结构程序设计:
不带循环变量的DO:[结构名:] DO
循环体
ENDDO[结构名] EXIT语句:停止循环,将控制转移到当前循环之外。EXIT [DO结构名]
CYCLE语句:在循环执行到该语句时,跳过循环体在它后面的那些语句,再从循环体的第1条语句开始执行。CYCLE [DO
结构名]
带循环变量的DO:[结构名:] DO[,]v=u1,u2,[u3]
循环体
ENDDO[结构名]
DOWhile结构: [结构名:] DOWHILE (逻辑表达式)
循环体
ENDDO[结构名]
隐DO循环:(list,v=u1,u2,u3)如
READ*,(A(I),I=1,5)
第6章程序单元和过程:
函数子程序:必须提供一个值,这个值赋给结果变量,成为函数的值。
[RECURSIVE]FUNCTION函数名(虚元表)RESULT(结果名)子例子程序:本身并不返回值,其计算结果全部通过虚实结合传递给主调程序。必须通过CALL语句来调用。CALL子程序名(实元表)
[RECURSIVE]SUBROUTINE子程序名(虚元表)接口块:INTERFACE
必须使用:实元是关键字变元时;实元是缺省的可选变元时;一个外部函数使用系统中的内部运算符扩展了原有的功