fortran课件 第7章_1.ppt

  1. 1、本文档共46页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
fortran课件 第7章_1

FORTRAN 95 第7章 函数 §7 函数 程序代码中需要重复的某个功能和重复使用某一段程序代码时,可用函数。 “函数”包括:自定义函数(function) 和子程序(subroutine) 自定义函数扩充库函数的功能 §7-1 子程序(SUBROUTINE) §7-1 子程序(SUBROUTINE) 以subroutine 开头,要取名。以return 返回;end或end subroutine 或end subroutine name结束 用call 来调用 主程序不一定要放在最开头,书写顺序可任意 子程序独立地拥有属于自己的变量声明;主程序和子程序中声明的变量各不相干 子程序拥有独立的行代码(format 等用) 互相之间传递参数 变量独立 传递参数 §7-1 子程序(SUBROUTINE) Fortan在传递参数时,是地址调用,即调用时所传递出去的参数和子程序中接受的参数使用相同的内存地址来记录数据。可以视为同一变量。 例:以初速度和角度,计算标枪的投射距离 §7-2 自定义函数(FUNCTION) 与子程序的不同: 1)会返回一个数值,并对储存返回值的函数名要有类型声明; 2)调用时不用call,但调用前要对自定义函数名声明; 投标程序改写: §7-3 全局变量(COMMON) 定义一块共享的内存空间,不同的程序单元之间(函数之间,函数与主程序之间),声明的变量使用相同的内存位置,以传递数据。 FORTRAN 77使用 两种:1)无名公用区;2)有名公用区 §7-3-1 COMMON 的使用 §7-3-1 COMMON 的使用 无名公用区的规则和特点: 1)COMMON语句必须在所有可执行语句之前,说明变量名、数组名和数组说明符; COMMON A, B, NP(15), LOC(2,4) 等同于 DIMENSION NP(15), LOC(2,4) COMMON A, B, NP, LOC 2) 虚拟参数不能使用; 3)一个程序只有一个无名公用区,可以分次定义; §7-3-1 COMMON 的使用 对应关系: §7-3-1 COMMON 的使用 4)各程序单位COMMON中的变量类型必须按位置一一对应 5)各程序单位中,无名公用区的变量数可以不同,从起始位置开始对应 COMMON A, B, C, D, E, F,G COMMON N1, N2,N3, N4,N5, F 6)字符变量不能和其他变量共用一个公用区 §7-3-1 COMMON 的使用 有名公用区: COMMON /Name1/A1, A2,…/Name2/B1, B2, …, … §BLOCK DATA COMMON中的变量不能使用接在子程序或主程序中的data来赋初值,要在block data程序模块中使用data设置初值。 §7-4 函数中的变量 7-4-1 传递参数的注意事项 SUBROUTINE NAME(虚拟参数,… ) Call name (实在参数,… ) 函数或子程序的虚参数,在调用前不配置内存,只是形式。调用时,与实参按地址结合。退出子程序时,虚参又变得无定义。 §7-4-1 传递参数的注意事项 类型匹配 可以直接传递常数,常量的类型也要匹配 §7-4-2 数组参数 1)传递数组参数实际上传递的是数组元素的内存地址 函数所接受到的数组实参,都在函数执行前已经配置了内存空间,函数中的声明只是定义如何去使用它们,可以使用其中一部分;把一维变成二维;改变坐标范围等。 2)函数数组参数传递时,虚参数组不要超过实参数组的范围。编译器不会辨别,但执行会出错. 3) 数组在声明时,要使用常数来确定数组的尺寸,当作为函数的虚参,可用虚参变量来声明数组的尺寸。 4)作为函数虚参的多维数组,最高一维的大小可以不声明,其他维必须声明尺寸。 §7-4-2 数组参数 实参是数组 §7-4-2 数组参数 可调数组虚参,尺寸用虚参量声明 例2,数组作为函数的虚参时,可用虚参量来声明数组尺寸,最高维尺寸甚至可以不设置,但不能超过实参数组的范围 字符串数组的传递:传递字符串变量时可以不声明长度 多维数组的传递:最高一维的大小可以不声明,其他维必须声明尺寸 字符串数组的传递 §7-4-3 变量的生存周期 函数中的变量(不含所输入的参数)的生存时间,仅在子程序被调用期间。 声明中用SAVE,可保证程序整个执行过程中,始终保留其内存空间,上一设置的内容有记忆。 §7-4-

文档评论(0)

f8r9t5c + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

版权声明书
用户编号:8000054077000003

1亿VIP精品文档

相关文档