FORTRAN知识点总结_第1页
FORTRAN知识点总结_第2页
FORTRAN知识点总结_第3页
已阅读5页,还剩8页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、FORTRAN第2章FORTRAN90基础知识:程序单元的概念 :fortran90 程序是一种分块形式的程序,整个程序由若干程序单元块组成。每个程序只有一个主程序单元。各单元体的程序体形式上相同。程序单元可以是主程序、子程序(外部过程或内部过程) 、模块 MODULE(供其他程序单元引用即把该程序单元内的全部语句复制到程序单元中)或块数据程序单元 BLOCK。语言元素:指在程序设计中用到的基本成分,如字符集、常量、变量、记号(标号、 关键字、名字、常数、运算符和定界符)以及其他的基本结构等。字符集:英文字母、阿拉伯数字、下划线、21 个特殊字符( $和?没有规定用法) 。数据结构:整型 IN

2、TEGER( 34-2 下划线后面是种别参数) ,n 位字长的计算机的数据表示范围一般为2n 1 2 n 11,种别参数由内在询问函数 KIND送回,种别值提供的最小范围由内在函数SELECTED-INT-KIND送回,表示十进制幂的范围由内在函数RANGE送回;实型 REAL,小数形式和指数形式;复型COMPLEX(种别类型参数值取实部与虚部中较大者);字符型 CHARACTER,由一对单撇号或双撇号之间的字符序列组成;逻辑型 LOGICAL。派生数据类型TYPE;数组 INTEGER,DIMENSION(1,50):A,可直接对数组元素进行运算如 3*A,SQRT(A);字符子串,在字符串

3、 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为底的幂次。

4、种别表示方法:数值型常数、逻辑型常数的种别用后缀法表示,字符型用前缀法。属性说明: PARAMETER常量名属性,如INTEGER,PARAMETER:N=5(值不可更改);DIMENSION数组属性,如 INTEGERDIMENDION(1:10 ):X。算术表达式: * 乘方。 括号求函数值*/或*或 -ABS绝对值; MAX最大值; MIN 最小值; SQRT平方根; MOD 求余数。 COS,SIN,TAN,ATAN,LOG 自然对数 ,LOG10常用对数, EXP指数,SIGN符号。输入:READ(部件号,格式说明) 输入如 READ(5,'(I7)')X,YI7表示

5、每行输入一个整数,每个数占7 个字符。表控格式 READ*,输入表; READ(*,*) 输入表。输出 :WRITE(部件号,格式说明) 输出表WRITE(6,'(1X,2F6.2)')X,Y1X 表示一个空格,F 表示作实型编辑,6表示每个数占六列,2 表示小数部分占两列,F 前的2 表示重复系数。省略设备号PRINT格式说明,输出表表控格式 WRITE(*,*)X,YPRINT*,X,Y第4章选择结构程序设计:关系与逻辑表达式:> <= >= <= /=;.NOT. .AND.OR.EQV. .NEQV.混合运算符的优先级别: 括号算数运算符关系运算

6、符逻辑运算符IF 语句与 IF 结构的区别 :IF语句:IF(e)SIF结构:IF(e1)THEN块1ELSEIF(e2) THEN块 2ELSE块 nENDIFCASE结构: SELECTCASE(MONTH)CASE(2)DAYS=28CASE(4,6,9,11)DAYS=30.ENDSELECT第5章循环结构程序设计:不带循环变量的DO: 结构名: DO循环体ENDDO结构名 EXIT 语句:停止循环,将控制转移到当前循环之外。EXITDO 结构名 CYCLE语句:在循环执行到该语句时,跳过循环体在它后面的那些语句,再从循环体的第结构名 带循环变量的DO:1 条语句开始执行。CYCLED

7、O 结构名: DO,v=u1,u2,u3循环体ENDDO结构名DOWhile 结构 : 结构名: DOWHILE( 逻辑表达式 )循环体ENDDO结构名 隐 DO循环:(list,v=u1,u2,u3)如READ*,(A(I),I=1,5)第6章程序单元和过程:函数子程序:必须提供一个值,这个值赋给结果变量,成为函数的值。RECURSIVEFUNCTION函数名(虚元表) RESULT(结果名)子例子程序:本身并不返回值,其计算结果全部通过虚实结合传递给主调程序。必须通过CALL语句来调用。CALL子程序名(实元表)RECURSIVESUBROUTINE子程序名(虚元表)接口块: INTERF

8、ACE必须使用:实元是关键字变元时;实元是缺省的可选变元时;一个外部函数使用系统中的内部运算符扩展了原有的功能时;外部过程扩展了赋值号的使用范围时;使用一个类属名调用过程时;调用一个外部过程,该过程的结果是一个数组。虚实结合:实元和虚元的个数相等,相应位置上的类型一致。关键字变元:虚元名 =实元表达式可选择变元:OPTIONAL属性:一虚元的类型说明语句中有 OPTIONAL 属性便是可选变元。PRESENT(X)函数:用来检查它的自变量X 是否在程序执行部分出现。 当 X 出现时,函数值为“真”,否则为“假”。虚过程:如果虚元是一个过程名时,作为虚元的过程称为虚过程。只有潜逃调用至少两层以上

