- 1、本文档共19页,可阅读全部内容。
- 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子程序113
* * 第 九 章 数组 第 十 章 语句函数 第十二章 数据共用存储单元 和数据块子程序 第十三章 文件 第十一章 子程序 Fortran程序往往由一个主程序和若干个子程序组成。 write(*,*) y(5.0),y(0.0),y(-6.0) end real function y(x) if(x.gt.0.0) then y=1.0 else if(x.eq.0.0) then y=0.0 else y=-1.0 end if end 一、 函数子程序 类型说明 子程序标志 函数名(虚参) 主程序 函数子程序 (外部函数) 函数子程序必须以function 语句开头,end语句结束。 Fortran的子程序有函数子程序、子例行子程序和数据块子程序三种。 子程序可以被主程序调用,也可以被其他子程序调用。Fortran77中的子程序不能递归调用。 说明: 1. 函数名的取名方法与变量 名同,遵循I—N隐含约定, 否则需采用类型说明语句。 function myabs(x) real myabs . 定义法二 2. 函数名后的虚参可以是变量名、数组名和子程序名。 如没有虚参,一对圆括号不能省。 3. 在函数子程序流程返回调用单位之前,必须把所求得 的函数值赋给函数名(不带括号和虚参)。 4. 函数子程序流程执行到return或end语句时,立即返回 到调用单位。return语句在子程序中可以有多处,如 果紧邻end 可以省去。 7. 函数子程序的调用形式与语句函数完全相同。 必须在调用程序中使外部函数名与函数子程序定义中函数名的类型完全一致。必须保证函数名的类型、虚参的类 型与调用处的函数名以及实参类型一一对应。 5. 函数子程序中除虚参外的任何变量都不与其他程序单 位有关系,语句标号也是独立的。 6. 同一源程序文件中,主程序和子程序先后次序无关紧要。 function myexp(x) real myexp n=0 t=1 s=1 do 10 while(abs(t).gt.1e-5) n=n+1 t=t*x/n s=s+t 10 continue myexp=s end real myexp write(*,*) Enter x: read(*,*) x y=(myexp(x)-myexp(-x))/2.0 write(*,100) sinh(,x,)=,y 100 format(1x,a,f5.2,a,e13.6) end call sum(3,y1) call sum(4,y2) call sum(5,y3) call sum(6,y4) call sum(7,y5) y=(y1+y2+y3)/(y4+y5) write(*,100) y=,y 100 format(1x,a,e13.6) end subroutine sum(n,s) integer n real s s=0 do 10 i=1,n s=s+i 10 continue end 二、 子例行子程序 子例行 子程序标志 主程序 子例行子程序 子例行子程序必须以 subroutine语句开头, 以end语句结束。 子程序名只供调用,不代表某个值。 说明: 1. 子例行子程序取名法则与变量名同。 2. 如果没有虚参,程序名后的一对括号必须省略不写。 3. 子例行子程序也是独立的程序单位,return语句、 语句标号、变量的定义和使用与函数子程序相同。 4. 子例行子程序靠形参实参虚实结合传递数据,可返 回两个以上的数值。(优点) subroutine astar write(*,100) 100 format(1x,20(*)) end call astar call astar end 一行打印20个 “*”号,打两行。 5. 子例行子程序必须用独立的call语句调用。而函数子 程序的调用总是出现在表达式中,参与运算。 subroutine opp(a,s1,s2) real a(5,5) s1=0 do 10 i=1,5 s1=s1+a(i,i) 10 continue s2=0 do 20 i=1,5 j=5-i+1 s2=s2+a(i,j) 20 continue end real w(5,5) call readin(w) call opp(w,x1,x2) write(*,1
您可能关注的文档
- c06-程序结构B72.ppt
- C3066 工厂模式30.doc
- C6207里也可以用上Eval函数了62.doc
- CAD快捷键-这个是高级的39.doc
- CAD创建文字117.ppt
- CAD2007教程经典版全家福325.ppt
- CAD疑难问题的解决方法122.doc
- 8.静夜思 戴160.ppt
- CAD经验分享 翻过很多CAD的教材143.doc
- CASIO5800计算器公路竖曲线全线高程计算程序206.doc
- 2025AACR十大热门靶点推荐和解读报告52页.docx
- 财务部管理报表.xlsx
- 高中物理新人教版选修3-1课件第二章恒定电流第7节闭合电路欧姆定律.ppt
- 第三单元知识梳理(课件)-三年级语文下册单元复习(部编版).pptx
- 俄罗斯知识点训练课件-七年级地理下学期人教版(2024).pptx
- 课外古诗词诵读龟虽寿-八年级语文上学期课内课件(统编版).pptx
- 高三语文二轮复习课件第七部分实用类文本阅读7.2.1.ppt
- 高考物理人教版一轮复习课件第4章第3讲圆周运动.ppt
- 高考英语一轮复习课件53Lifeinthefuture.ppt
- 2025-2030衣柜行业风险投资发展分析及投资融资策略研究报告.docx
最近下载
- 开封市检察机关聘用制书记员招聘笔试真题2023.docx VIP
- 易飞代理商高级生产应用认证考试(答案).docx VIP
- 工厂运营培训课件.pptx VIP
- 中国移动L1-L3等级认证(无线LTE网络优化)考试复习题库汇总-中(多选题汇总).docx VIP
- DB21_T 2977-2018低影响开发城镇雨水收集利用工程技术规程.docx
- 2024年贵州贵州省旅游产业发展集团有限公司招聘真题.docx VIP
- FPGA开发入门教程.pdf VIP
- 夏秋贵州省旅游产业发展集团有限公司员工招聘考试真题2024.docx VIP
- AWS D1.1-2020钢结构焊接规范(中英文版).pdf
- XX公司审计整改工作实施方案.doc VIP
文档评论(0)