您好,欢迎访问三七文档
当前位置:首页 > 临时分类 > Fortran77和90-95编程入门(丁泽军)
前言Fortran语言为科大理学院本科课程。编者自2000年起对天文与应用物理系本科生讲授,由于国内尚没有一本完整综合了Fortran90与Fortran77的教材,故编写了此教程用于教学,主要内容源自于如下国内外最新Fortran90和经典Fortran77教材,并参考了Internet上诸多网页,在此向各位原作者(恕不详列)致谢。编者感谢研究生李会民的帮助。请留意本教程限于校内教学目的使用。2001年10月参考书目:(1&2为本课程的主要参考书)1《Fortran90教程》(浙江大学出版社)(潘在元、张素素)2《Fortran语言—Fortran77结构化程序设计》(清华大学出版社)(谭浩强、田淑清)3《VisualFortran编程指南》(人民邮电出版社)(邓巍巍、王越男)4“Fortran90编程”()(日本京都大学福田博之)5《FortranPowerStation4.0使用与编程》(北京航空航天大学出版社)(桂良进、王军、董波)6“Fortran90CourseNotes”(Univ.Liverpool,ACMarshell)7《IntroductiontoFORTRAN90》(LarryNyhoff&SanfordLeestma)课程安排目录1.1Fortran语言发展概况1.1.1Fortran的历史a)FortranIªFortranIVb)Fortran77ªFortran901.1.2学习Fortran的意义a)Fortran77?b)Fortran90!1.2Fortran程序简例1.2.1编程实例a)基本语句b)输出字符1.2.2Fortran程序的特点1.3Fortran程序的基本组成1.3.1字符集1.3.2源码格式a)固定格式b)自由格式c)文件名1.3.3程序组成a)程序总体构造b)程序单位c)程序体和语句顺序d)英文名e)标号和标签1.4数学运算1.4.1常量和变量类型a)常量b)变量1.4.2内在函数1.4.3算术表达式a)算术运算符和运算优先级b)算术表达式的含义和表示方法c)表达式运算中的类型d)运算的误差1.4.4赋值语句a)算术赋值语句b)执行时的类型转换1.5CompaqVisualFortran软件的使用1.5.1版本介绍1.5.2安装和运行2.1算法和流程图2.1.1算法2.1.2流程图a)传统流程图b)三种基本结构c)结构流程图d)伪代码表示的算法2.2逻辑运算2.2.1关系表达式a)关系运算符b)关系表达式2.2.2逻辑表达式a)逻辑量b)逻辑运算符c)逻辑表达式的运算2.2.3逻辑IF语句2.3选择结构2.3.1块IF构造a)块IF的组成和执行b)ELSEIF语句c)IF块构造d)IF构造的缺省形式e)IF构造的嵌套2.3.2多重选择和CASE构造a)整型b)字符型c)逻辑型3.1单纯循环3.1.1GOTO语句实现循环3.1.2有循环变量的DO构造a)DO语句和循环次数b)DO循环执行步骤c)循环终端语句d)停止语句e)DO循环嵌套f)DO循环规则g)隐DO循环3.2条件循环3.2.1无循环变量的DO构造a)一般形式b)EXIT语句c)CYCLE语句3.2.2DOWHILE语句4.1数据类型和属性4.1.1类型说明语句a)一般形式b)类型说明c)赋初值d)DATA语句4.1.2种别说明a)种别说明方法b)种别值c)种别函数d)常数种别e)整数的其他进制4.1.3属性说明a)属性b)PARAMETER属性c)DIMENSION属性4.2非数值型数据4.2.1逻辑型数据a)逻辑型变量b)逻辑赋值4.2.2字符型数据a)字符变量b)字符子串c)字符操作与赋值d)字符比较e)字符函数4.3派生数据类型4.3.1数据结构4.3.2派生类型a)派生类型定义b)缺省初始化c)结构构造函数d)应用5.1数组定义与类型5.1.1定义数组a)数组的描述b)数组元素c)数组片段d)三元下标e)向量下标5.1.2数组类型a)显示形状数组b)自动数组c)可调数组d)假定形状数组e)假定大小数组f)延迟形状数组5.2数组赋值与运算5.2.1赋值a)赋值方式b)数组的存储顺序c)与DO循环的差异d)RESHAPE语句e)WHERE构造f)FORALL屏蔽赋值5.2.2运算a)基本运算b)数组与数组c)数组与标量d)数组内在函数e)数组的输入输出5.2.3数组的动态分配a)可分配数组b)ALLOCATE语句c)DEALLOCATE语句6.1程序单元结构6.1.1概述6.1.2主程序6.1.3过程a)外部过程b)内部过程c)内在过程6.1.4块数据6.2过程6.2.1什么是过程a)分类b)特性6.2.2外部过程a)子程序b)函数c)EXTERNAL属性和哑过程d)ENTRY语句6.2.3变元的性质a)INTENT属性b)SAVE属性c)关键字变元d)可选择变元与OPTIONAL属性e)哑元改名f)INTRINSIC属性6.2.4其它过程a)内部过程b)递归过程c)类属过程d)多层调用6.2.5过程接口a)接口形式b)INTERFACE语句c)必需接口d)超载操作符e)自定义操作符f)超载赋值号6.2.6作用域a)作用域单元b)名称的作用域6.3模块6.3.1数据共享a)共享方式b)COMMON语句c)EQUIVALENCE语句d)INCLUDE语句e)模块6.3.2模块的用法a)定义模块b)引用模块6.3.3模块的应用a)全局数据b)过程共享c)公用派生类型d)全局可分配数组e)抽象数据类型和超载运算7.1输入输出编辑7.1.1输入输出语句a)相关语句b)WRITE语句c)PRINT和TYPE语句d)READ语句7.1.2I/O列表a)NAMELIST语句b)I/O列表实体7.1.3非格式输入输出编辑a)直接列表I/Ob)名称列表I/O7.1.4格式化输出编辑a)格式化I/O和ASSIGN语句b)输出规则c)可重复编辑描述符d)I编辑符e)F编辑符f)可变格式输出g)E编辑符h)G编辑符i)D编辑符j)L编辑符k)A编辑符l)B、O、Z编辑符m)EN、ES编辑符n)不可重复编辑描述符o)撇号编辑符p)H编辑符q)X编辑符r)纵向控制符s)斜杠编辑符t)反斜杠编辑符和美元编辑符u)T,TL,TR编辑符v)冒号编辑符w)P编辑符x)SP,SS,S编辑符y)输出格式指定和I/O列表7.1.5格式化输入编辑a)输入规则b)整数输入c)实数、复数和双精度数的输入d)逻辑型和字符型数据的输入e)BN、BZ编辑符f)Q编辑符和可变格式输入g)输入格式指定和I/O列表7.2文件的存取7.2.1逻辑设备和文件a)逻辑设备b)外部文件c)内部文件7.2.2外部文件分类a)格式化文件b)无格式文件c)二进制文件d)顺序访问文件e)直接访问文件7.2.3文件记录的存取a)格式化顺序文件b)格式化直接文件c)无格式顺序文件d)无格式直接文件e)二进制顺序文件f)二进制直接文件7.2.4文件操作语句a)OPEN与DEFINE语句b)ENDFILE语句c)CLOSE语句d)文件指针定位语句7.2.5使用硬件设备考试内容本节介绍Fortran的起源与发展历史,讲述Fortran由产生到形成标准FortranIV、Fortran77,并进一步形成新标准Fortran90/95的发展历程。a)FortranIªFortranIVFortran是目前国际上广泛流行的一种高级语言,适用于科学计算。Fortran是英文FORmulaTRANslation的缩写,意为“公式翻译”。它是为科学、工程问题中的那些能够用数学公式表达的问题而设计的语言,主要用于数值计算。这种语言简单易学,因为可以像抄写数学教科书里的公式一样书写数学公式,它比英文书写的自然语言更接近数学语言。Fortran语言是第一个真正推广的高级语言。至今它已有四十多年历史,但仍历久不衰,始终是数值计算领域所使用的主要语言。Fortran语言问世以来,根据需要几经发展,先后推出形成了很多版本。第一代Fortran语言是在1954年提出来的,称为FortranI。它于1956年在IBM704计算机上得以实现。在此之前编写计算机程序是极为繁琐的,程序员需要详细了解为之编写代码的计算机的指令、寄存器和中央处理器(CPU)等方面的知识。源程序本身是用数学符号(八进制码)编写的,后来采用了助记符,即所谓机器码或汇编码,这些编码由汇编程序转换为指令字。在50年代书写和调试一个程序要很长时间,因为用这种方式编写程序显然是很不方便的,尽管它能使CPU高效地工作。正是这些原因,促使由JohnBackus率领的IBM公司的一个小组研究开发最早的高级程序设计语言Fortran。其目的是开发一种容易理解、简单易学又能几乎像汇编一样高效运行的语言,他们取得了极大的成功。Fortran语言作为第一种高级语言不仅是一次创新,也是一次革命。它使程序员摆脱了使用汇编语言的冗长乏味的负担,而且它使得不再只是计算机专家才能编写计算机程序,任何一名科学家或工程技术人员,只要稍加努力学习和使用Fortran,就能按自己的意图编写出用于科学计算的程序。经过不断发展,FortranI形成了很多不同版本,其中最为流行的是1958年出现的FortranII,它对FortranI进行了很多扩充(如引进了子程序),FortranII在很多机器上得以实现。其后出现的FortranIII未在任何计算机上实现。1962年出现的FortranIV对原来的Fortran作了一些改变,使得FortranII源程序在FortranIV编译程序下不能全部直接使用,导致了语言不兼容的问题。这样就形成了当时同时使用FortranII和FortranIV两种程序设计语言的局面。正因为Fortran满足了现实的需要,所以它传播得很快,在传播和使用过程中不可避免地产生了多种版本。各种Fortran语言的语义和语法的规定又不完全一致,这给用户带来了极大的不便。用户迫切希望有能在各种机型上能互换通用的Fortran语言。因此Fortran语言的标准化工作变得十分迫切。1962年5月,当时的美国标准化协会ASA(AmericanStandardAssociation)(后来改名为ANSI—AmericanNationalStandardsInstitute,现名为NIST—NationalInstituteofStandardsandTechnology)成立了工作组开展此项工作,1966年正式公布了两个美国标准文本:标准基本FortranX3.10-1966(相当于FortranII)和标准FortranX3.9-1966(相当于FortranIV)。由于Fortran语言在国际上的广泛使用,1972年国际标准化组织(InternationalStandardOrganization、简称ISO)公布了ISOFortran标准,即《程序设计语言FortranISO1539-1972》,它分为三级,一级Fortran相当于FortranIV,二级Fortran介于FortranII和FortranIV之间,三级Fortran相当于FortranII。FortranIV(即Fortran66)流行了十几年,几乎统治了所有的数值计算领域。许多应用程序和程序库都是用FortranIV编写的。但很多编译程序并不向这一标准靠拢,它们往往为实现一些有用的功能而忽略标准;另外,在结构化程序设计方法提出以后,人们开始感到FortranIV已不能满足要求。FortranIV不是结构化的语言,没有直接实现三种基本结构的语句,在程序中往往需要用一些以GOTO语句以实现特定的算法;而且为了使非标准的Fortran源程序能够交换移植,产生了“预处理程序”,通过预处理程序读入非标准的Fortran源程序,生成标准的Fortran文本,从而实现了源程序的交换移植,但这种自动生成的For
本文标题:Fortran77和90-95编程入门(丁泽军)
链接地址:https://www.777doc.com/doc-4416139 .html