fortran95教程4章
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
第2篇. 计算的叙述
算法的每一个步骤,都必须给予确切的定义。对于算法当中所
考虑的每一种情况,每一个有待执行的动作,都必须严格地和
不含混地加以规定。…对于以描述算法作为目的而设计出来
的,采用了形式的定义的程序设计语言,或者说计算机语言,
它的每一个语句都必须有非常确切的意义。
---- D.E.Knuth[1]《The Art of Computer Programming》
本质上FORTRAN就是一门语言,一门人与计算机赖以进行有效交流的语言,在这个意义上和我们使用的中文,英文等没有本质差别。现在假设要来描述一种大家都陌生的语言,那么总是要分成两个方面来描述,即一方面要描述这门语言的表象和形态,也就是它使用哪些符号,哪些词汇,一般的句式如何,怎样才能完整叙述一个任务之类;另一方面需要说明这门语言的语义,也就是说这门语言是如何用来表达我们需要它表达的意思的。
第4章基本上就是描述FORTRAN作为一种语言的基本形态,也就是书写这种语言的书写规则。
接下来几章则逐步说明如何用FORTRAN来表达我们的要求,或者反过来说,FORTRAN提供了些什么表达方式,以便我们用来向计算机提出合理的任务:
● 表达基本数据;
● 表达数据的结构;
● 完整地描述数据;
● 构造表达式;
● 驱动计算的赋值;
● 计算过程的结构控制;
在整个第二篇,我们将领略到FORTRAN 95是如何能够做到精致地描述计算的,而把一个问题阐述清楚了,就意味着问题已经解决了一大半。
[1]Donald E. Knuth (高纳德),Stanford University的The Art of Computer Programming荣休教授,而The Art of Computer Programming(计算机程序设计技巧)正是他的伟大著作的名称。洋洋七大卷的《The Art of Computer Programming》是当今全世界每一个计算机科学家所膜拜的圣经。1974年在该书刚完成前面很少一部分时,就给他带来了计算机科学家们梦寐以求的图灵奖。
第4章FORTRAN 95语言的形貌
要说明一门语言的形态,必须回答以下问题:
●它使用哪些符号来表达信息?
●它的词汇如何构成?
●它的语句如何构成?
●如何表达一个完整的任务?
具体的对于一门计算机语言,把这几个问题更加明确地转换过来,就是:
●它使用键盘上的哪些符号,各个符号有哪些用途?
●它的词汇如何由键盘字符构成?含有哪些固定的词汇?以及容许自由构成合法词汇
的规则是什么?
●它具有哪些固定的语句格式?以及容许自由构成合法语句的规则是什么?
●我们交待给计算机的任何任务,都必须明确说明任务的开始,执行步骤和完成,因
此一段完整的源代码应该具备什么样的形式?以及应该具备哪些要素?
本章就是要回答这些问题。
4.1 FORTRAN语言所使用的字符
从最抽象的层面来看,人与计算机的交流只是信息的交流,而信息总是需要依靠某种信号来表示,对于人来说,最方便的就是字符。而对于计算机来说,自然就是键盘所能敲出的那些字符(信号),因此下面就是要说明:
●FORTRAN 95能识别键盘上敲出的哪些字符?
●每个字符对于FORTRAN 95来说又意味着什么?
4.1.1 FORTRAN 95所使用的基本字符
按照FORTRAN 95标准的规定,一切FORTRAN 95的实现平台都必须使用下面表4-1所列出来的这个基本的字符集,或者说,这个字符集是所有遵循FORTRAN 95标准的编译
器所使用的字符集的公共子集。这样原则上,局限在这个字符集上的源码是能够被任何遵循FORTRAN 95标准的编译器所识别的。
表4-1基本的FORTRAN 95字符集:
文字字符
英文字母 A B C D E F G H I J K L M N O P Q R S T U V W X Y Z
数字0 1 2 3 4 5 6 7 8 9
可以看到基本字符分为两大类:文字字符和特殊字符。除了货币符号可以本地化之外,其他任何字符都必须依照表里的形式。
对于基本字符有如下几个问题需要予以注意。
一.文字字符的用处:
●主要是命名的作用,可以用来命名语言中的一切对象,这三种符号可以混合使用;
●其中数字还具有它本来的含义,就是表示数目。
二.特殊字符的用处:
特殊字符主要具有功能的意义,如编辑功能,运算功能,语法功能等。
FORTRAN 95标准原则上接受小写字母。因此除了以下位置,大小写是等价的。
三.大小写必须区分的位置:
●作为字符常量的字符串里面;
●输入输出的纪录里面;
●作为编辑描述符的引号或撇号里面。
因为在上述几种情形,大小写是字符型数据的不同数据取值。
如果不幸遇到一个FORTRAN 95标准的怪异的编译平台,偏偏不接受小写字母,这是FORTRAN 95标准所许可的,这时就得小心了。不过幸好我们常用的编译平台,例如CVF,都是接受小写字母的。
另外,在OPEN或者INQUIRE语句里面的FILE=或NAME=后面是否区分大小写,也是由编译平台指定的。
如果是需要调用其他语言写的子程序,而恰好该种语言(例如C语言)是区分大小写的,这时就需要特别小心。
【例4-1】如果用C写了两个子程序EIGEN和eigen,然后有如下的FROTRAN片断:
EXTERNAL EIGEN
...
CALL EIGEN
...
END
这时它是该引用EIGEN还是eigen呢?如果所使用的FROTRAN系统正好是怪异的那种,没问题。如果是常见的如CVF,这时它就无法区分EIGEN和eigen,这样就必须给它们更换名称了。
四.数字的涵义:
除了以下情形,数字总是表示十进位数字
●属于二进制,八进制,十六进制的字面常量;
●带有B,O,Z编辑描述符的输入输出纪录。
【例4-2】以下语句当中的数字不是属于十进位数字:
DATA I, J, K / O‟1001‟, 23.54, Z‟5CA2‟ /
其中第一个为八进制数,第二个为十进制数,第三个为十六进制数。
五.下划线的涵义:
●下划线的主要作用就是置于单词之间代替空格,使得我们在命名时使用清楚的英语
词汇。
●下划线不能置于任意名称的前面,但是可以置于名称的最后。
●下划线也用于在字面常量中区隔常量的值和种别参数。
无论给什么对象起名,都尽量使用完整的英语单词,同时使用下划线以区隔不同的单词。所谓好记性不如烂笔头,只有这样才能切实保证你在任何时候,在程序代码的任意位置都知道任意变量等的含义。
4.1.2 与平台有关的FORTRAN辅助字符集
上节列出的基本字符集是在一切FROTRAN的编译平台都可以使用的,被FORTRAN 95标准规定为必须使用的默认字符集。另外还有些辅助的字符则是不同的平台有不同的用法约定。
辅助字符分两类:可打印字符和不可打印字符。
●可打印字符;
各种本地化语言的字符,象汉字,希腊字母等,都可以应用在字符串,注释,和输入输出纪录当中。
●不可打印字符。
主要就是控制字符,例如制表符Tab键。
制表符(Tab键)在FORTRAN77标准当中主要用来表示6个空格,这样在固定源程序形式的代码的每行的开头使用Tab,就自动地空出6个空格。