Fortran95第6章 构造数据.docxVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
Fortran95第6章 构造数据

第6章 构造数据 固有数据类型只是描述了问题当中出现的基本数据形式,但在实际的计算当中,计算对象往往并不只是限于那些固有数据类型,而是一些数据结构。 例如: 线性数学问题里面的计算对象很少是单纯的标量,而是诸如行列式,向量这样的由 一系列标量组成的数据结构。 甚至在计算过程中,还需要以这种数据结构的某个特定部分作为计算对象,例如行 列式或向量的单独的行与列,或对角线,部分块等 又例如: 样品的属性值可以是多方面的,例如在测量一个导体样品的交流输运性质时,需要考虑的物理量包括电流,电压,相位等,如果以每个样品的属性值作为数据对象,那么这种数据对象就至少包括3个成员:电流,电压,相位。它们的取值的类型不同,精度要求也可能不同,这3个数值同样构成一个数据结构。 因此,进一步FORTRAN 95需要以固有数据对象为基础,能够构造一定的数据结构,从而能够作到基于数据结构进行运算。 本章讨论的就是FORTRAN 95构造数据结构的几种方式: ●??? 派生数据类型; ●??? 数据结构的子对象; ●??? 数据结构的成员; ●??? 数组; ●??? 指针。 特别的,我们首先讨论FORTRAN 95关于数据对象的一个基本分类:变量与常量。它们是数据在程序当中的2种基本行为方式,是我们理解FORTRAN 95语言范畴的关键。 6.1? 数据的2种基本行为—变量与常量 首先我们给出几个抽象的基本概念,在这里只是给出大意而不作更加形式化的讨论,完全只是为了后面行文的方便。读者不用深究它们的精确定义,只需要在后面行文当中遇到这些概念时,知道回到这里稍加体会即可。 ●??? 数据对象: 计算过程当中,任何充当计算对象的数据内容,都称为数据对象,是最一般意义上 的数据个体,今后提到数据对象,我们可以理解为一个固有数据类型,一个属于某 固有数据类型的变量,一个常量,一个标量,一个数据结构,一个数据结构的成员 或子对象,表达式求值的结果,或函数引用的执行结果(即函数值)。数据对象有数 据类型(固有的或派生的),可以有数据值。可以是一个数据的集合,集合的元素 数目称为秩,每个数据对象有一个秩。它可以是一个标量或是一个数组。有名数 据对象的类型可以显式或隐式地规定。 ●??? 子对象: 子对象是某些有名对象的一部分,可由程序的其他部分引用和独立地定义。包括数据组的部分,字符串的部分(子串)和结构的部分(成员)。作为子对象的来源的数据对象称为该子对象的父对象。子对象只能用子对象描述符来引用。变量的子对象是变量。 ●??? 标量: 任何单一的数据对象,无论它是属于固有数据类型还是属于派生数据类型,就称为标量。 ●??? 数组: 一个标量的集合,如果其中每一个元素都具有相同的数据类型,相同的种别参数,那么无论它们组织成什么形式,例如行,列,块,甚至更高维度,都把这种集合称为数组。 ● 派生数据类型: 一个标量的集合,如果其中元素的种别参数不同,或者数据类型不同,那么把这个 集合称为结构,或派生数据类型。 从程序运行这么一个动态过程的角度来看,特别是基于下面的基本计算模式: 输入数据输出数据 数据可以有2种基本行为方式: ● 数据对象在整个程序运行过程当中保持不变; ● 数据对象在整个程序运行过程当中发生变化。 保持不变的称为常量,发生变化的称为变量。 FORTRAN 95中常量与变量,标量与数组这些概念与早期的FORTRAN版本有微妙的差异。请熟悉FORTRAN77的读者注意。 ●??? 常量有两种,一种是字面常量,早期的FORTRAN版本称为常量;另一种是命名常量,早期的FORTRAN版本称为常数符号名,显然新的名称突出表达了该数据作为常量的特点,它与字面常量的最大差别在于有一个名字。这个名字可以在它的定义作用域当中任意引用。它们的共同点在于,它们的值在可执行程序执行期间是不变的。 ●??? 字面常量是标量,根据它的字面的句法构成来表明其数据类型,种别参数以及值。在一个可执行程序中,所有具有相同形式的字面常量具有相同的值。命名常量则是一个与具有PARAMETBR属性的名字相结合的常量。它的数据类型,种别参数和取值,都需要预先定义,而一旦定义之后,在其定义的作用域内都不会改变,而且这个名称也必须接受唯一解释的。 ●??? 变量的值即使用DATA语句给以初始化也能在程序运行过程当中发生变化。而FORTRAN 95的变量包括了早期FORTRAN标准里面所谓的变量和数组。具有DIMENSION属性的名字在FORTRAN 95标准里面也称为变量,属于数组。 ●??? 数组是标量的有序集合,它在FORTRAN 95标准当中有许多新的扩充,将在后面作详细讨论。 在程序运行过程当中,对数据的使用首先必须是定义,然后才能是引用,所谓定义和引用的差别在于: ●??? 对于一个变量,

文档评论(0)

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

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

1亿VIP精品文档

相关文档