《fortran程序设计.ppt》由会员分享,可在线阅读,更多相关《fortran程序设计.ppt(13页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、FORTRAN 77语言-结构化程序设计,讲师:徐红波 Email: x_h_,教材: FORTRAN语言FORTRAN77结构化程序设计谭浩强等编著,第一章 FORTRAN语言程序设计初步,1.1 FORTRAN语言发展概况 1.2 简单的FORTRAN 77程序分析 1.3 FORTRAN源程序的书写格式,1.1 FORTRAN语言发展概况,FORTRAN语言是世界上第一个被正式推广使用的高级语言。它是1954年被提出来的,1956年开始正式使用,至今已有五十多年历史,但仍历久不衰,它始终是数值计算领域所使用的主要语言。 FORTRAN是英文FORmula TRANslation的缩写,意
2、为“公式翻译”。它是为科学、工程问题或企事业管理中的那些能够用数学公式表达的问题而设计的,其数值计算的功能较强。 FORTRAN 77还不是完全结构化的语言,但由于增加了一些结构化的语句,特别是“块if”语句,提供了IF-ELSE-ENDIF形式的判断控制语句,使FORTRAN 77能用于编写结构化程序。此外,还扩充了字符处理功能,使FORTRAN不仅可用于数值计算领域,还可以使用于非数值运算领域。 目前,FORTRAN77已在国内外广泛使用,大多数计算机系统都已配置了FORTRAN 77。 FORTRAN语言的不同版本:FORTRAN I、FORTRAN II、FORTRAN IV、FORT
3、RAN 66、FORTRAN 77、FORTRAN 90,1.2 简单的FORTRAN 77程序分析,为了使读者从一开始就了解什么是FORTRAN 77程序,下面先介绍两个很简单的FORTRAN 77源程序。 例1.1求三个数的平均数 程序代码: C CALCULATE THE AVERAGE OF THREE NUMBERS X=90.5 Y=87.0 Z=68.5 AVER=(X+Y+Z)/3.0 PRINT *, THE THREE NUMBERS ARE, X, Y, Z PRINT *, AVERAGE=, AVER END,例1.2分别求R=1,3,12,5时的圆周长,可以用一个子
4、程序来求圆周长。 源程序由两部分组成: (1)主程序 C MAIN PROGRAM PROGRAM EX2 PRINT *, R=, 1.0, C=, C(1.0) PRINT *, R=, 3.0, C=, C(3.0) PRINT *, R=, 12.0, C=, C(12.0) PRINT *, R=, 5.0, C=, C(5.0) END,(2)子程序 C SUBPROGRAM FUNCTION C(R) PI=3.1415926 C=2*PI*R RETURN END,从以上例子中可以看出: 1、一个程序由一个或若干个程序单位组成。主程序和每一个子程序分别是一个独立的程序单位。在解
5、决一个比较复杂的问题时,可以分别将每个功能编为一个子程序,然后按搭积木一样将各有关程序单位组成一个程序。一个程序单位就是一个模块,结构化程序设计需要采用模块化方法,在FORTRAN中,子程序是实现模块化的有效方法。 2、每一个程序单位都是以“END”结束的。在FORTRAN 77中,END既是一个程序单位的结束标志,又是一个独立的语句(结束语句)。主程序中的END语句的作用是使程序“停止运行”,子程序中的END语句是“使流程返回调用程序”。请注意在一个程序单位中只能有一个END语句,如果需要,可以用STOP语句使程序终止或用RETURN语句从子程序返回。,3、一个程序单位包括若干行。FORTR
6、AN行分为两类: (1)语句行。由一个FORTRAN语句组成,它对程序运行情况是有影响的。FORTRAN语句分为:执行语句和非执行语句。执行语句使计算机在运行时产生某些操作,如赋值语句、打印语句等。非执行语句(包括说明语句,数据语句等)将有关信息通知编译系统,以便在编译时作出相应的处理,例如类型说明语句、函数子程序语句等。 (2)非语句行,即注释行。它不是FORTRAN语句,它不被翻译成机器目标指令,不产生任何机器操作。它仅仅是为了人们阅读程序的方便而加到程序中的。一个程序中注释行的数目不受限制,根据需要而定。但一个程序单位不能只由注释行组成。注释行是程序的一部分,在打印程序清单时,注释行也照
7、样打印出来。注释行的内容完全是根据程序设计人员需要而写的,一般是为程序(或程序中某一部分)的作用作注释。注释可以用英文或汉语拼音文字,还可以用汉字作注释。在一些实用程序中,注释行的篇幅有时占整个程序的三分之一以上。,4、FORTRON程序中的语句可以没有标号,也可以有标号,根据需要而定。标号的作用是标志一个语句以便被其它语句引用。在同一个程序单位中不能有两个相同标号的语句。标号不影响语句的执行顺序。程序中语句执行的顺序一般依照它们在程序中的位置而定,即写在前面的语句先执行,写在后面的语句后执行。 5、一个程序单位中各类语句的位置是有一定规定的,例如PROGRAM语句应是主程序的第一个语句,FU
8、NCTION语句是函数子程序的第一个语句,END语句只能是程序单位中最后一行。 6、FORTRAN源程序必须按一定的格式书写。哪些内容写在一行中的哪一列都有严格的规定。,1.3 FORTRAN源程序的书写格式,FORTRAN源程序必须严格地按照一定的格式书写。在编译时对一行中不同位置上的内容分别处理。标准的FORTRAN程序纸格式见下图。,1、第l5列为标号区: 可以写l至5位整数。也可以没有标号。标号区中的空格不起作用。如 l00与100 或1 0 0作用相同。标号应是无符号整数(不应包括正负号或小数点)。标号大小顺序没有任何要求。假如第二行的标号为1000,第三行的标号可以是10,也可以是10000。 标号区内不得出现标号以外的内容,但注释行例外。注释行的内容可以写在标号区内,一行中第一列为“C”或“*”的,该行即被认为注释行。如果在第一列上出现的不是数字、空格或“C”和“*”的字符,编译时按出错处理。,2、第6列位续行标志区: 如果在一行的第6列上写一个非空格和非零的字符,则该行作为其上一行的续行。 3、第772列为语句区: 语句可以从第7列以后的任何一列开始写,但一行只能写一个语句。语句区中的空格(除引号内的字符串内的空格)在编译时被忽略,例如SIN(X)与S IN( X )等效。 4、第7380列为注释区: 程序员一般利用此8列为程序行编序号以便查找。,