FORTRAN语言第8章(共8章)课件.ppt

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

第八讲 子程序;第八讲 子程序;第八讲 子程序;第八讲 子程序;8.1  语句函数;一、语句函数的概念;  如果能定义一个函数p(t),然后分别使用x,y,z等参数来调用p(t),将会有效简化程序量:;  注意:只有当函数可以用一个表达式表示时才能定义成语句函数,而对于那些不能用表达式表示的功能或分段表示的函数是不能定义成FORTRAN语句函数的。;二、语句函数的定义;使用规定;使用规定;5)e是含有x1,x2,…xn的表达式,在这个表达式中,除必须包含有关虚参外,还可以包含常量,变量,外部和内部函数和已定义过的语句函数。语句函数通过表达式得到一个函数值,此函数值的类型必须与函数名的类型一致。;三、语句函数的引用;FORTRAN允许在语句函数定义中没有形参,此时在引用时也不能有实参,但一对括号不能省略。 语句函数的引用可以嵌套。;三、语句函数的引用;语句函数的引用过程;这一过程是由计算机系统来完成的,用户可不必担心。;三、语句函数的引用;例1 :二分法:; F(X)=X**3-6.0*X-1.0 100 READ(*,*)X1,X2 FX1=F(X1) FX2=F(X2) IF(FX1*FX2.GT.0.0)GOTO 100 10 X=(X1+X2)/2.0 FX=F(X) IF(SIGN(FX,FX1).EQ.FX)THEN X1=X FX1=FX END IF IF(SIGN(FX,FX2).EQ.FX)THEN X2=X FX2=FX END IF IF((ABS(X1-X2).GT.1E-5).AND.(ABS(FX).GT.1E-6)) GOTO 10 IF(FX.GT.1E-6)X=(X1+X2)/2.0 WRITE(*,*)X END;算法:弦截法的基本思路与“二分法” 相似,它是取f(x1)与f(x2)连线与x轴的 交点x,从(x1,x)与(x,x2)两个区间中舍 去一个,舍取的方法为: 1、如果f(x)与f(x1)异号,则用x作为新 的x2,这就舍去了原来的(x,x2)区间。 2、如果f(x)与f(x1)同号,则用x作为新 的x1,这就舍去了原来的(x1,x)区间。 如果f(x1)与f(x2)异号,则它们之间的连线必然交x轴于x点 有x=x2-(x2-x1)*f(x2)/(f(x2)-f(x1)) 3、再根据新的x1,x2,找到与x轴的交点x,重复上述步骤。; LOGICAL S F(X)=X**3-2.0*X**2-7.0*X+4.0 S(A,B)=SIGN(A,B).EQ.A 10 READ(*,*)X1,X2 F1=F(X1) F2=F(X2) IF(S(F1,F2))GOTO 10 F0=1.0 20 IF((ABS(X1-X2).GT.1E-5).AND.(ABS(F0).GT.1E-6))THEN X=X2-(X2-X1)/(F2-F1)*F2 F0=F(X) IF(S(F0,F1))THEN X1=X F1=F0 END IF ; IF(S(F0,F2))THEN X2=X F2=F0 END IF GOTO 20  END IF  IF(ABS(F0).GT.1E-6)X=(X1+X2)/2.0  WRITE(*,*)X  END ;语句函数小结:;? 语句函数定义中的函数名和虚元是具有类型的,可以用类型说明语句说明其类型 或按隐含约定确定其类型。如:;? 在语句函数定义的语句中,也可出现其他的语句函数引用,但被引用的语句函和须在它前面已定义。不允许引用自身或在它后面定义的语句函数。;? 引用语句函数时,给定的实元必须和对应的虚元个数相等,类型一致,位置相符。在进行虚实结合时,虚元与实元不是以名字相同传值,而是按位置类型一一传值。;例:;程序第一行的X是语句函数的虚拟参数,第二行的X是变量名,它们彼此独立,无任何关系。第三行计算出Y的值等于2.0。第四行引用语句函数,分别将1.0,2.0,3

文档评论(0)

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

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

1亿VIP精品文档

相关文档