当前位置:首页 > 经典书库 > 工程师手册

FORTRAN语句

书籍:工程师手册

出处:按学科分类—工业技术 企业管理出版社《工程师手册》第832页(6172字)

1.赋值语句

形式如下

v=e

其中v为变量名或数组元素。e是一个表达式。不同类型数据的赋值规则见表3.2.2-1。

表3.2.2-1 不同类型数据的赋值规则(v=e)

2.终端输入输出语句

(1)表控格式的输入输出

①表控输出(又称自由格式输出)语句形式如下:

WRITE(*,*)输出项表

WRITE(*,*)

PRINT*,输出项表

PRINT*

其中输出项可以是常量、变量、表达式、字符串等,各项之间以逗号分隔。没有输出项时表示输出一个空行。

表控格式输出是按系统隐含规定的格式,将各输出项的值输出到系统隐含指定的设备(一般为终端显示器)上。

②表控输入(又称自由格式输入)

READ(*,*)输入项表

READ(*,*)

READ*,输入项表

READ*

其中输入项可以是变量名或数组名,各项之间以逗号分隔。没有输入项时要求输入一个空行。

输入时,各数据之间可以用逗号,空格或回车换行符分隔。输入数据的类型应与相应的变量类型一致。当输入数据的个数少于变量的个数时,计算机将继续等待用户输入;若输入的数据多于变量的个数时,多余数据弃之不用。

(2)有格式的输入输出

①格式输出语句

形式一:

WRITE (输出设备号,语句标号)输出项表

语句标号FORMAT(格式说明)

形式二:

PRINT 语句标号,输出项表

语句标号FORMAT(格式说明)

其中“语句标号”为一个FORMAT语句的标号,此FORMAT语句规定了输出数据的格式(见FORMAT语句)。“输出设备号”可以用数字1-99或、*号来表示,*号代表系统隐含指定设备。通常用6来代表终端显示器。

WRITE语句用FORMAT语句指定的格式向指定设备输出数据,输出数据中的第一个字符将作为走纸控制符被“吃掉”。走纸控制符功能见表3.2.2-2。

表3.2.2-2 走纸控制符

③格式输入语句

形式一:

READ (输入设备号,语句标号)输入项表

语句标号 FORMAT(格式说明)

②FORMAT语句和格式编辑符

FORMAT语句的形式:

语句标号 FORMAT(格式说明)

其中“语句标号”为相应用输入输出语句中引用的标号。“格式说明”由各种格式编辑符组成,各编辑符之间以逗号分隔。常见格式编辑符见表3.2.2-3。

表3.2.2-3 常用格式编辑符

形式二:

READ 语句标号,输入项表

语句标号 FORMAT(格式说明)

其中“语句标号”为一个FORMAT语句的标号,此FORMAT语句规定了输入数据的格式(见FORMAT语句)。“输入设备号”可以用数字1~99或*号来表示,*号代表系统隐含指定设备。通常用5来代表终端键盘。

READ语句用FORMAT语句指定的格式从指定设备上读入数据赋给相应的输入项。

(3)在输入输出语句中包含格式说明

语句形式如下:

WRITE (输出设备号,格式说明)输出项表

PRINT 格式说明,输出项表

READ (输入设备号,格式说明)输入项表

例如:

WRITE (*,′(Ix,F10.2,15)′)X,M

相当于:

WRITE (*,100)x,M

100 FORMAT(1x,F10.2,15)

3.END、STOP和PAUSE语句

(1)END语句

格式如下:

END

在编译时遇到END语句,标志本程序单位的结束;运行时,在主程序中遇到END语句,使程序停止运行,在子程序中遇到END语句,使流程返回调用程序。

(2)STOP语句

格式如下:

STOP n

其中n为可选项,是不超过5位的数字或字符串。

该语句停止程序运行并显示n的值。

(3)PAUSE语句

格式如下:

PAUSE n

其中n为可选项,可以是不超过5位的数字或字符串。

该语句暂停程序运行,并显示n的值。暂停后恢复运行的方法随系统而异。

4.分支语句

(1)GOTO语句

格式如下:

GOTO 语句标号

(2)计算GOTO语句

格式如下:

GOTO (S1,S2,…,Sn),e

其中(S1,S2,…,Sn),e代表n个语句标号,e是整型算术表达式。e之前的逗号可省略。

该语句根据e的值决定程序的转向。当e的值为1时,转向标号为S1的语句;当e的值为n时,转向标号为Sn的语句。若e的值不在1~n的范围内,则顺序执行此GO TO语句的下一条语句。

(3)赋标号语句和赋标号GOTO语句

①赋标号语句格式如下:

ASSIGN 标号 TO v

该语句将语句标号赋给整型变量v。

②赋标号GO TO语句格式如下:

GOTO v,(S1,S2,…Sn)

其中V是一个整型变量,S1,S2,…Sn代表n个语句标号。V后的逗后可省略。

该语句根据v的值确定程序的转向。若v的值等于S1~Sn其中之一时,则转向相应的标号;即当v的值等于S1时,转向标号为S1的语句。若v的值与这n个值都不相等,则顺序执行此GOTO语句的下一条语句。

(4)算术IF语句

格式如下:

IF (e)S1,S2,S3

其中e是一个算术表达式,S1,S2,S3为语句标号。

该语句根据e的值确定程序的转向。若e的值小于零,执行标号为S1的语句;e的值等于零,执行标号为S2的语句;e的值大于零,执行标号为S3的语句。

(5)逻辑IF-语句

格式如下:

IF (e) S

其中e为一关系表达式或逻辑表达式,S为一条可执行语句。

当e的值为“真”时,执行语句S。

(6)块IF语句

块IF语句有以下三种格式:

其中e为一个关系表达式或逻辑表达式,if块,else if块,else块都可以是一组语句。每个块IF语句中的IF和END IF必须配对。

语句功能见图3.2.2-1。

图3.2.2-1 块IF语句功能

5.循环结构

(1)DO循环

格式如下:

其中1是循环终端语句的语句标号,1后的逗号可省略。v为循环变量名,可以是整型、实型或双精型。e1,e2,e3是算术表达式,分别代表循环变量的初值,终值和增量(又称步长)。当增量为1时,e3和前边的逗号可省略。

DO循环的执行过程见图3.2.2-2。

图3.2.2-2 DO循环的执行过程

(2)CONTINUE 语句

格式如下:

CONTINUE

该语句为空操作,多用作循环终端语句。

6.PARAMETER语句和DATA语句

(1)PARAMETER语句

格式如下:

PARAMETER (P1=C1,P2=C2…)

其中P1,P2,…为符号常数名,其命名方法与变量相同。C1,C2,…是由常数和已定义过的符号常数组成常数表达式。

该语句用以指定本程序单位中的某些名字为符号常量。符号常量可用于除FORMAT语句,语句标号,复型常数以外的任何出现常量的地方,例如:

PARAMETER (PI=3.,415、ALFA=30.0)

X=ALFA*PI/180.0

(2)DATA语句

格式如下:

DATA list1/datal/、list2/data2/,

其中list1,list2.…为变量名表,可以含变量名、数组名、数组元素和隐含DO循环,各项之间以逗号隔开。data1,data2,…代表常数表,各常数之间以逗号分隔。

该语句用于在编译期间给变量赋初值。例如:

DATA A,B、C,D/3.0,2.8,5.7,6.9/

DATA M/10/,x/5.825/

DATA(A(1).1=1,10,2)/2.4,6,8.10

分享到: