函数子程序的定义「函数头,也称为unom语句 定义形式: [类型说明] function函数名(虚参) 函数体 注: end ()函数名既是该函数的名字又代表该函数的函数值, 故函数名有类型,其类型既可隐式说明也可显式定义 (2)函数名后圆括号中为函数的虚参,多个虚参用逗号 隔开,没有虚参时括号不能省略。 虚参的类型既可隐式说明也可显式定义。显式完义时, 虚参的类型定义语句是放在函数体中的。 虚参可以是变量、数组或子程序名。 51子程序 2021/2/24
6 2021/2/24 一、函数子程序的定义 定义形式: 注: ⑴ 函数名既是该函数的名字又代表该函数的函数值, 故函数名有类型,其类型既可隐式说明也可显式定义。 ⑵ 函数名后圆括号中为函数的虚参,多个虚参用逗号 隔开,没有虚参时括号不能省略。 虚参的类型既可隐式说明也可显式定义。显式定义时, 虚参的类型定义语句是放在函数体中的。 虚参可以是变量、数组或子程序名。 [类型说明] function 函数名(虚参) end 函数体 函数头,也称为function语句 §1 子程序
函数子程序的定义「函数头,也称为unom语句 定义形式: [类型说明] function函数名(虚参) 函数体 注 end ()函数体中语句排列顺序与主程序相同,即说明语句 在前,执行语句在后。 个程序单元(主程序或子程序)中语句的具体顺序参 见教材p328附录工。 51子程序 2021/2/24
7 2021/2/24 一、函数子程序的定义 定义形式: 注: ⑶ 函数体中语句排列顺序与主程序相同,即说明语句 在前,执行语句在后。 一个程序单元(主程序或子程序)中语句的具体顺序参 见教材p328附录Ⅱ。 [类型说明] function 函数名(虚参) end 函数体 函数头,也称为function语句 §1 子程序
附录工一个程序单元中语句的顺序 8 program, function, subroutine, block data语句 注 implici语句 释 ormat parameter语句 其它说明语句 行语句 data语句 语句函数语句 可执行语句 end语句 交出句可以任地与mp句和基资明 data语句可以任意地与语句函数语句和可执行语句交替 出现。 51子程序 2021/2/24
8 2021/2/24 §1 子程序 注 释 行 program, function, subroutine, block data语句 format 语句 parameter语句 implicit语句 其它说明语句 data语句 语句函数语句 可执行语句 end语句 附录Ⅱ 一个程序单元中语句的顺序 parameter语句可以任意地与implicit语句和其它说明 语句交替出现。 data语句可以任意地与语句函数语句和可执行语句交替 出现
函数子程序的定义「函数头,也称为 Function语句 定义形式: 类型说明] function函数名(虚参, 函数体 注 end (4)函数体下面的end语句表示结束本子程序,返回到调 用它的程序单元。 若在函数体中间返回,需用 return语句 (5)在返回前,须将需要返回的计算结果赋给函数名。 即函数名至少要在函数体中被赋值一次。 赋值形式:函数名=计算结果 51子程序 2021/2/24
9 2021/2/24 一、函数子程序的定义 定义形式: 注: ⑷ 函数体下面的end语句表示结束本子程序,返回到调 用它的程序单元。 若在函数体中间返回,需用return语句。 ⑸ 在返回前,须将需要返回的计算结果赋给函数名。 即函数名至少要在函数体中被赋值一次。 赋值形式:函数名=计算结果 [类型说明] function 函数名(虚参, …) end 函数体 函数头,也称为function语句 §1 子程序
(6)函数子程序是一个独立的程序单元,函数体内所用10 的变量、语句标号等的作用范围仅局限于本子程序内。 每个函数子程序仅通过函数名和虚参或公用区)与其它 的子程序以及主程序建立联系。 小结: Fortran77中有三种形式的函数 ◆内部函数:是 Fortran系统自己提供的函数,如:abs、 sqrt等函数。 ◆语句函数:用一个语句定义的函数,只能被其所在的 程序单元使用。 ◆函数子程序,即外部函数:用户定义的子程序,可以 被其它子程序、主程序调用,但不能自己调用自己。 51子程序 2021/2/24
10 2021/2/24 ⑹ 函数子程序是一个独立的程序单元,函数体内所用 的变量、语句标号等的作用范围仅局限于本子程序内。 每个函数子程序仅通过函数名和虚参(或公用区)与其它 的子程序以及主程序建立联系。 小结:Fortran77中有三种形式的函数 内部函数: 语句函数: 函数子程序,即外部函数: 是Fortran系统自己提供的函数,如:abs、 sqrt等函数。 用一个语句定义的函数,只能被其所在的 程序单元使用。 用户定义的子程序,可以 被其它子程序、主程序调用,但不能自己调用自己。 §1 子程序