网站大量收购独家精品文档,联系QQ:2885784924

Fortran77结构化程序设计.pptVIP

  1. 1、本文档共387页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
* * 12.1 等价语句 (EQUIVALENCE语句) 例3: DIMENSION A(2,3), B(4) EQUIVALENCE (A(1, 2), C), (B(1), C) 数组A、B和变量C在内存中的存储分配如下: A(1,1) A(2,1) A(1,2) C B(1) A(2,2) B(2) A(1,3) B(3) A(2,3) B(4) 1Fortran77结构化程序设计全文共387页,当前为第320页。 * * 12.1 等价语句 (EQUIVALENCE语句) 例4: DIMENSION B(4) LOGICAL L(8) EQUICALENCE(B(2), L(2)) B是实型数组,每个元素占4个字节; L是逻辑型数组,每个元素只占一个字节。 当有以上等价关系时,它们的存储分配如下图所示: B(1) B(2) B(3) B(4) ? L(1) L(2) L(3) L(4) L(5) L(6) L(7) L(8) 1Fortran77结构化程序设计全文共387页,当前为第321页。 * * 12.1 等价语句 (EQUIVALENCE语句) 等价语句的使用规则: 不能利用等价语句建立矛盾的等价关系。例如: DIMENSION A(10) EQUIVALENCE(X, A(1)), (X, A(3)) × 此处A(1)和A(3)是同一个数组中的元素,A(1)和A(3)不可能分配同一个存储单元,所以X既要和A(1)分配的单元相同,又要和A(3)分配的单元相同,明显不可能。 以下的等价关系也是错误的: DIMENSION A(5), B(10) EQUIVALENCE(A(1), B(2)), (A(3), B(3)) × 1Fortran77结构化程序设计全文共387页,当前为第322页。 * * 12.2 公用语句 通过上一章的学习,我们知道程序中不同程序单位之间的数据交换是通过虚实结合来完成。 另外FORTRAN还可以通过建立公用区的方法来实现各程序单位之间的数据交换。 公用区和虚实结合比较起来有其缺点——程序阅读性下降;有其优点——运行速度快(特别当有大量数据需要传送时)。 1Fortran77结构化程序设计全文共387页,当前为第323页。 * * 12.2.1 无名公用区 在不同的程序单位中,各自的变量是相互独立的,尽管它们的变量名有时相同。但如果我们在主程序和子程序中都加上一条COMMON语句的话,如: COMMON X 此时编译程序在存储区中开辟了一个公用数据区。这时主程序和子程序中的两个变量X就共用一个存储单元,而不是相互独立了。 在FORTRAN中,用COMMON语句来开辟无名和有名公用区 1Fortran77结构化程序设计全文共387页,当前为第324页。 * * 12.2.1 无名公用区 一、开辟无名公用区的一般格式: COMMON a1,a2,… 其中a1、a2、…允许是普通变量名、数组名和数组说明符(不是数组元素) 例如: 在主程序中写:COMMON X, Y, K, Z(3) 在子程序中写:COMMON A, B, J, T(3) 此时,在无名公用区中变量X和A,Y和B,K和J分别被分配在同一个存储单元中;数组Z和T占用相同的3个存储单元。 1Fortran77结构化程序设计全文共387页,当前为第325页。 * * 12.2.1 无名公用区 说明: 编译程序在编译时为以上COMMON语句开辟一个无名公用区; 当把不同的程序单位连接(link)在一起的时候,不同程序单位在COMMON语句中的变量按其在语句中出现的先后顺序,依次连续的占用无名公用区的存储单元。 COMMON语句开辟公用区的主要用途: 使不同程序单位的变量之间进行数据传送 节省存储空间 1Fortran77结构化程序设计全文共387页,当前为第326页。 * * 程序举例:解一元二次方程的根 例12.1 完全通过虚实结合交换数据 主程序: READ*, A1, A2, A3 CALL QUAD(A1, A2, A3, Z1, Z2) WRITE(*, *) Z1, Z2 END 子程序: SUBROUTINE QUAD(A, B, C, X1, X2) P

文档评论(0)

武松 + 关注
实名认证
文档贡献者

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

1亿VIP精品文档

相关文档