12数据共用存储单元和数据块子程序 FORTRAN语言程序设计 教学课件
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
Dimension A(10) Equivalence (X,A(1)),(X,A(3))
3
例:用子例行程序解一元二次方程的两个根
read(*,*)a1,a2,a3 call quad(a1,a2,a3,z1,z2) write(*,*)z1,z2 end
subroutine quad(a,b,c,x1,x2)
5. 等价语句允许用两个或更多的变量名代表同一个量。 Equivalence(A,A0,A1)
6. 数组的等价。
Dimension A(8),B(4,2),C(2,2,2) Equivalence (A,B,C) 等价于 Equivalence (A(1),B(1,1),C(1,1,1))
7. 不能利用等价语句建立矛盾的等价关系。
p=-b/(2.0*a)
q=sqrt(b*b-4.0*a*c)/(2.0*a)
x1=p+q
x2=p-q end
common z1,z2 read(*,*)a1,a2,a3
call quad(a1,a2,a3)
write(*,*)z1,z2
end
common z1,z2,a1,a2,a3 read(*,*)a1,a2,a3 call quad write(*,*)z1,z2 end
第 九 章 数组 第 十 章 语句函数 第十一章 子程序 第十二章 数据共用存储单元
和数据块子程序 第十三章 文件
1
一、等价语句(Equivalence语句)
Equivalence(变量表1),(变量表2),……
作用:使同一个程序单位中的两个或更多的变量共用 一个存储单元。
说明:1. Equivalence 语句是说明语句,必须出现在程 序单位的执行语句之前。
的作用。
有名公共区、数据块子句,作用相当于一个。 4. 公用语句区中的变量或数组类
common x, y, z(3), a, b
型必须按顺序一一对应。
5. 变量或数组名只能在同一程序
common a,b,c common a1,b1,a
单位的公用语句定义中出现一次。
6. 区分equivalence和common语句
subroutine quad common x1,x2,a,b,c …… end
subroutine quad(a,b,c) common x1,x2 …… end
6
说明:
1. common语句是说明语句,必须
出现在所有可执行语句之前。
3. 一个程序只有一个无名公共区,
common x, y, z(3) common a, b
2. 每一对括号内的变量表中,可以是变量名、数 组名或数组元素,但至少应该有两个变量名, 中间用逗号隔开。不允许出现虚拟参数名。 Equivalence(W,ST)
3. 每对括号中的变量可以具有不同类型,一个等 价语句可以使多组变量等价。 Equivalence(A,B), (X,Y,Z)
2
4. 等价语句可以节省内存。 Equivalence(IM,NPL,JJ2,NEG) 不能同时或交叉使用!
3
例:用子例行程序解一元二次方程的两个根
read(*,*)a1,a2,a3 call quad(a1,a2,a3,z1,z2) write(*,*)z1,z2 end
subroutine quad(a,b,c,x1,x2)
5. 等价语句允许用两个或更多的变量名代表同一个量。 Equivalence(A,A0,A1)
6. 数组的等价。
Dimension A(8),B(4,2),C(2,2,2) Equivalence (A,B,C) 等价于 Equivalence (A(1),B(1,1),C(1,1,1))
7. 不能利用等价语句建立矛盾的等价关系。
p=-b/(2.0*a)
q=sqrt(b*b-4.0*a*c)/(2.0*a)
x1=p+q
x2=p-q end
common z1,z2 read(*,*)a1,a2,a3
call quad(a1,a2,a3)
write(*,*)z1,z2
end
common z1,z2,a1,a2,a3 read(*,*)a1,a2,a3 call quad write(*,*)z1,z2 end
第 九 章 数组 第 十 章 语句函数 第十一章 子程序 第十二章 数据共用存储单元
和数据块子程序 第十三章 文件
1
一、等价语句(Equivalence语句)
Equivalence(变量表1),(变量表2),……
作用:使同一个程序单位中的两个或更多的变量共用 一个存储单元。
说明:1. Equivalence 语句是说明语句,必须出现在程 序单位的执行语句之前。
的作用。
有名公共区、数据块子句,作用相当于一个。 4. 公用语句区中的变量或数组类
common x, y, z(3), a, b
型必须按顺序一一对应。
5. 变量或数组名只能在同一程序
common a,b,c common a1,b1,a
单位的公用语句定义中出现一次。
6. 区分equivalence和common语句
subroutine quad common x1,x2,a,b,c …… end
subroutine quad(a,b,c) common x1,x2 …… end
6
说明:
1. common语句是说明语句,必须
出现在所有可执行语句之前。
3. 一个程序只有一个无名公共区,
common x, y, z(3) common a, b
2. 每一对括号内的变量表中,可以是变量名、数 组名或数组元素,但至少应该有两个变量名, 中间用逗号隔开。不允许出现虚拟参数名。 Equivalence(W,ST)
3. 每对括号中的变量可以具有不同类型,一个等 价语句可以使多组变量等价。 Equivalence(A,B), (X,Y,Z)
2
4. 等价语句可以节省内存。 Equivalence(IM,NPL,JJ2,NEG) 不能同时或交叉使用!