当前位置: 首页 > 结构工程师 > 结构工程师备考资料 > 一级基础科目(一)辅导---FORTRAN的程序构成和基本规定

一级基础科目(一)辅导---FORTRAN的程序构成和基本规定

更新时间:2009-10-19 15:27:29 来源:|0 浏览0收藏0

结构工程师报名、考试、查分时间 免费短信提醒

地区

获取验证 立即预约

请填写图片验证码后获取短信验证码

看不清楚,换张图片

免费获取短信验证码

  二、FORTRAN的程序构成和基本规定

  (一)程序构成

  一个完整的FORTRAN程序由一个主程序或一个主程序和若干个子程序组成。主程序与每个子程序都是一个独立的程序单位,称为一个程序模块。关于程序的构成,有如下一些基本规定。

  1.程序由若干行组成。

  2.在FORTRAN中,程序行分为语句行和注释行。

  (1)语句行由FORTRAN语句组成,包括执行语句和非执行语句。执行语句使计算机在运行时产生某些操作,如赋值语句、输入输出语句等。非执行语句为计算机在编译或运行时提供某种信息,本身不产生操作,如说明语句、格式语句等。

  (2)注释行又称为非语句行,在程序中起注释作用,便于程序的编写、修改和维护。

  3.FORTRAN规定,每个语句行只能写一个语句;但当语句长度超过规定的一行范围、或者为表达清晰起见需要将一个语句分行书写时,可以采用连续行。连续行的第一行称为始行,以后各行称为续行。 ?

  4.FORTRAN语句可以有标号。标号作为一个语句被其他语句引用的标志。在同一个程序单位中,不能出现相同的语句标号。

  5.程序单位的最后一行语句,必须是END语句。如果一个FORTRAN语句行与注释行的集合,最末没有END,可称其为一个语句块或程序段,但不能作为一个程序单位。

  (二)书写规则

  1.FORTRAN77的字符集由26个英文字母、10个数字和其他13个专用字符组成。

  2. 一个程序行有80列,每列写一个字符。

  3. 程序行的第1列如写上C或x,表示该行为注释行。注释内容可写在该行中除第1

  列外的任意位置。

  4.在语句行中,程序行的第1列至第5列为语句标号区,标号区内是最多为5位的无符号整数;程序行的第6列为续行区,若某行为续行,则标号区必须空白,且第6列为非0的任一FORTRAN77字符(不能为空格);第7列至第72列为语句区。

  例如,在边长为B的正方形中挖一个半径为R的圆,计算剩余的面积;若B<2R,

  则给出相关信息。该问题的FORTRAN程序可编写如下。

  C Computation of area.

  READ*,B,R

  IF(B.LT.2.*R)THEN

  WRITE(*,10)

  10 FORMAT(‘Error message:B less than 2*R’)

  ELSE

  WRITE(*,’(”AREA:”,F10.2)’)

  $ B*B―3.14159*R*R

  ENDIF

  END

  本例中,第1行为注释行,第5行为带标号的语句,第7―8行为连续行,符号$为续行标志。

 

更多信息请访问结构工程师频道    结构工程师论坛

