fortran数据共用存储单元和数据块子程序.ppt_第1页
fortran数据共用存储单元和数据块子程序.ppt_第2页
fortran数据共用存储单元和数据块子程序.ppt_第3页
fortran数据共用存储单元和数据块子程序.ppt_第4页
fortran数据共用存储单元和数据块子程序.ppt_第5页
已阅读5页,还剩2页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1,第九章数组,第十章语句函数,第十二章数据共用存储单元和数据块子程序,第十三章文件,第十一章子程序,2,一、等价语句(Equivalence语句),Equivalence(变量表1),(变量表2),,作用:使同一个程序单位中的两个或更多的变量共用一个存储单元。,说明:,1.Equivalence语句是说明语句,必须出现在程序单位的执行语句之前。,2.每一对括号内的变量表中,可以是变量名、数组名或数组元素,但至少应该有两个变量名,中间用逗号隔开。不允许出现虚拟参数名。,Equivalence(W,ST),3.每对括号中的变量可以具有不同类型,一个等价语句可以使多组变量等价。,Equivalence(A,B),(X,Y,Z),3,4.等价语句可以节省内存。,Equivalence(IM,NPL,JJ2,NEG),不能同时或交叉使用!,5.等价语句允许用两个或更多的变量名代表同一个量。,Equivalence(A,A0,A1),6.数组的等价。,DimensionA(8),B(4,2),C(2,2,2)Equivalence(A,B,C),等价于,Equivalence(A(1),B(1,1),C(1,1,1),7.不能利用等价语句建立矛盾的等价关系。,DimensionA(10)Equivalence(X,A(1),(X,A(3),4,二、公用语句(COMMON)语句,传统Fortran程序不同单位之间的数据交换是通过:,虚实结合,优点:,符合结构化程序设计的指导思想。程序有较好的可读性,容易跟踪数据的流向,便于对程序进行调试和维护。,缺点:,传输速度慢。,5,Fortran程序中有两种公共区,无名公共区(只有一个),有名公共区,开辟公用区用common语句,主程序commonx,y,i,z(3)子程序commona,b,j,t(3),无名公用区,程序中只能有一个无名公用区,不同程序单位在common语句中的变量或数组按其在语句中出现的先后顺序占用相同连续的存储单元。,6,read(*,*)a1,a2,a3callquad(a1,a2,a3,z1,z2)write(*,*)z1,z2endsubroutinequad(a,b,c,x1,x2)p=-b/(2.0*a)q=sqrt(b*b-4.0*a*c)/(2.0*a)x1=p+qx2=p-qend,commonz1,z2read(*,*)a1,a2,a3callquad(a1,a2,a3)write(*,*)z1,z2endsubroutinequad(a,b,c)commonx1,x2end,commonz1,z2,a1,a2,a3read(*,*)a1,a2,a3callquadwrite(*,*)z1,z2endsubroutinequadcommonx1,x2,a,b,cend,例:用子例行程序解一元二次方程的两个根,7,说明:mon语句是说明语句,必须出现在所有可执行语句之前。3.一个程序只有一个无名公共区,同一程序单位中出现多个common语句,作用相当于一个。4.公用语句区中的变量或数组类型必须按顺序一一对应。5.变量或数组名只能在同一程序单位的公用语句定义中出现一次。6.区分equivalence和common语句的作用。,commonx,y,z(3)c

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论