首页>结构工程师>复习指导>正文
一级结构工程师考试辅导:计算机应用基础辅导六

www.zige365.com 2010-4-21 14:00:46 点击:发送给好友 和学友门交流一下 收藏到我的会员中心
七、函数与子程序(过程)

  (一)内部函数

  内部函数是预先编制的一些常用函数或算法的过程,由FORTRAN语言提供,可以直接调用。内部函数调用时的一般形式是:

  内部函数名(实元表)

  实元表中元素的数据类型、个数是预先规定的。

  常用内部函数及其功能可查阅FORTRAN教材或用户手册。

  (二)语句函数

  1.语句函数的定义

  定义语句函数的语句称为语句函数语句。其一般形式为:

  函数名(形参表)=表达式。

  其中,函数名的命名规则与一般变量名相同,所以它也可以用类型说明语句等来说明。形参又称哑元,是一些变量名,一般应出现在表达式中。

  语句函数在程序单位中的位置,应在所有可执行语句之前。

  2.语句函数的调用

  调用语句函数的结果是得到一个函数值,因此,调用语句函数时代之以实际变量(又 称实元)。

  (三)函数子程序

  一个函数子程序是一个独立的FORTRAN程序单位。它的第一个语句必须是FUNCTION语句,最后一个语句必须是END语句。即函数子程序的一般结构为:

  [类型说明]FUNCTION函数名(形参表)

  语句块

  [RETURN]

  END

  也可以写为:FUNCTION函数名(形参表)

  [类型说明 函数名]

  语句块

  [RETURN]

  END

  其中函数名的命名规则与变量相同,而函数名的类型决定了函数值的类型。在函数子程序中,形参可以是变量名、数组名、外部过程名,而形参的命名与类型说明也与变量相同,形参数组也必须在函数子程序中予以定义.

  函数子程序的函数值由函数名带回到调用该函数子程序的程序,因此,在函数子程序中必须对函数名赋值。在函数子程序中,函数名应该像普通变量那样来使用。

  在函数子程序中,所有的名字、语句标号都可以和其他程序单位中的相同而彼此没有任何关系。

  在函数子程序中,END语句的功能有两个:一是表示该程序单位的结束,二是具有返回语句RETURN的功能。函数子程序中必须有并且只有一个END语句,而且只能是子程序的最后一个语句。当在子程序的其他位置须要返回时,可以使用RETURN

  语句。

  (四)子程序

  1.子程序的结构

  一个子程序是一个独立的FORTRAN程序单位。子程序的第一个语句必须是SUBROUTINE语句,最后一个语句必须是END语句。

  即子程序的一般结构为:

  SUBROUTINE子程序名(形参表)

  语句块

  [RETURN]

  END

  SUBROUTINE语句中的形参表可以省略。这时子程序名后的括弧不要保留。对子程序的其他有关规定与函数子程序相同。

  2.子程序的调用

  子程序调用通过CALL语句实现。其形式为:

  CALL子程序名(实参)

  其他有关对子程序的调用规定与函数子程序相同。

  八、程序单位间的数据传递

  (一)虚实结合

  虚实结合又称哑实结合,是各程序单位(主程序和各种过程如函数子程序)之间传递数据的一种重要途径。

  1.变量的虚实结合

  当子程序等过程的形参为变量时,则在调用时所对应的实参可以是类型相同的常数、变量、数组元素或表达式;子程序调用后,其运行的结果通过这些实参返回到调用者。在FORTRAN 77中,当形参变量所对应的实参是变量或数组元素时,则它们之间的结合方式是地址结合;而当形参变量所对应的实参是常数或表达式时,其结合方法对于不同的

  FORTRAN系统有可能是不同的。

  2.数组的虚实结合

  当子程序中的形参为数组名时,则在调用时所对应的实参必须是数组名或数组元素。如果实参是数组名,则实参数组与形参数组按地址结合,实参数组与形参数组都从第一个元素开始按列逐个对应。例如,有主程序与子程序如下:

  PROGRAMMAIN

  INTEGERA(0:5)

  …

  CALLSB(A)

  END

  SUBROUTINESB(B)

本新闻共3页,当前在第1页  1  2  3  

我要投稿 新闻来源: 编辑: 作者:
相关新闻
一级结构工程师考试辅导:计算机应用基础辅导五
一级结构工程师考试辅导:计算机应用基础辅导四
一级结构工程师考试辅导:计算机应用基础辅导三
一级结构工程师考试辅导:计算机应用基础辅导二
一级结构工程师考试辅导:计算机应用基础辅导一