fortran常用字符标识
- 格式:pdf
- 大小:242.99 KB
- 文档页数:22
说明项3中内容:UNIT=N,ERR=BH, IOSTAT=M ERR=BH,IOSTAT=M 可以省略
4 FORTRAN77关系运算符
.GT. 大于 .GE. 天于或等于 .LT. 小于 .LE. 小于或等于 .EQ. 等于 .NE. 不等于 .AND. 逻辑与 .OR. 逻辑或 .NOT. 逻辑非 .EQV. 逻辑等
.NEQV. 逻辑不等 运算符优先级由高到低顺序为:()→**→*或/→+或-→.GT.或.GE.或.LT.或.LE. 或.EQ.或.NE.→.NOT.→.AND.→.OR.→.EQV.或.NEQV
LGE(X1,X2) LGT(X1,X2) LLE(X1,X2) LLT(X1,X2)
如果字符串 X1≥X2则等于.TRUE.,否则等于.FALSE. 如果字符串 X1>X2则等于.TRUE.,否则等于.FALSE. 如果字符串 X1≤X2则等于.TRUE.,否则等于.FALSE. 如果字符串 X1<X2则等于.TRUE.,否则等于.FALSE.
2.5 使用 DATA 语句给数组赋初值
变量表中可出现变量名,数组名,数组元素名,隐含 DO 循环,但不许出现任何形式 的表达式:例如 DATA A,B,C/-1.0,-1.0,-1.0/ DATA A/-1.0/,B/-1.0/,C/-1.0/ DATA A,B,C/3*-1.0/CHARACTER*6 CHN(10) DATA CHN/10*' '/INTEGER NUM(1000) DATA (NUM(I),I=1,500)/500*0/,(NUM(I),I=501,1000)/500*1/
IF (逻辑表达式1) THEN 程序块1 ELSE IF (逻辑表达式2) THEN 程序块2 ELSE IF (逻辑表达式2) THEN 程序块2 ...... ELSE IF (逻辑表达式 N) THEN 程序块 N ELSE 程序块 N+1 END IF
7 FORTRAN77循环语句
7.1 GO TO 语句
2.1 隐含约定:I-N 规则
凡是以字母 I,J,K,L,M,N 六个字母开头的,即认为是整型变量,其它为实 型变量。
2.2 用类型说明语句确定变量类型:可以改变 I-N 规则
INTEGER REAL DOUBLE PRECISION COMPLEX
LOGICAL
CHARACTER*N
整型
实型
双精度实型
READ *,X 1,X2
输入语句
*号是指表控格式语句的行号,如不指定则用默认格式
FORMAT(格式符) 请见附录一。
请见附录二。
END
结束程序或子程序
STOP [N] 结束程序并输出信息[N]
[N]为数字或字符串信息
PAUSE [N]
暂停程序执行并输出信息[N],输 [N]为数字或字符串信息
入回车后继续执行
PARAMETE R (PI=3. 14)
参数语句,用来定义常量,在程 序中应放在类型说明语句之后
EQUIVALENCE (变量表)
等价语句,()内变量共用一个存 EQUIVALENCE(X1,X2,…XN),(X1,X2,…XN),…
储单元。
COMMON X1,……
公用语句,其后变量相等,用来 在程序单位间传递数据,同时可 以用来说明数组。程序中可有一 个无名公用区和多个有名公用 区。
9 FORTRAN77函数与子程序
9.1 FORTRAN77语句函数
• 当函数十分简单,用一条语句足以定义时(允许使用继续行)才用; • 应该放在所有可执行语句之前和有关类型说明语句之后,是非执行语句; • 只在其所在程序单位中有意义; • 语句函数中的虚参就是变量名,不能是常量、表达式或数组元素等; • 语句函数定义语句中的表达式可以包含已经定义过的语句函数、外部函数或内部函数。
说实话,从科技发展的趋势来说这不是好事。您可以设想一下,如果需要用鹅毛 笔抄写大量的古籍是什么感受! 强烈建议阅读《发掘 C#特性赋予科学计算项目以威力》
1 FORTRAN77四则运算符
+ - * / ** (其中**表示乘方) 在表达式中按优先级次序由低到高为: +或-→*或/→**→函数→()
2 FORTRAN77变量类型
5 FORTRAN77语句
语句
说明
备注
WRITE(*, *) X1,X2
输出语句
第一个*号是指输入输出文件设 备号或其它设备,如果不指定则 是指显示器或打印机,第二个*号 是指表控格式语句的行号,如不 指定则用默认格式
PRINT *, X1,X2
输出语句
*号是指表控格式语句的行号,如不指定则用默认格式
CLOSE (说明项
关闭已打开文件
2) REWIND (说明项
将文件读写指针置于文件开头
3)
2, FORM=STR3, RECL=C, BLANK= STR4, ERR=BH, IOSTAT=M 其中: 1.N=1~99; 2.NAM 为文件名,可以是字符常量 或变量; 3.STR1='NEW'时新建文件;'OLD' 时打开文件;'SCRATCH'时表示临 时文件,关闭时自动删除,且不能 与 FILE=NAM 项共存;'UNKNOWN' 时由计算机系统规定文件状态; 4.STR2为文件存取方式,'SEQUEN TIAL'表示顺序存取,'DIRECT'表 示直接存取,省略此项时表示按 顺序存取; 5.STR3为记录格式说明,'FORMAT TED' 表示 记录按有 格式形式 存 放, 'UNFORMATTED'表示记录按 无格式形式存放。省略此项时,对 于顺序文件是有格式的,对于直 接存取文件是无格式的; 6.C 表示记录长度,以字节为单 位,直接存取文件必指定,顺序文 件必省略; 7.STR4表示数字值格式输入字段 中空格含意,'NULL'时表示忽略 不计,'ZERO'时表示按0计。省略 此项时按0计; 8.BH 表示出错时处理语句行标 号,可以省略此项; 9.M 为整数,出错时返回该整数, 可以省略此项。
2.3 用 IMPLICIT 语句将某一字母开头的全部变量指定为所需类型 如 IMPLICIT REAL (I,J)
三种定义的优先级别由低到高顺序为:I-N 规则→IMPLICIT 语句→类型说明语 句,因此,在程序中 IMPLICIT 语句应放在类型说明语句之前。
2.4 数组的说明与使用
使用 I-N 规则时用 DIMENSION 说明数组,也可在定义变量类型同时说明数组,说 明格式为:数组名(下标下界,下标上界),也可省略下标下界,此时默认为1,例: DIMENSION IA(0:9),ND(80:99),W(3,2),NUM(-1:0),A(0:2,0:1,0:3) REAL IA(10),ND(80:99)使用隐含 DO 循环进行数组输入输出操作:例如 WRITE(*,10) ('I=',I,'A=',A(I),I=1,10,2) 10FORMAT(1X,5(A2,I2,1X,A2,I4))
标号程序行 程序块 GO TO 标号
7.2 DO 语句
DO 标号,记数变量=起始值,终止值,步距”语句,如 DO 标号,N=1,100,1 程序块 标号 CONTINUE
7.3 DO WHILE 语句
DO 标号,WHILE(PI.EQ.3.14159) 程序块 标号 CONTINUE
7.4 DO UNTIL 语句
复型,赋值形式为(实部,虚部),如 D=(8.76E+0.5,67.8E-3),C=(3.0,6.3),如果含表达式则用 CMPLX,如 C=CMPLX(3.0*A,6.0+B)
逻辑型,逻辑常量有“T”和“F”,“T”表示“.TRU E.”,“F”表示“.FALSE.”
字符型,N 为字符串长度,可以在变量名称后重新指定 长度,如 CHARACTER*8 STR1,STR2*10 ,赋值形式为 ST R2='I''M A BOY.'
DO 标号,UNTIL (逻辑表达式)”语句,如 DO 标号,UNTIL(PI.GT.3.14159) 程序块 标号 CONTINUE
8 FORTRAN77内部函数
INT(X) REAL(X) DBEL(X) CMPLX(X) CHAR(X) ICHAR(X) AINT(X) ANINT(X) NINT(X)
INDEX(X1,X2)
返回 X 的绝对值 返回 X1/X2的余数 取 X2的符号,取 X1的绝对值 当 X1>X2时,等于 X1-X2,当 X1≤X2时,等于0 双精度乘(X1,X2均为实数) 返回字符串 X 的虚部 返回字符串 X 的共轭 返回 X1,X2,X3,...,XN 中最大值 返回 X1,X2,X3,...,XN 中最小值 返回 X 的平方根(X≥0) 返回 E 的 X 次方 返回以 E 为底的 X 的对数即自然对数(X>0) 返回以10为底的 X 的对数即常用对数(X>0) 返回弧度值 X 的正弦值 返回弧度值 X 的余弦值 返回弧度值 X 的正切值 返回弧度值 X 的反正弦值 返回弧度值 X 的反余弦值 返回弧度值 X 的反正切值 返回 X 的双曲正弦值 返回 X 的双曲余弦值 返回 X 的双曲正切值 返回字符串 X 的长度 返回字符串 X2在字符串 X1中的位置,不包含时返回 0
将数字串或数值 X 转换为整型数 将数字串或数值 X 转换为实型数 将数字串或数值 X 转换为双精度型数 将数字串或数值 X 转换为复型数 将数值 X 转换为字符(0≤X≤255) 将字符 X 转换为整数 截去 X 的小数部分 将 X 舍入到最接近的整数 将 X 舍入到最接近的整型数