- 1、本文档共46页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
FORTRAN 95 第8章 函数 §8 函数 程序代码中需要重复的某个功能和重复使用某一段程序代码时,可用函数。 “函数”包括:自定义函数(function) 和子程序(subroutine) 自定义函数扩充库函数的功能 §8-1 子程序(SUBROUTINE) §8-1 子程序(SUBROUTINE) 以subroutine 开头,要取名。以return 返回;end或end subroutine 或end subroutine name结束 用call 来调用 主程序不一定要放在最开头,书写顺序可任意 子程序独立地拥有属于自己的变量声明;主程序和子程序中声明的变量各不相干 子程序拥有独立的行代码(format 等用) 互相之间传递参数 变量独立 传递参数 §8-1 子程序(SUBROUTINE) Fortan在传递参数时,是地址调用,即调用时所传递出去的参数和子程序中接受的参数使用相同的内存地址来记录数据。可以视为同一变量。 例:以初速度和角度,计算标枪的投射距离 §8-2 自定义函数(FUNCTION) 与子程序的不同: 1)调用前要声明; 2)会返回一个数值,并对储存返回值的函数名声明; 调用时不用call 投标程序改写: §8-3 全局变量(COMMON) 定义一块共享的内存空间,不同的程序单元之间(函数之间,函数与主程序之间),声明的变量使用相同的内存位置,以传递参数。 FORTRAN 77使用 两种:1)有名无名公用区;2)有名公用区 §8-3-1 COMMON 的使用 §8-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)一个程序只有一个无名公用区; §8-3-1 COMMON 的使用 对应关系: §8-3-1 COMMON 的使用 4)各程序单位COMMON中的变量类型必须按位置一一对应 5)各程序单位中,无名公用区的变量数可以不同,从起始位置开始对应 COMMON A, B, C, D, E, F COMMON N1, N2,N3, N4,N5, F 6)字符变量不能和其他变量共用一个公用区 §8-3-1 COMMON 的使用 有名公用区: COMMON /N1/A1, A2,…/N2/B1, B2, …, … §BLOCK DATA COMMON中的变量不能使用接在子程序或主程序中的data来赋初值,要在block data程序模块中使用data设置初值。 §8-4函数中的变量 8-4-1 传递参数的注意事项 SUBROUTINE NAME(虚拟参数,… ) Call name (实在参数,… ) 函数或子程序的虚参数,在调用前不配置内存,只是形式。调用时,与实参按地址结合。退出子程序时,虚参又变得无定义。 §8-4-1 传递参数的注意事项 类型匹配 可以直接传递常数,常量的类型也要匹配 §8-4-2 数组参数 1)传递数组参数实际上传递的是数组元素的内存地址 函数所接受到的数组参数,都在函数执行前已经配置好内存空间,函数中的声明只是定义如何去使用它们,可以使用其中一部分;把一维变成二维;改变坐标范围等。 2)函数数组参数传递时,虚参数组不要超过实参数组的范围。编译器不会辨别,但执行会出错. 3) 数组在声明时,要使用常数来确定数组的尺寸,当作为函数的虚参,可用变量来声明数组的尺寸。 4)作为函数虚参的多维数组,最高一维的大小可以不声明,其他维必须声明尺寸。 §8-4-2 数组参数 §8-4-2 数组参数 数组虚参的尺寸用变量声明 例2,数组作为函数的虚参时,可用变量来声明数组尺寸,最高维尺寸甚至可以不设置,但不能超过实参数组的范围 字符串数组的传递:传递字符串变量时可以不声明长度 多维数组的传递:最高一维的大小可以不声明,其他维必须声明尺寸 字符串数组的传递 §8-4-3 变量的生存周期 函数中的变量(不含所输入的参数)的生存时间,仅在子程序被调用期间。 声明中用SAVE,可保证程序整个执行过程中,始终保留其内存空间,上一设置的内容有记忆。 §8-4-4 传递函数 传递的参数可以是函数名(function,subroutine)
您可能关注的文档
- Ebsco全文数据库专用课件.ppt
- EDV-136型全功能电动光纤端面清洁器供参习.doc
- EE分析和录取难易供参习.doc
- EE主要分支方向解析供参习.doc
- ELS-智能(消防)疏散应急照明系统简介供参习.doc
- Eljopoc新编日语第一册的语法供参习.doc
- EKL4型短路故障指示器安装使用说明书(简版)--北京恒源利通电力技术有限公司供参习.doc
- EAP探索专用课件.ppt
- EJB简介专用课件.ppt
- EN 397:1995+A12000 工业用安全帽(翻译)供参习.doc
- 2025年广西中考地理二轮复习:专题四+人地协调观+课件.pptx
- 2025年广西中考地理二轮复习:专题三+综合思维+课件.pptx
- 2025年中考地理一轮教材梳理:第4讲+天气与气候.pptx
- 第5讲+世界的居民课件+2025年中考地理一轮教材梳理(商务星球版).pptx
- 冀教版一年级上册数学精品教学课件 第1单元 熟悉的数与加减法 1.1.6 认识1-9 第6课时 合与分.ppt
- 2025年中考一轮道德与法治复习课件:坚持宪法至上.pptx
- 2025年河北省中考一轮道德与法治复习课件:崇尚法治精神.pptx
- 八年级下册第二单元+理解权利义务+课件-2025年吉林省中考道德与法治一轮复习.pptx
- 精品解析:湖南省娄底市2019-2020学年八年级(上)期中考试物理试题(原卷版).doc
- 2025年中考地理一轮教材梳理:第10讲+中国的疆域与人口.pptx
最近下载
- 《市政排水管道气囊封堵施工规程》.pdf
- TOPRAAD920印刷模切开槽机.pdf VIP
- 单相整流电路建模与仿真.doc VIP
- 缺血性脑血管病临床管理指南解读.pptx VIP
- 工程概算预算审核方案(3篇).docx VIP
- 神经重症气管切开患者气道功能康复与管理专家共识2024.pptx VIP
- 2025年监理工程师之监理概论考试题库及答案(名师系列).docx VIP
- 2025年监理工程师之监理概论押题练习试卷B卷附答案 .pdf VIP
- 2025年监理工程师之监理概论考试题库及完整答案(必刷).docx VIP
- 2025年监理工程师之监理概论押题练习试卷A卷附答案 .pdf VIP
文档评论(0)