9、时才能用虚过程。模块: MODULE包含程序说明语句和过程,但不能直接运行。其他程序引用模块实际就是将该模块中的全部语句复制到本程序单元,并且所有与模块中的名字相同的变量彼此取值相通, 共享存储单元。模块名对程序来说是全局的,不能与本程序中的任何程序单元名、外部名相同,也不得与模块内的任何局部名重名。引用:USE模块 1,模块 2,.,模块 nUSE模块名, ONLY:实体名表递归:递归调用是指过程内直接或间接地调用自己。内部过程:如果一个过程不是写在主程序外,而是写在主程序单元之内, 作为主程序内包含的一个过程,则该过程为内部过程。通常没有说明语句,一般没有虚元。类属过程:允许不同类型的实元

10、与同一虚元结合,放宽了虚实结合必须一致的条件。超载运算符:标准 FORTRAN运算符通过恰当的过程扩展其功能,使其具有新的含义。自定义运算符。超载赋值:指把赋值的含义扩展到新的数据类型。赋值号两边的类型必须相容。第7章数组:数组基本概念:用 DIMENSION属性说明之,同时给出数组元素的起止下标;使用数组时,即可直接使用数组某个元素,也可直接使用数组名。数组片段:代表数组中的部分元素,可连续也可不连续。如: A(3:6)或A(10: 30:2) 步长是 2数组构成器:赋值4 个元素的数组: A=(/1,2,3,4/)其中(/1,2,3,4/)就是数组构成器例: A=(/(SQRT(REAL(

11、I),I=1,4)/)或A=(/V(3),V(6),V(7),V(9),/)二维数组按列存放:A(1,1)A( 2,1)A(3,1)A(1,2)A(2,2)A(3,2)RESHAPE函数:将数组构成器中的一维数据重新构成任意形的数组。例: A=RESHAPE(SOURCE=(/1,2,3,4,5,6,7,8,9 ,-1 ,-2 ,-3/),SHAPE=(/3,4/)数组形式:常数组REAL,DIMENSION(3:5+7):A可调数组 REAL,DIMENSION(M,N):A假定形状数组REAL,DIMENSION(:,:):A动态数组(可变)REAL,DIMENSION(:),ALLOCA

12、TABLE:A数组做变元,只能作为过程的实元不能是虚元。数组运算:数组赋值A=B;数组表达式A+B(对应元素相加);数组与标量A-5( 每个元素减5) ;数组作为内在函数的实元 B=ABS(A) B 与 A 形状相同。数组内在函数:求数组大小SIZE(A); 求数组最大值元素MAXVAL(A);求数组最小值元素 MINVAL(A); 求数组最大值元素下标 MAXLOC(A);求数组最小值元素下标 MINLOC(A).; 数组各元素之和 SUM(A);数组各元素之积 PRODUCT(A);求数组维的下界 LBOUND(A);求数组维的上界 UBOUND(A);数组转置TRANSPOSE(A).屏

13、蔽数组赋值:如WHERE(A<0)B=0(相应元素)第8章字符型数据:字符常量: '' 或 ''''之间的若干字符字符变量(特有长度属性) :如 CHARACTER(LEN=10,KIND=2):A字符子串:字符变量名( e1:e2 )如 NAME=''DAQINGPETROLUEM''则 NAME(1:6)='DAQING'字符表达式:指用字符运算符吧字符常量、字符变量或字符数组元素等字符型数据连接起来的有意义的式子。字符运算符只有一个,就是字符连接符“/ ”。如'HE'/&

14、#39;LLO'='HELLO'字符关系表达式, 比较按字符的代码进行。 两字符串比较,以第一次出现不同字符的比较结果为准,字符个数不够时以空格补齐。字符函数:求字符长度函数LEN(String)或 LEN-TRIM(String);除去字符串尾部空格函数TRIM(String);字符与字符序号相互转化,字符向字符序号ICHAR(CH)或 IACHAR(CH),字符序号向字符 CHAR(I)或 ACHAR(I); 子串位置函数 INDEX(String1 ,String2),String2是 String1的子串,结果为正整数表示String2在 String1最左边的

15、子串的起始位置;字符串比较函数LGE(String1 ,String2)表示是 1 否大于等于2,LGT、LLE、LLT分别表示是否大于、是否小于或等于、是否小于;首、尾部空格调整函数调左函数(把空格全调到尾部)ADJUSTL(String) 或调右函数(把空格全调到首部)ADJUSTR(String)第9章派生类型和指针:派生类型:TYPE存取方式描述: 派生类型名成员组 i 类型说明ENDTYPE派生类型名 说明: TYPE(派生类姓名 ) :变量名 ,.指针: REALPOINTER:PT1,PT2PT1=>XPT1=>PT2表示 PT1指向 PT2 所指的目标, PT1和

16、PT2 都指向 Y;PT1=PT2表示将 PT2所指的目标的值赋给 PT1 所指的目标, X=Y。可以有多个指针指向同一个目标,但不允许一个指针同时指向多个目标。指针不但可以指向实型、整型目标,还可以指向字符型和逻辑型目标。第10章数据文件:OPEN(连接信息表)CLOSE(关闭信息表)UNIT=ut,ut是一个文件号,必须是无符号整数;FILE=fe,fe 是字符型数据,代表文件名;STATUS=ss,ss 是用户给出的字符串,表示文件的状态,可以是'OLD','NEW','REPLACE','SCRATCH','UNKNOW 缺省'ACCESS=as,as 是字符串,可为 'SEQUENTIAL顺序的 ' 缺省,'DIRECT 直接的 ' ;FORM=fm,fm是字符串,可为 'FORMATTEED有格式的 

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论