中国石油大学(华东)计算机与通信工程学院:《Fortran程序设计语言》第十二章 数据共用存储单元和数据块子程序(赵永军)

第12章数据共用存储单元 和数据块子程序 §1等价语句 quivalence语句) 等价语句:使同一程序单元中的多个变量共用同一个 存储单元。 §2公用语句( common语句) 公用语句:使不同程序单元的变量共用同一个存储单 §3数据块子程序自学) 数据块子程序:给公用区中的变量赋初值。 2021/2/24
1 2021/2/24 §1 等价语句(equivalence语句 ) 等价语句:使同一程序单元中的多个变量共用同一个 存储单元。 §2 公用语句 (common语句) 公用语句:使不同程序单元的变量共用同一个存储单 元。 §3 数据块子程序(自学) 数据块子程序:给公用区中的变量赋初值。 第12章 数据共用存储单元 和数据块子程序

§1等价语句(p292294) 2 等价语句即 equivalence语句)的作用是使本程序单元 中的多个变量共用同一个存储单元。 一般飛式:equⅳ valence(变量表1,(变量表2), 功能:每一对括号内变量表中的变量将占用同一个存 储单元,通常称这些变量等价。 9A: equivalence(w, st),(im, npl, jj2, neg) ()每个变量表中至少应有两个变量,变量之间用逗号 隔开,变量可以是普通变量、数组或数组元素,但不能是 虚参。 §1等价语句 2021/2/24
2 2021/2/24 §1 等价语句(p292-294) 等价语句(即equivalence语句)的作用是使本程序单元 中的多个变量共用同一个存储单元。 一般形式: 功能:每一对括号内变量表中的变量将占用同一个存 储单元,通常称这些变量等价。 如: ⑴ 每个变量表中至少应有两个变量,变量之间用逗号 隔开,变量可以是普通变量、数组或数组元素,但不能是 虚参。 equivalence (变量表1), (变量表2), … equivalence (w, st), (im, npl, jj2, neg) §1 等价语句

(2)变量表中的变量类型既可以相同也可以不同:当类3 型相同时,变量将具有相同的值;当类型不同时,由于不 同类型变量所占的存储单元长度不同,变量将不具有相同 的值。 【例121】 equivalence(im,np,j2,neg) im=1 write(", )im, npl, jj2, neg end 【例122】 equivalence(a,b, a=1.0 write(, ")a, b, end §1等价语句 2021/2/24
3 2021/2/24 ⑵ 变量表中的变量类型既可以相同也可以不同:当类 型相同时,变量将具有相同的值;当类型不同时,由于不 同类型变量所占的存储单元长度不同,变量将不具有相同 的值。 【例12.1】 【例12.2】 equivalence (im, npl, jj2, neg) im=1 write(* , *)im, npl, jj2, neg end equivalence (a, b, m) a=1.0 write(* , *)a, b, m end §1 等价语句

(3)当变量表中的变量是数组名或数组元素、且数组的4 类型相同时,则每个数组中相对应的数组元素将共用同一 个存储单元。 如: real a(8),b(42,c(2,2,2) equivalence(a, b, c) a(1)a(2)a(3)a(4)|a(5)a(6)(a7)a(8) b(1,1)b(2,1)b(3,1)b(41)b(1,2)b(2,2)b(32)b(4,2) c(1121121c(21c(112c(2,1,2)c(12,2)c(222) 如: real a(2,3),b(4) equivalence (a(2, 2),b(2)) a(1112(21)a(1,2)a(2,2)a(1,3)a(2,3) b(1)b(2)b(③3)b(4) §1等价语句 2021/2/24
4 2021/2/24 ⑶ 当变量表中的变量是数组名或数组元素、且数组的 类型相同时,则每个数组中相对应的数组元素将共用同一 个存储单元。 如: 如: real a(8), b(4,2), c(2,2,2) equivalence (a, b, c) §1 等价语句 a(1) b(1,1) c(1,1,1) a(2) b(2,1) c(2,1,1) a(3) b(3,1) c(1,2,1) a(4) b(4,1) c(2,2,1) a(5) b(1,2) c(1,1,2) a(6) b(2,2) c(2,1,2) (a7) b(3,2) c(1,2,2) a(8) b(4,2) c(2,2,2) real a(2,3), b(4) equivalence ( a(2,2), b(2) ) a(1,1) a(2,1) a(1,2) b(1) a(2,2) b(2) a(1,3) b(3) a(2,3) b(4)

如: real a(2,3),b(4) 5 equivalence (a(1,2),c), b(1),c) a0111a(21)a(1,2)|a(22)a(1,3)a23 b(1)b(2)b(3)b(4) (4)当变量表中的变量是数组名或数组元素、但数组的 类型不同时,则每个数组中的数组元素是按照其存储长度 对应的。 如: real b(4 设一个实型数据占 character c(8 4个字节,一个字符 eqμ divalence(b(2,c(2)型数据占1个字节。 b(1) b(2) b(3) b(4) §1等价语句 2021/2/24
5 2021/2/24 b(1) b(2) b(3) b(4) c(1) c(2) c(3) c(6) c(7) c(8) 如: ⑷ 当变量表中的变量是数组名或数组元素、但数组的 类型不同时,则每个数组中的数组元素是按照其存储长度 对应的。 如: §1 等价语句 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) real a(2,3), b(4) equivalence ( a(1,2), c ), ( b(1), c ) real b(4) character c(8) equivalence ( b(2), c(2) ) 设一个实型数据占 4个字节,一个字符 型数据占1个字节。 c(4) c(5)

(5)不能利用等价语句建立矛盾的等价关系。 6 如: real a(10) equivalence(x, a(1),(x, a( 3)) 如 real a(5), b(10) equivalence (a(0),b(2)),(a(3),b (3)) 练习:教材p301习题一、习题二。 习题 a(1) 1. dimension a(5),b(3) a(2) b(1) equivalence (a 3),b(2)) a a(4) b(3) a(5) §1等价语句 2021/2/24
6 2021/2/24 ⑸ 不能利用等价语句建立矛盾的等价关系。 如: 如: 练习:教材p301习题一、习题二。 §1 等价语句 real a(10) equivalence ( x, a(1) ), ( x, a(3) ) real a(5), b(10) equivalence ( a(1), b(2) ), ( a(3), b(3) ) 1. dimension a(5), b(3) equivalence (a(3), b(2)) 习题一 a(1) a(2) a(3) a(4) a(5) b(1) b(2) b(3)

2 dimension e(2, 2, 2), f(5) 3. integer i(3) equivalence (e(2, 1, 2), f(4 )) character*2 c(5) real r(8) e(1,1,1) equivalence (r(2), c(2)),i, c) e(2,1,1) (1)=) e(1,2,1) f(1) 2) c(2)}i(2 c(3)}(3) e(2,2,1) f(2) ……… c(4) c(5) e(1,1,2) f(3) r(4) ………… e(2,1,2) f(4) e(122 f(5) r(5) e(22,2) r(7E r(8)1∷ §1等价语句 2021/2/24
7 2021/2/24 c(1) 2. dimension e(2,2,2), f(5) equivalence (e(2,1,2), f(4)) §1 等价语句 e(1,1,1) e(2,1,1) e(1,2,1) e(2,2,1) e(1,1,2) e(2,1,2) e(1,2,2) e(2,2,2) f(1) f(2) f(3) f(4) f(5) 3. integer i(3) character*2 c(5) real r(8) equivalence (r(2), c(2)), (i, c) r(1) r(2) r(3) r(4) r(5) r(6) r(7) r(8) c(2) c(3) c(4) c(5) i(1) i(2) i(3)

4. integer i(6) 8 character*8 d(4 equivalence (d(1),r),d(2), c),(d( 3),i(2)) d(1){ d(2) d(3) "" ……………… 4 5 }i(6) d §1等价语句 2021/2/24
8 2021/2/24 §1 等价语句 4. integer i(6) character*8 d(4) equivalence (d(1), r), (d(2), c), (d(3), i(2)) d(1) d(2) d(3) d(4) r c i(2) i(3) i(4) i(5) i(1) i(6)

§2公用语句(p294-299) 9 common语句的作用是使不同程序单元的变量共用同 一个存储单元,从而使这些变量具有相同的值,实现不同 程序单元之间的数据传递。 不同程序单元之间的数据传递有两种实现方式:④采 用实参和虚参结合的形式实现;②利用 common语句实 现。 在一个 Fortran程序运行时,不同程序单元的变量共用 的存储单元放在内存中该程序的一个公用数据区内,称为 公用区。 公用区实现的是一种全局变量的功能,只不过在不同的 程序单元中变量的名字不同而已。 52公用语句 2021/2/24
9 2021/2/24 §2 公用语句(p294-299) common语句的作用是使不同程序单元的变量共用同 一个存储单元,从而使这些变量具有相同的值,实现不同 程序单元之间的数据传递。 不同程序单元之间的数据传递有两种实现方式:① 采 用实参和虚参结合的形式实现;② 利用common语句实 现。 在一个Fortran程序运行时,不同程序单元的变量共用 的存储单元放在内存中该程序的一个公用数据区内,称为 公用区。 公用区实现的是一种全局变量的功能,只不过在不同的 程序单元中变量的名字不同而已。 §2 公用语句

公用区有两种类型:④无名公用区,任何一个 Fortran0 程序中只可能有一个无名公用区:②有名公用区,一个 Fortran程序中根据需要可以有多个有名公用区 无名公用区 建立无名公用区的 common语句的一般飛式: common变量1,变量2, 【例123】 common X, y, I subroutine sub data x,yi/.0,2.0,3/ common a, b, j,W call sub We*(a+b) end write(", )a, b,j,w end 52公用语句 2021/2/24
10 2021/2/24 公用区有两种类型: ①无名公用区,任何一个Fortran 程序中只可能有一个无名公用区;② 有名公用区,一个 Fortran程序中根据需要可以有多个有名公用区。 一、无名公用区 建立无名公用区的common语句的一般形式: 【例12.3】 common 变量1, 变量2, … common x, y, i data x, y, i/1.0, 2.0, 3/ call sub end subroutine sub common a, b, j, w w=j*(a+b) write(* , *)a, b, j, w end §2 公用语句
按次数下载不扣除下载券;
注册用户24小时内重复下载只扣除一次;
顺序:VIP每日次数-->可用次数-->下载券;
- 中国石油大学(华东)计算机与通信工程学院:《Fortran程序设计语言》第十一章 子程序(赵永军).ppt
- 中国石油大学(华东)计算机与通信工程学院:《Fortran程序设计语言》第十章 语句函数(赵永军).ppt
- 中国石油大学(华东)计算机与通信工程学院:《Fortran程序设计语言》第九章 数组 (赵永军).ppt
- 中国石油大学(华东)计算机与通信工程学院:《Fortran程序设计语言》第七章 数据的输入输出(赵永军).ppt
- 中国石油大学(华东)计算机与通信工程学院:《Fortran程序设计语言》第六章 Fortran的数据结构(赵永军).ppt
- 中国石油大学(华东)计算机与通信工程学院:《Fortran程序设计语言》第五章 循环结构的实现(赵永军).ppt
- 中国石油大学(华东)计算机与通信工程学院:《Fortran程序设计语言》第四章 逻辑运算和选择结构(赵永军).ppt
- 中国石油大学(华东)计算机与通信工程学院:《Fortran程序设计语言》第三章 Fortran语言程序设计初步(赵永军).ppt
- 中国石油大学(华东)计算机与通信工程学院:《Fortran程序设计语言》第二章 计算机语言及程序设计(赵永军).ppt
- 中国石油大学(华东)计算机与通信工程学院:《Fortran程序设计语言》第一章 算法(赵永军).ppt
- 中国石油大学(华东)计算机与通信工程学院:《Fortran程序设计语言》前言(赵永军).ppt
- 《软件工程 Software Engineering》课程授课讲义(PPT课件)第四章 习题(刘永锋).ppt
- 《软件工程 Software Engineering》课程授课讲义(PPT课件)第三章 需求分析(刘永锋).ppt
- 《软件工程 Software Engineering》课程授课讲义(PPT课件)第二章 习题(刘永锋).ppt
- 《软件工程 Software Engineering》课程授课讲义(PPT课件)第二章 可行性研究(刘永锋).ppt
- 《软件工程 Software Engineering》课程授课讲义(PPT课件)第一章 软件工程概述(刘永锋).ppt
- 中国人民大学计算机学院:《计算机网络》第6章 网络互连.pdf
- 中国人民大学计算机学院:《计算机网络》第5章 广域网.pdf
- 中国人民大学计算机学院:《计算机网络》第4章 局域网.pdf
- 中国人民大学计算机学院:《计算机网络》第3章 数据链路层.pdf
- 中国石油大学(华东)计算机与通信工程学院:《Fortran程序设计语言》第十三章 文件简介(赵永军).ppt
- 中国石油大学(华东)计算机与通信工程学院:《Fortran程序设计语言》FORTRAN语言上机简单步骤(赵永军).ppt
- 中国石油大学(华东)计算机与通信工程学院:《Fortran程序设计语言》Visual_Fortran上机简要步骤(赵永军).ppt
- 华为:《编程规范与案例》Panorama系统程序开发规范之二.doc
- 华为:《编程规范与案例》目录.doc
- 华为:《编程规范与案例》软件编程规范培训实例与练习.doc
- 华为:《编程规范与案例》软件编程规范总则CHECKLIST.doc
- 武汉科技大学(武汉科技学院):《微机原理与汇编语言》课程教学资源(PPT课件)第一章 微型计算机概述(王言前).ppt
- 武汉科技大学(武汉科技学院):《微机原理与汇编语言》课程教学资源(PPT课件)第五章 存储器.ppt
- 武汉科技大学(武汉科技学院):《微机原理与汇编语言》课程教学资源(PPT课件)第三章 8086的寻址方式和指令系统.ppt
- 武汉科技大学(武汉科技学院):《微机原理与汇编语言》课程教学资源(PPT课件)第四章作业.ppt
- 武汉科技大学(武汉科技学院):《微机原理与汇编语言》课程教学资源(PPT课件)第四章 汇编语言程序设计.ppt
- 武汉科技大学(武汉科技学院):《微机原理与汇编语言》课程教学资源(PPT课件)第二章 8086系统结构.ppt
- 武汉科技大学(武汉科技学院):《微机原理与汇编语言》课程教学资源(PPT课件)第十四章 显示器、打印机、磁盘.ppt
- 武汉科技大学(武汉科技学院):《微机原理与汇编语言》课程教学资源(PPT课件)第十三章 键盘与LED显示技术.ppt
- 武汉科技大学(武汉科技学院):《微机原理与汇编语言》课程教学资源(PPT课件)第十二章 8237DMA控制器.ppt
- 武汉科技大学(武汉科技学院):《微机原理与汇编语言》课程教学资源(PPT课件)第十一章 A/D、D/A转换器.ppt
- 武汉科技大学(武汉科技学院):《微机原理与汇编语言》课程教学资源(PPT课件)第十章 串行通信和可编程接口芯片8251A.ppt
- 武汉科技大学(武汉科技学院):《微机原理与汇编语言》课程教学资源(PPT课件)第九章 可编程并行接口芯片Intel 8255A.ppt
- 海南大学:《Java 2实用教程(第3版)》PPT教学课件_第1章 Java概述(邱钊).ppt