?2009年结构工程师考试时间:9月19、20日
?08年考试规范、标准: 2008年一级注册结构工程师考试成绩查询汇总

 

  (三)常量与变量

  1.常量指程序中其值固定不变的一些量,包括以下6种类型。

  (1) 整形常量,也称整数。一个整数可采用正、负号和数字字符表示,正号可以省略。

  (2) 实型常量,也称实数。可以用小数形式或指数形式表示。用指数形式表示的实数。如11.3E5,+11.3E+5,1.E-12,-.23E12等。

  (3)双精度实型常量,或称双精度实数。双精度实数也是实数。但在一般的微型计算机中,实数的有效位数为7位,双精度实数的有效位数可以达到15~17位。双精度实数的表示方法,除在指数形式的表达中用字符D代替E以外,其余和实数相同。

  (4)复型常量,简称复数。在FORTRAN中,用一对圆括弧括起来的两个实数表示。如(12.0,-6.E2)表示复数12.0-600.0i

  (5)逻辑型常量。FORTRAN中的逻辑型常量有两个值:.TRUE.与.FALSE.

  (6)字符型常量,也称为字符串。计算机系统使用的若干个字符,用一对单引号括起来后就作为字符串。

  2.变量指在程序运行期间可以改变的量。

  (1)变量的类型与常量相对应,分为整型变量、实型变量、双精度实型变量、复型变

  量、逻辑型变量与字符串变量。

  (2)变量名按一定的规则命名。在FORTRAN中,变量名采用1至6个字符(数字或字母),其中第一个字符必须是字母。FORTRAN 77规定,变量名书写时不区别字母的

  大写与小写,例如ABc与aBC都指同一个变量。

  (3)变量类型的说明方法。

  1)I-N隐含规则。在程序单位中没有其他说明时,以字母I,J,K,L,M,N中的

  任一个字母打头命名的变量都是整型变量。

  2)用类型说明语句规定变量类型。例如:

  INTEGER A,COUNT

  REAL ICOUNT

  DOUBLEPRECISION XING

  COMPLEX DUP

  LOGICAL JUG

  CHARACTER FILENM

  分别表示变量A,COUNT为整型,ICOUNT为实型,XING为双精度实型,DUP为复制,JUG为逻辑型,FILENM为字符型变量,其长度为10个字符。

  3)用隐含说明语句IMPLICIT语句,可以将程序单位中以某一字母开头的所有变量指定为所需类型。例如:

  IMPLICIT INTEGER(A,C),REAL(1―K)

  指定了以A与C字母开头的所有变量都是整型变量,以字母I至K开头的所有变量为实型变量。

  类型说明语句和隐含说明语句只在本程序单位中有效;他们必须放在程序单位所有可执行语句的前面,而IMPLICIT语句又必须在所有的类型说明语句的前面。确定变量类型的三种方法中,类型说明语句的优先级最高,I-N规则的优先级最低。 

  (四)数组

  1.数组的定义

  有些互相关联的数据,作为单个变量处理并不方便。程序设计语言通常把这种相互关联的数据按一定的顺序关系组成一个集合,该集合称为数组;组成数组的基本单元称为数组元素,每一个数组元素对应一个数据.在FORTRAN中,使用数组前必须对数组进行定义,包括对数组命名;确定数组的类型;确定数组的维数及大小;指出数组各维下标的下限与上限。

  数组的命名规则与变量的命名规则相同。

  确定数组类型、维数及其大小的方法有以下两种。

  (1)用类型说明语句定义数组。例如:

  INTEGER X(-2:30),XYZ(1:20,0:15)

  定义了两个整型数组。其中X称为一维数组,下标的下限与上限分别为-2与30,即这个一维数组共有30-(-2)+1=33个元素,它们分别为:X(-2),X(-1),X(0),X(1),…,X(30);XYZ称为二维数组,第一个下标的下限与上限分别为1与20,第二个下标的下限与上限分别为0与15,即这个二维数组共有(20-1+1)×(15-0+1)=20×16=320个整型元素,它们分别为:

  XYZ(1,0),XYZ(1,1),…,XYZ(1,15)

  …………

  XYZ(20,0),XYZ(20,1),…,XYZ(20,15)

  字符型数组必须用类型说明语句定义。例如:

  CHARACTER OUT(10)

  数组OUT每个元素的长度都是8,即每个元素都可以存放8个字符。

  (2)用DIMENSION语句定义数组。这时,数组的类型按隐含规则确定,或者可以用类型说明语句再次说明其类型。例如:

  DIMENSION IM(-1:10),IA(0:100,-2:0),X(1:5)

  REAL IA

  INTEGER X

  其中,IM为一维整型数组,IA为2维实型数组,X为一维整型数组。

  当数组的下标下限为1时,可以省略说明下标下限。例如,下列数组说明

  DIMENSIONA(100),B(5,5)等价于DIMENSIONA(1:100),B(1:5,1:5)

  目前在许多微机上使用的FORTRAN 77子集中,数组的下标下限只允许为1,并且也只允许用省略下限的数组说明。

  数组说明语句必须放在所有可执行语句与DATA语句之前。

  2.数组在内存中的存储形式

  在FORTRAN中,数组的各元素是按顺序存储在计算机内存单元中的。特别需要注意的是2维和2维以上的多维数组中,各元素是以列为主存储的。

  例如,有一个二维数组I(1:2,1:3),该数组可以写成数表的形式

  I (1, 1) I (1, 2) I (1, 3) .

  I (2, 1) I (2, 2) I (2, 3)

  各元素的值为I(1,1)=1,I(1,2)=2,I(1,3)=-1,I(2,1)=20,I(2,2)=40,I(2,3)=50,在内存中存放的顺序是I(1,1),I(2,1),I(1,2),I(2,2),I(1,3),I(2,3),如果按内存存放顺序将这个数组的元素打印出来,数据的顺序将是:1, 20, 2, 40, -1, 50

  其他多维数组中的元素也是按同样规则存储的,即先存储第1列,再存储第2列,以此类推,最后存储数组中的最后一列。

  (五)各种运算符及其运算的优先级

  1.算术运算符。FORTRAN有五个算术运算符,它们是:

  加法运算符 +

  减法运算符 -

  乘法运算符 *

  除法运算符 /

  乘幂运算符 * *

  这五个算术运算符的运算顺序是:

  (1)乘幂运算符* *优先级最高;

  (2)乘法与除法运算符*,/优先级次之; ?

  (3)加法与减法运算符+,―优先级最低。 ’

  对于同一优先级的两个运算符,按“先左后右”的原则进行计算。

  2.关系运算符。FORTRAN有六个关系运算符,用于比较两个表达式相等或不等。它们是:

  大于 .GT.

  大于或等于 .GE.

  小于 .LT.

  小于或等于 .LE.

  等于 .EQ.

  不等于 .NE.

  经过关系运算符比较后,得到一个逻辑型的值。例如,整型变量I的值为10,J的值为12,则I.LT.J的结果为“真”(.TRUE.),而I.EQ.J的结果为“假”(.FALSE.)。

  3.逻辑运算符。FORTRAN有五个逻辑运算符,它们是: 。

  逻辑与 .AND. 两个逻辑型量都为“真”时,其值为“真”,否则为“假”;

  逻辑或 .OR. 两个逻辑型量都为“假”时,其值为“假”,否则为“真”;

  逻辑非 .NOT. 一个逻辑型量为“真”时,其值为“假”,否则为“真”;

  逻辑等 .EQV. 两个逻辑型量等值时,其值为“真”,否则为“假”;

  逻辑不等 .NEQV. 两个逻辑型量不等值时,其值为“真”,否则为“假”。

  逻辑运算符中,除了逻辑非运算符.NOT.只有一个运算对象外,其余四个逻辑运算符均有两个运算对象。

  逻辑运算符的优先级如下;

  (1).NOT.

  (2).AND.

  (3). OR.

  (4). EQV.与.NEQV. 这两个运算符按照先左后右的原则进行运算。

分享到: 编辑:环球网校

资料下载 精选课程 老师直播 真题练习

结构工程师资格查询

结构工程师历年真题下载 更多

结构工程师每日一练 打卡日历

0
累计打卡
0
打卡人数
去打卡

预计用时3分钟

结构工程师各地入口
环球网校移动课堂APP 直播、听课。职达未来!

安卓版

下载

iPhone版

下载

返回顶部