- 1、本文档共39页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
for90 第6章1讲义教材.ppt
第6章 程序单元和过程;1、一个Fortran90程序主程序单元个数:1个
2、子程序单元:0-n个
子程序单元不能独立存在,只能被主程序单元或被其它子程序单元调用,甚至可以递归调用(调用本身);子程序(又称过程)的分类:;§6.2外部函数子程序;6.2.1函数子程序的编写方法;PROGRAM MAIN
INTEGER::FACT=1,SUM=0,I
DO I=1,N
FACT=FACT*I
SUM=SUM+FACT
ENDDO
PRINT*,SUM
END;例:编写求N!的函数子程序。;如要求1!+2!+…+5!, 则主程序为:;END [FUNCTION [函数名]];1、作为函数子程序的第一行(注释行除外)。
2、如果函数是递归的,则应以RECURSIVE开头。
3、函数名与普通变量名的取法相同,且为全局名,即作用域为整个程序,不得与已有的全局名同名。;4、主调程序与被调程序
两个单位之间的数据传递:;5、虚元的含义:编写子程序时没有具体值(调用时或调用结束后才获得数值),因此只是一个符号,表示输入、输出,名字可随便用户取。
6、虚元可以是变量名、数组名、过程名、指针等。
7、虚元的可选属性INTENT:
INTENT(IN):表示函数开始时,虚元从实元中获得值,作为子程序的输入(不得再改变其值)
INTENT(OUT):表示函数结束时,把虚元的值传送给实元,作为子程序的输出(对应的实元不能是表达式)
INTENT(INOUT):表示虚元既要从实元中获得值,又要向实元传送值,作为子程序的输入输出。
例:REAL,INTENT(IN)::X,Y;三、子程序程序体的写法 ;复习:子程序编写思路;例6-2、编写函数子程序,求下列公式前n项的和。;主调程序:;算法2:把求和的工作全部由函数实现,这时需要给函数设计两个虚元(n 和x),如下所示:;主调程序为:;调用子程序的执行流程;1、调用式是表达式, 调用结束后调用式得到函数值。
2、常见形式:
①Y=函数名(实元表)
②PRINT*,函数名(实元表)
③IF(函数名(实元表))……
注意:实元与虚元一般必须在个数、次序、类型上保持一致;但实元与虚元名字可以不同。;FUNCTION F(X,Y,Z)RESULT(F_RESULT)
IMPLICIT NONE
REAL::X,Y,z,F_RESULT
F_RESULT=X+Y
Z=X-Y
END;例6-3、编写判断素数的函数子程序,调用它实现例5-11的功能:求出20~50之间的全部素数。;主调程序:;改写PRIME函数(使用逻辑???量):;主调程序:;6.3 外部子例行子程序;与函数子程序的区别 ;例:编写求N!的子例行子程序;如要求1!+2!+…+5!则主程序为:;首先将该多边形划分成若干个三角形,每个三角形的边长分别用L1、L2、L3表示。
然后用下面的公式(海伦公式)计算每个三角形的面积。最后将这几个三角形的面积相加:
以上问题要经过三次完全相同的运算,但参加运算的L1、L2、L3量值不同。我们可以编写一段程序实现这一功能,并为该程序段命名。在计算每个三角形面积时调用该程序,并代入不同的参数完成运算,从而简化设计,便于结构化的程序设计。 ;FUNCTION AREA(A,B,C) RESULT(AREA_RESULT)
REAL,INTENT(IN)::A,B,C
REAL::P,AREA_RESULT
P=(A+B+C)/2.
AREA_RESULT=SQRT(P*(P-A)*(P-B)*(P-C))
END FUNCTION AREA;方法2:使用子例行子程序实现:;主调程序为: ;练习题:;练习题:;练习:
计算函数Sinh(x)的值,当ex的通项值小于等于1E-6时停止。计算公式如下:; !主程序如下:
Program main1
Real:: MyExp,y,x
Write(*,*) Enter x:
Read(*,*)x
Y=(MyExp(x)-MyExp(-x)) /2.0
Write (*,*) Y
END PROGRAM
您可能关注的文档
- EPS电源和UPS电源简单使用及保养方法知识讲稿.ppt
- ERAS在结直肠外科中的应用培训讲学.ppt
- ERAS在结直肠外科中的应用研究报告.ppt
- ERC检查,网络表报表生成及原理图打印知识讲稿.ppt
- ERP INV流程图教学讲义.ppt
- ERP业务需求分析方法知识讲稿.ppt
- ERP企业资源规划5教学讲义.ppt
- ERP企业资源规划导论教学讲义.ppt
- ERP内部集成应用知识讲稿.ppt
- ERP原理与应用知识讲稿.ppt
- 2024年湖南省高考英语试卷(含答案解析)+听力音频+听力原文.docx
- 2024年江西省高考英语试卷(含答案解析)+听力音频+听力原文.docx
- 2024年安徽省高考英语试卷(含答案解析)+听力音频+听力原文.docx
- 2024年福建省高考英语试卷(含答案解析)+听力音频+听力原文.docx
- 2024年广东省高考英语试卷(含答案解析)+听力音频+听力原文.docx
- 2024年河北省高考英语试卷(含答案解析)+听力音频+听力原文.docx
- 2024年河南省高考英语试卷(含答案解析)+听力音频.docx
- 2024年湖北省高考英语试卷(含答案解析)+听力音频+听力原文.docx
- 2024年湖南省高考英语试卷(含答案解析)+听力音频+听力原文.docx
- 2024年江苏省高考英语试卷(含答案解析)+听力音频+听力原文.docx
文档评论(0)