fortran第11章 过程和模块.ppt

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

● 如果没有哑元,则哑元表是一个空括号。 ● RESULT是关键字,要照写,后面括号内的变量名就是函数计算的结果值。 ● 函数结果变量名有值,必须在说明语句中说明类型,在程序执行部分中至少赋值一次。在引用时,它的值就是函数值。 函数结果名不可列入哑元表。如果没有结果名,则函数名就是结果名。 ● F90中之所以增添了结果名功能,就是为了区别函数字面上的名称(函数名)和实际运算结果变量的名称。 MODULE SPARSE TYPE NONEZERO REAL A INTEGER I,J END TYPE INTEGER F END MODULE PROGRAM MAIN USE SPARSE TYPE (NONEZERO) S S.A=1 S.I=2 S.J=3 PRINT *,S.A,S.I,S.J F=6 WRITE(*,10)F 10 FORMAT(1X,I4) END 作业: P289 二、三、五、十三、十四 注: 虽哑元符号变量名与程序变量名同, 但无任何联系. 例3: 试用二分法求解方程X3-3X2-2X+2=0 思路: 设f(x)=X3-3X2-2X+2 当f(x)=0, 则曲线与x轴的交点是所求的根. 步骤: 1.确定A,B两点,若f(A)*f(B)0时有根,反之无根. 2.有根时用二分法求解, 取A,B的中点(A+B)/2, 若 f((A+B)/2)=0则(A+B)/2是根.若 若 f((A+B)/2)*f(A)0则产生新区间[(A+B)/2,B] 反之则产生新区间[A,(A+B)/2] 3.然后在新区重复以上步骤. 解:对题中取A=0.0,B=3.0因为f(0)*f(3)=2*(-4)=-80 故必有根在[0,3]内,按霍纳规则,将上多项式改为 ((X-3)*X-2)*X+2 源程序如下: PROGRAM ROOT F(x)=((x-3.)*x-2.)*x+2. A=0.0 B=3.0 EP=1E-4 5 C=(A+B)/2.0 WRITE (*,100) A,B 100 FORMAT (1x,’A=‘,F10.7),3x,’B=‘,F10.7) IF (F(A)*F(C))10,20,30 10 B=C GOTO 40 30 A=C 40 IF (ABS(A-B).GE.EP) GOTO 5 20 WRITE (*,200) c 200 FORMAT (1X,’THE ROOT IS’,3X,F10.7) END 执行结果: A=0.0000000 B=3.0000000 ?? INTERFACE语句 接口块应写在主调程序(主程序或过程)的说明部分中,一般是写在最前面: PROGRAM 程序名 接口块 主调程序内变元说明 执行语句 END PROGRAM 过程接口块的—般形式为: INTERFACE [类属说明] [接口体]… [模块过程语句]… END INTERFACE [类属说明] 其中 类属说明的形式: ????? 类属名 - 类属过程 ?????? OPERATOR - 超载操作符、自定义操作符 ????? ASSIGNMENT(=) - 超载赋值号 接口体的形式为: ●??函数语句 [说明部分] 函数END语句 ● ?子程序语句 [说明部分] 子程序END语句 模块过程语句的形式为: MODULE PROCEDURE 过程名表。 使用接口块时应该注意的是: ● 接口块以INTERFACE语句开始,END INTERFACE语句结束,块内只能取被调用过程中的说明部分,不允许出现任何可执行语句。接口块内的语句构成接口体。 ● 接口体中不能含有DATA语句、FORMAT语句、语句函数语句。 ● 接口

文档评论(0)

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

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

1亿VIP精品文档

相关文档