GB T 3057-1996 信息技术 程序设计语言 Fortran.pdf
《GB T 3057-1996 信息技术 程序设计语言 Fortran.pdf》由会员分享,可在线阅读,更多相关《GB T 3057-1996 信息技术 程序设计语言 Fortran.pdf(306页珍藏版)》请在麦多课文档分享上搜索。
1、中华人民共和国国家标准信息技术程序设计语言发布实施国家技术监督局发布前言本标准等同采用国际标准 信息技术 程序设计语言 和信息技术 程序设计语言 技术修改根据 本标准在及附录 作了改正本标准在技术内容上与国际标准完全一致 仅在如下两点与国际标准略有差异根据 的规定 表的编号作了改动根据国情附录 的内容从略本标准说明了以 语言所表达的程序的形式 并建立了对这些程序的解释 它由 语言的规格说明所组成本标准的附录 至附录 都是提示的附录本标准从生效之日起 同时代替本标准由中华人民共和国电子工业部提出本标准由电子工业部标准化研究所归口本标准起草单位 中国科学院软件研究所 北京有线电厂 全国信标委程序设
2、计语言分委会本标准主要起草人 程虎 陈明源 吴庆宝 徐祖渊 王懋江 陈天晴 鲍有新 冯惠本标准于 年 月首次发布前言国际标准化组织 和 国际电工委员会 是世界性的标准化专门机构 国家成员体 它们都是 或 的成员国 通过国际组织建立的各个技术委员会参与制定针对特定技术范围的国际标准 和 的各技术委员会在共同感兴趣的领域内进行合作 与 和 有联系的其他官方和非官方国际组织也可参与国际标准的制定工作对于信息技术 和 建立了一个联合技术委员会 即 由联合技术委员会提出的国际标准草案需分发给国家成员体进行表决 发布一项国际标准 至少需要 的参与表决的国家成员体投票赞成国际标准 是由 信息技术 联合技术委
3、员会制定的此第二版将取消并代替已作了技术性修改的第一版附录 和 仅提供参考信息引言标准程序设计语言本标准说明了以 语言 非正式地称作 所表达的程序的形式 并建立了对这些程序的解释 它由 语言的规格说明所组成 在本标准中 未说明此语言的子集 除 中注明的限制外 通常称作 的国家标准的语法及语义全部都包含在本标准内 因而 任何遵循标准的 程序在本标准下也是遵循标准的 除了本标准文本中指明的少数例外之外 各种新的功能都可以兼容地合并到这类程序中去一个遵循标准的 处理系统也是一个遵循标准的 处理系统注意 本语言的名称 与 的差异在于仅有其第一个字母是大写及 在其语言的正式的名称中只使用大写字母 但 并
4、不延续这一传统概貌在本标准对 的各项扩充中 下面七项显著的扩充是主要的数组运算改善了数值计算设施参数化的内在数据类型用户定义的数据类型用于模块数据定义及过程定义的各种设施指针语言进化概念在本标准中还包括了其他一些扩充 诸如改进了源程序形式的设施 更多的控制构造 递归 新增的输入 输出设施以及动态可分配数组等数组运算涉及大型数组的计算是工程计算及科学计算的重要部分 在 中 数组可以当作实体来使用 由于下述两个主要理由而将用于处理完整数组及子数组 数组片段 的运算包括在本语言中这些功能提供一种更简洁且更高级的语言 它将允许程序员能更迅速且更可靠地开发及维护科学 工程应用系统在许多种计算机体系结构中
5、 这些功能都能极大地方便对数组运算的优化中的算术运算 逻辑运算 字符运算及内在 预定义的 函数等均被扩展 以便能对数组值操作数进行运算 这类扩展包括完整数组赋值 部分数组赋值及屏蔽的数组赋值 数组值常量及数组值表达式以及用来定义由用户提供的数组值函数的一些设施 还提供了一些新的内在过程 用来操作及构造数组 实现聚集 分散运算 并用来支持与数组有关的扩展的计算能力 例如 提供了一个内在函数 用来对某个数组中的元素求和数值计算科学计算是 的基本应用领域之一 而且本标准全部技术工作的指导目标是加强 语言使之成为实现科学领域软件的工具 尽管在科学应用系统中非数值计算急速增长 但数值计算仍处于主导地位
6、相应的 这些扩充包括 对数值精度说明的可移植控制 对数值内部表示特征的查询 以及改进了的对数值程序性能的控制 例如 改进了的变元范围的减少与求比例参数化的字符数据类型对于诸如在中国 日本这类使用大字符集的民族语言 通过使用一种用于字符数据类型的种别参数而增加了用于多字节字符数据的一些可选设施 这种设施也允许使用用于各种特殊目的的附加字符集 诸如用于数学 化学或音乐等方面的字符导出类型导出类型 是本标准给予下述这样一组功能的术语 这些功能允许程序员定义一些任意的数据结构并定义对这些数据结构进行的运算 数据结构是用户定义的 且由内在数据类型和导出数据类型构成的聚集 对结构化对象的内在的使用包括赋值
7、 输入 输出以及作为过程变元使用 若不带有由用户定义的 附加的导出类型运算 则该导出数据类型设施是一种简单的数据结构机制 若带有附加的运算定义 则该导出类型为数据抽象提供了一种有效的实现机制过程定义可以用于定义对内在类型或导出类型的运算 也可以用于定义对内在类型及导出类型的非内在赋值模块定义在 中 无法仅仅在一个地方就定义一个全局数据区域并且使得一个应用系统中的全部程序单元都使用该定义 此外 在实现一组相关的过程 可能涉及公用数据对象 时 语句是不方便的且很受限制 最后 在 中没有一种手段使得各个过程定义 尤其是其接口信息对一个程序单元而言能成为是局部已知的 这些以及其他一些缺陷都由一种新类型
8、的程序单元来弥补这种程序单元可以包含数据对象声明 导出类型定义 过程定义以及过程接口信息等的任意组合 这种称为模块的程序单元可以被认为是块数据程序单元的普遍化及替代品 模块可由任何程序单元所访问从而使得该模块的内容对该程序单元是可使用的 于是 模块提供了一些改进的设施 用来定义全局数据区域 过程包及封装的数据抽象等指针指针允许数组成为动态大小的及重新排列的 指针还允许结构成为链接的 以便创建表 树及图 一个任意内在类型或导出类型的对象都可以声明为具有指针属性 一旦这样一种对象变为是与一个目标相结合的 它几乎可以出现在一个具有相同类型 相同类型参数及相同形的非指针对象可以出现的任何地方语言的变迁
9、随着一些新的设施的增加 某些旧功能变成冗余的 并由于其用途的衰减 可能最终被淘汰 例如前面间接提及的数值设施提供了双精度的功能 由于新的数组设施 导致非一致的变元结合 诸如一个数组元素与一个虚拟数组相结合 是不必须的 并且 事实上作为数组运算它是不太有用的 块数据程序单元是冗余的 且劣于模块等作为本语言变迁的一部分 提供了一个 已删除的及过时的 语言功能的目录 以便允许本语言中无用的功能从未来的标准中删去本标准的构成本文件由 章构成 论及 个概念领域 这 个领域以及论述此领域的各章如下高级 低级概念 第 章数据概念 第 章计算 第 章执行控制 第 章输入 输出 第 章程序单元 第 章作用域及结
10、合规则 第 章高级低级概念第 章 术语和概念 里包含了许多 的高级概念 它们包括有关一个可执行程序的概念及其主要部分之间的关系 本章还包括了程序单元的语法 语句顺序的规则以及贯穿本文件而被使用的许多基本术语的定义第 章 字符 词法记号和源程序形式 描述了 的低级元素 诸如字符集及允许的源程序形式 其中也包含了为 实体构造字面常量及名字的规则 并列出了全部 运算符数据概念数组运算 以数组作为数据对象 及数据结构提供了 中丰富的数据概念集合 其中主要的概念是数据类型的概念 数据对象的概念以及数据对象的使用的概念 这些概念分别在第 章中描述第 章 内在的和导出的数据类型 描述了一种数据类型与一个数据
11、对象之间的区别 然后重点描述了数据类型 本章把一种数据类型定义为 各个数据值 表示这些值的相应的各种形式 即各种常量以及对这些值的各种运算的一个集合 本章也介绍了内在数据类型的概念 并描述了 的各种内在类型 及 的性质 注意 这里只描述了数据对象的类型概念 而没有描述数据对象的声明及其性质的概念第 章还引入了导出 用户定义的 数据类型的概念 这些类型是一些复合类型 其成分最终将分解为内在类型 给出了定义导出类型的细则 注意 由于内在类型是预定义的 因而不需要也不可能由程序员再定义 因而 内在类型没有对应部分 与内在类型一样 本章仅仅论及导出类型的类型性质 而不论及导出类型数据对象的声明第 章
12、数据对象的声明与说明 详细地描述如何声明有名的数据对象 以及如何给它们以所希望的性质 属性 数据对象的一个重要属性 也即唯一的对每个数据对象都是必须的属性 是该对象的数据类型 因此 类型声明语句是本章的主要功能 本章详细地描述了各种属性以及说明这些属性的两种方法 类型声明语句及属性说明语句 本章还描述了隐式地确定类型和存储结合 及以及数据对象值的初始化第 章 数据对象的使用 主要论及变量的概念 并描述了变量能具有的各种形式 标量变量包括字符串及子串 结构 导出类型 对象 结构成分以及数组元素 数组及数组片段均被认为是变量 在各种数组设施中 本章描述了数组片段 子数组 以及数组的分配及去分配 用
13、户控制的动态数组计算第 章 表达式和赋值 描述了 中如何表达各种计算 这包括了在这些表达式中的表达式操作数 初等量 能具有的形式以及运算符的作用 运算符的优先级用语法规则的形式严格地进行了定义 并以表格形式进行了总结 这章的描述包括了定义的运算符 用户定义的运算符 与内在运算符等 的关系 本章详细地描述了对表达式求值的规则以及对内在的运算符及定义的运算符的解释规则 语义第 章还描述了把计算结果赋给数据对象的赋值 它有三种基本的形式 传统的赋值语句 指针赋值语句 以及 语句及 构造 其中 语句及 构造允许屏蔽的数组赋值第 章 内在过程 描述了一百多个内在过程 它们提供了一组丰富的计算能力 除中已
14、有的内在函数之外 还包括了许多数组处理函数 包括一组完善的数值环境查询函数 以及包括一组以非负整型数据形式来操作位运算的过程执行控制第 章 执行控制 描述了各种控制构造 构造 构造及 构造等 各种分支语句 各种形式的 以及其他控制语句 算术 以及 等 除了新增加的构造以外 以及为包括一个 终止可选语句 包括几个新增的控制子句以及包括新增的和 语句而扩充的 循环以外 其他语句都与 中的相同输入输出第 章 输入 输出语句 包含了对下述概念的定义 记录 文件 文件连接 及预连接文件 包括处理部分记录及变长记录的各种数据传输语句 及 等 文件定位及文件查询第 章 输入 输出编辑 描述了输入 输出格式
15、其中包括了 语句及 说明符 编辑描述符 表控输入 输出及名表输入 输出等程序单元第 章 程序单元 描述了主程序 外部辅程序 模块以及块数据程序单元 模块连同 语句一起 被描述为封装由其他程序单元使用 访问 的数据和过程定义的一种机制 模块被描述为用来定义下述各项目的工具 各种全局的导出类型定义 全局的数据对象声明 过程库以及它们的各种组合第 章 过程 包含了对过程 包括用户定义的函数及子程序 的定义及援引的综合论述 本章解释了隐式及显式过程接口的概念 标识出了要求有显式过程接口的各种情况 还描述了管理实元及虚元以及它们的结合的规则第 章还描述了在接口块中使用 可选项 用以允许用中缀运算符和前缀
16、运算符的形式以及用传统的函数形式对函数进行援引 类似地 本章还描述了在接口块中使用可选项 以便允许使用子程序调用的一种替代语法 本章还包含了对递归过程 语句语句 内部过程及 语句 语句函数 类属过程名以及访问非 过程的方法等的描述作用域及结合的规则第 章 作用域 结合和定义 解释了术语 作用域 由于增加了内部过程 模块及其他新功能 现在显得特别重要 的使用 并且描述了各种实体 包括各种名字及各种运算符 的作用域性质 也描述了管理过程变元结合 指针结合以及存储结合的一般规则 最后 第 章还描述了导致变量变为定义 具有可预见的值 的事件以及导致变量变为无定义的事件中华人民共和国国家标准信息技术程序
17、设计语言代替国家技术监督局批准实施概述范围本标准规定了以 语言表示的程序的形式 并建立以 语言表示的程序的解释 本标准的目的是对在各种计算系统上使用的 程序增进其可移植性 可靠性 可维护性并有效地执行处理系统一个计算系统和一种机制的组合 用这个机制来转换程序 使该程序在该计算系统上可以使用 在本标准中就称此组合为处理系统包含和排除本标准以标识出包含哪些条款和排除哪些条款的方法规定 语言的界限包含本标准规定用 语言书写的程序可以采用的各种形式解释一个程序及其数据的含义的一些规则由这种程序处理的输入数据的形式由使用这种程序而产生的输出数据的形式排除本标准不规定在计算系统上使用而转换程序的机制为在计
18、算系统上使用程序 而建立和控制此程序所需的操作程序的转换方法 或来自存储介质或到存储介质中去的它们的输入或输出数据的方法除了 的 至 项中对处理系统的检测和报表需求外 当本标准的规则对建立一个解释失败时 程序和处理系统的性能程序及其数据的大小或复杂性 它们可能超过任何专用计算系统的容量或特定处理系统的容量在特定处理系统上 量的表示法的物理性质以及数值的舍入 近似和计算的方法输入 输出记录 文件和单元的物理性质存储器的物理性质和执行过程遵循性本标准中规定的需求 禁止和可选基本涉及到遵循标准的程序能允许的形式和关系 而不涉及处理系统若可执行程序 见 只包含在此描述的形式和关系 并且可执行程序有按照
19、本标准的解释 则该可执行程序是遵循标准的程序若程序单元 见 能以这样的方式包含在可执行程序中 即允许可执行程序遵循标准 则该程序单元是遵循本标准的一个处理系统遵循本标准 若它用这样一种方法执行任何遵循标准的程序 它遵循这里的解释 服从任何限制 处理系统可以把这些限制强加在程序的大小和复杂性上它包括了检测和报告下述使用的能力 即在所提交的程序单元内使用了这里指明是删除的或过时的形式 这种使用能用编号的语法规则以及和它们相关的约束检测出来它包括了检测和报告下述使用的能力 即在提交的程序单元内使用了编号的语法规则以及和它们相关的约束所不允许的附加形式或关系它包括了检测和报告下述使用的能力 即在提交的
20、程序单元内使用了处理系统不支持的种别类型参数值 见它包括了检测和报告下述使用的能力 即在提交的程序单元内使用了第 章不允许的源程序形式或字符它包括了检测和报告下述使用的能力 即在提交的程序内名字用法的使用与第 章中的名字标号 运算符以及赋值符号的作用域规则不一致它包括了检测和报告下述使用的能力 即在提交的程序单元内使用了第 章中未定义名字的内在过程它包括了检测和报告拒绝一个提交的程序的理由的能力然而 在不是 见 的一部分的 中 处理系统不需要检测及报告被删除的功能或过时的功能的使用 或附加形式或关系的使用遵循标准的处理系统可以允许附加形式和关系 只要这种附加和标准的形式及关系不相抵触 然而 遵
21、循标准的处理系统可以允许附加的内在过程 即使这样做能引起和遵循标准的程序中的过程名相抵触也没关系 若这样的抵触发生并涉及外部过程名 允许处理系统使用内在过程 除非这个名字被给出一个接口体或被给出同一作用域单元 见第 章 中的 属性 遵循标准的程序不允许使用由处理系统增加的非标准内在过程注意 遵循标准的程序不允许包含国家标准中禁止的任何形式或关系 但若这些形式或关系不改变遵循国家标准的程序的固有解释 则遵循标准的处理系统可以允许这种形式或关系存在 例如 遵循标准的处理系统可以允许另外的内在数据类型因为遵循标准的程序可以对处理系统提出超出本标准范围的要求或可以包括非可移植的标准条款 如借助于非 定
22、义的外部过程 遵循本标准并不保证遵循标准的程序在所有或任何遵循标准的处理系统上将一致地执行在某些情况中 本标准允许某些设施的规定条目 这些设施不完全是在标准中规定的 这些设施被标识为依赖于处理系统的 它们必须和由处理系统确定的方法或语义一起向使用者提供的兼容性除了本章中注出的之外 本标准是对先前的 国家标准 即非正式地称为的一个向上兼容的扩充 对本标准而言遵循国家标准的处理系统也就是对 而言是遵循国家标准的处理系统 任何遵循标准的 程序仍然是在本标准之下遵循标准的然而 应该参见下面 项中有关内在过程部分 本标准限制了某些在 中依赖于处理系统的功能的行为 所以使用这些依赖于处理系统的功能中的一个
23、功能的这种遵循标准的 程序在本标准下就可能有一个不同的解释 但仍然是一个遵循标准的程序 在本标准中下列的性质有不同的解释当用常量来初始化 语句中一个 数据对象时 允许处理系统提供比在实型数据中所能包括的精度更精确的精度 而此精度是从实型常量导出的 本标准不允许处理系统有此可选性若一个不在公共块中的有名变量是在 语句中初始化的且没有规定 属性把它的 属性留给所依赖的处理系统 本标准规定 见 此有名变量有 属性要求 由输入表要求的字符个数必须小于或等于格式化输入期间在记录中的字符个数 除了在适当的 语句中规定 可选项之外 本标准规定 见 若在记录中没有足够的字符则用空格逻辑地填充输入记录本标准比
24、具有更多的内在函数并加了很少的内在子程序 然而 若遵循标准的程序援引具有和新的标准内在过程中的某个同样名字的过程 则它在本标准之下就有不同的解释 除非在一个 语句中将该过程规定为在附录中对非内在函数推荐给标准者之外用于格式输出语句中表项的 值对一些 编辑描述符将有不同形式的格式 此外标准规定 值如何舍入将影响输出字段形式 但 不涉及这个问题 因此 一些处理系统对值和 编辑描述符的某些组合将产生与 处理系统不同的输出形式允许对内在函数进行说明 甚至在对该类型没有定义的函数时亦可 例如本标准规定 对内在函数的一个类型声明只可以确认现存的函数的类型 于是 符合标准的程序说明了一个不是为某内在函数定义
- 1.请仔细阅读文档,确保文档完整性,对于不预览、不比对内容而直接下载带来的问题本站不予受理。
- 2.下载的文档,不会出现我们的网址水印。
- 3、该文档所得收入(下载+内容+预览)归上传者、原创作者;如果您是本文档原作者,请点此认领!既往收益都归您。
下载文档到电脑,查找使用更方便
5000 积分 0人已下载
下载 | 加入VIP,交流精品资源 |
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- GB 3057 1996 信息技术 程序设计语言 Fortran
