FORTRAN90第一章FORTRAN90概述.ppt

上传人:牧羊曲112 文档编号:6505861 上传时间:2023-11-07 格式:PPT 页数:32 大小:213.50KB
返回 下载 相关 举报
FORTRAN90第一章FORTRAN90概述.ppt_第1页
第1页 / 共32页
FORTRAN90第一章FORTRAN90概述.ppt_第2页
第2页 / 共32页
FORTRAN90第一章FORTRAN90概述.ppt_第3页
第3页 / 共32页
FORTRAN90第一章FORTRAN90概述.ppt_第4页
第4页 / 共32页
FORTRAN90第一章FORTRAN90概述.ppt_第5页
第5页 / 共32页
点击查看更多>>
资源描述

《FORTRAN90第一章FORTRAN90概述.ppt》由会员分享,可在线阅读,更多相关《FORTRAN90第一章FORTRAN90概述.ppt(32页珍藏版)》请在三一办公上搜索。

1、1 FORTRAN 90概述,FORTRAN是最早的高级语言,是数值计算领域广泛使用的程序设计语言。1954年提出,1956年正式使用 1958年出现FORTRAN II,1962年出现FORTRAN IV。1966年美国标准化协会(ANSI)公布:标准Fortran(X3.9-1966)相当于Fortran IV基本Fortran(X3.10-1966)相当于Fortran II,1.1 FORTRAN语言的发展概况,1972年国际标准化组织(ISO)公布 国际标准:FORTRAN ISO 1539-1972 分为三级:一级:FORTRAN 又称FORTRAN 66 二级:介于Fortran

2、与Fortran 间 三级:FORTRAN1976年ASNI对FORTRAN(X3.9-1966)进行了修订,1978年正式公布新的ANSI标准:FORTRAN(X3.9-1978),称为 FORTRAN 77,有两个级别:FORTRAN全集与 FORTRAN 子集。,1980年ISO公布国际标准FORTRAN ISO 1539-1980 1991年ISO推出基于Windows编程的FORTRAN 90标准:ISO/IEC 15391991FORTRAN 95业已出现,新的标准正在准备。,1.2 FORTRAN 90语言的特点,对FORTRAN77的扩充主要有:引入数组运算提高数值计算功能内在

3、数据类型参数化用户定义的数据类型、运算和赋值引入模块数据及过程定义的功能引入指针概念,FORTRAN90的先进性:真正实现了程序的结构化设计增加了结构块、模块和过程调用的灵活性吸收了C与PASCAL语言的长处,具有现代语言特色在数值计算方面,扩展了FORTRAN 77的操作功能对多字节字符集的支持对FORTRAN77的向下兼容。,1.3 简单的FORTRAN 90程序分析,简单的FORTRAN90源程序基本结构:PROGRAM 程序名说明语句部分执行语句部分内部过程END PROGRAM 程序名其中内的内容是可选的:可以出现,也可以没有,但不可以只出现一部分。,每个语句行不能超过132个字符,

4、书写格式是自由的,大写字母与小写字母不加区分,一行中如果有多条语句,则用分号隔开。语句行中!表示注释,!后面的内容只有注释作用。但是,在引号内部的!不在此列。空行使程序易于阅读,也可把空行看作注释语句。在一行的末尾加上&(续行标志),下一行就会与本行形成一个较长的行。只在需要时采用继续行的办法书写语句,不提倡书写很长或续行很多的语句。,例:求三个数(5,10,23)的平均值。,PROGRAM TEST!计算三个数的平均值 A=5;B=10;C=23 ave=(A+B+C)/3 write(*,*)AVE=,ave END PROGRA&M TEST!注意续行方法,1.4 FORTRAN 90字

5、符集,FORTRAN90字符集包括:大写与小写英文字母阿拉伯数字下划线_特殊字符。+,-,*,/,(,),!,:等其它可打印字符。,常量:在程序运行过程中其值始终保持不变。,整型常量就是整数,两字节整数的范围为-32768到 32767,4字节整数的范围为-231到231-1。例:100,-123,45000,1.5 常量与变量,实型常量就是实数,有两种表示方法:小数型,如:1.3,-0.5,3.14159,指数型,如:0.45E+4,1.234E-2,12E+6,-3.5E+3,常量,字符型常量就是用引号括起来的字符串。例如:This is a test。,逻辑型常量只有两个:.TRUE.和

6、.FALSE.,可以分别简写为.T.和.F.,特别注意:左右两个小点不能少。,对于指数形式的实型常量,用D代替E就表示此实型常量是双精度型常量。至于复型常量,则由复平面上的点坐标表示。例如(5,6),(-2.1,4.3)等。,每个变量都会分配到一个相应的存储空间,这个空间就是该变量的存储地址,是相对固定的。,变量:在程序运行过程中其值可以发生变化。,变量必须有名字和类型,它的值可以变化,与其类型密切相关,变量名是变量的标志。命名规则:以字母开头,由字母、数字、下划线组成的字符串,允许长度为31个字符,并且不区分大小写字母:Ab和 aB 是同一变量。同一个程序模块中不能有相同名字的两个变量。最好

7、不要用FORTRAN中用到的名字作变量名。FORTRAN中所有名字都遵守命名规则,变量,变量与它所表示的数据有相同的类型。变量必须先进行类型说明,有三种说明方式:隐含约定:“IN”规则 以字母I、J、K、L、M、N打头的变量为整型变量,其余字母打头的为实型变量。FORTRAN 90并不推荐IN规则,可以用IMPLICIT NONE取消此规则用隐含说明语句将以指定的字母开头的全部变量定义为指定类型,是对“IN”规则的扩充。语句格式:IMPLICIT 类型(字母表),类型(字母表)IMPLICIT INTEGER(A,F,S-W),REAL()指定以,F,S,T,U,V,W打头的变量为整型变量,以

8、K开头的变量是实型变量不能出现相互矛盾的隐含说明语句,用类型说明语句定义变量的类型,可以改变隐含说明语句和“I-N”规则的约定,有六种类型语句:INTEGER(整型说明语)REAL(实型说明语句)DOUBLE PRECISION(双精度型)COMPLEX(复型说明语句)LOGICAL(逻辑型说明语句)CHARACTER(字符型说明语句)例:INTEGER A,K3,MAXW,CL REAL AREA,KEY,MAXL 类型说明语句优先级高于隐含说明语句,又高于隐含规则 说明语句是非执行语句,应出现在所有执行语句前,隐含说明语句还必须出现在类型说明语句前。,类型说明语句的一般形式:类型说明符,属

9、性:变量表例:INTEGER AGE!整型说明 REAL:SCORE=90!实型说明并赋初值 REAL(8):db!双精度型,:可以省略 INTEGER A,K3,MAXW,CL REAL AREA,KEY,MAXL CHARACTER CH,STR*5!CH的长度为1,1.6 FORTRAN函数,固有函数可在源程序中直接使用。,函数必须有一个或几个自变量,自变量的类型必须与规定的相同。自变量的顺序可能是重要的。函数值也有规定的类型。,固有函数名分为“通用名”和“专用名”。通用名是属名,根据自变量的类型来确定函数值的类型。例如:函数ABS(X),求X的绝对值,自变量X可以是实型,双精度型,甚至

10、是复型(复数的绝对值是其模);而专用名是某种类型专用的,对自变量类型有严格要求。例如:DABS(X)求双精度实数X的绝对值,CABS(Y)求复数Y的模。建议尽量不要使用专用名。,常用的数学函数:abs(),atan(),acos(),asin(),tan(),cos(),int(),sqrt(),exp(),log(),max(),min(),sin(),sinh(),sign(),mod()INT()只是简单截去实数的小数部分,并不进行四舍五入运算。三角函数中角度使用弧度制。自变量的取值必须使函数有意义。一些字符处理函数也是相对重要的。函数的用法可以查看有关资料。,1.7 算术表达式,表达式

11、的数据类型与其计算结果一致。有四种表示式:算术表达式:x/sqrt(x*2+y*2+z*2)*exp(sin(y)字符表达式:name/TEL:/Telno关系表达式:B*B.GE.4*A*C 或 name.eq.China逻辑表达式:score.gt.80.and.sex.eq.female.,表达式是由运算符、括号和运算元素所构成的有意义的计算式。,算术表达式中,乘号用*,不能省略;除号用/;括号用(),不用中括号与大括号,并要注意配对使用。乘方用*表示。,算术表达式中数据类型与转换规则:同类型的量运算结果也是该类型的,特别注意两个整数相除的情况,由于商也是整数,其小数部分被丢掉。例:-5

12、/2=-2,5/2=2 不同类型的量运算时,先将低级类型向高级类型转换再计算,结果类型与高级类型一致。例如:1/4*5.0=(1/4)*5.0=0*5.0=0.0*5.0=0.0,各种算术运算的优先级别自高到低为:括号函数乘方乘除加减。同一级别的运算,从左至右进行,但连续的乘方运算是先右后左进行的。,1.8 例解表达式,例:用FORTRAN表达式表达数学代数式,(3*A*A+4*B*3)/(A-B),(-B+SQRT(B*B-4*A*C)/(A+A),6*SIN(X+Y)*2)/(140/(3+A),SIN(Y/SQRT(X*2+Y*Y),1.9 FORTRAN语句分类,程序单元是FORTRA

13、N90程序的基本成分,以END作为结束标志。可以是主程序、外部子程序、模块或块数据单元,可以单独编译。,每个FORTRAN程序都有且仅有一个主程序,主程序的开始语句为:PROGRAM 程序名,程序单元,主程序、外部子程序、模块子程序可以包含内在子程序,包含内在子程序的程序是该内在子程序的宿主,宿主以及宿主内部的其他内在子程序都可以调用内在子程序。,语句可分为两类:可执行语句与不可执行语句,语句的书写顺序有一定限制,1.10 语句,1.11 赋值语句,=是赋值号,不是等号;A=A+2,先计算表达式的值,结果类型与参加最后一次运算的量中级别高者相同;再赋给变量,必要时,按变量的类型进行类型转换。例

14、如:1/4*5+2.8=0*5+2.8=0+2.8=0.0+2.8=2.8 R=1/4*5+2.8得到R=2.8,R是实数,不要转换 I=1/4*5+2.8得到I=2,I是整数,转换,格式:v=e 变量=表达式 左值=右值只要赋值语句有意义,表达式可以是各种类型的。,实数转换为整数时,只简单地丢掉小数部分,不做“四舍五入”操作。,1.12 简单的输出/输入,把内存里的数据送到外部设备的过程叫输出。程序必须有输出。,通过外部设备把数据送到内存的过程叫输入。程序是否需要输入数据是由它要解决的问题决定的。,输入/输出过程有三个因素:用于输入/输出的设备 输入/输出的数据格式 输入/输出的数据,输出数

15、据和输入数据都要按一定的格式进行。,FORTRAN有三类输入/输出格式:标准格式(表控格式)最简单的格式用户格式无格式(二进制),数据输入用READ语句进行。,READ语句:READ(输入设备,输入格式)输入列表 以*作输入格式表示用自由格式的表控输入,只要正确输入数据即可:READ(输入设备,*)输入列表 以*作输入设备表示用键盘输入:READ(*,*)输入列表 简写 READ*,输入列表,每条READ语句都从新的输入行开始读数。,输入数据只有在按下回车键之后才有效。在上机操作时,一定要记得在输入数据后按回车。,输入数据类型要正确。,数据的之间用空格或逗号或回车符来分隔。,当输入数据中有/符

16、号时,/后面的输入数据没有作用;如果/前面输入的数据不够用,其余要输入的数据已经有值的保持不变,否则,数值(算术)型与字符型数据取零值;逻辑型数据取真值;输入多余的数据是没有作用的。,输入的数据,算术型数据必须是与对应的变量有相同类型的常量;字符型数据,当长度不够时以空格填充,当长度超过时截掉多余部分;逻辑型可用以T或F或.T或.F打头的任意字符串输入。,print语句:print 输出格式,输出列表 以*作输出格式就表示用表控格式,输出形式由编译系统决定。字符型数据总是按字符表达式的原样输出的。整数占11列,实数占15列(小数6列,小数点1列,整数7列,符号1列,必要时改用标准化指数形式输出

17、:指数4列,小数6列,小数点1列,整数为1,符号1列),右对齐。例:PRINT*,I,A+B,C*SQRT(A*B),输入数据中两个连续的逗号表示不改变相应变量的值。,数据输出用WRITE语句和PRINT语句进行。,可用整型常量n*常量C的形式输入n个值为常量C的数据,给输入列表中n个连续的变量赋值。,复型数据输出时,实部与虚部分别按实型数据处理,输出的结果为复型常数形式:在一对小括号中,实部与虚部用逗号隔开。,PRINT语句要输出的内容太多时会自动换行。,逻辑型数据输出时,被写成T(.TRUE.)或F(.FALSE.)。,每次执行PRINT语句都会另起一行输出(除非用特殊的格式说明),因此,

18、PRINT*语句会输出一个空行。,write语句:write(输出设备,输出格式)输出列表 以*作输出设备就表示向屏幕输出,write(*,输出格式)输出列表 与 print 输出格式,输出列表 效果一样;更进一步,以*作输出格式就表示用表控格式,write(*,*)输出列表 与 print*,输出列表 效果一样。例:WRITE(*,*)A,B*SIN(X),PRINT语句只能向屏幕输出,而WRITE语句可以指定输出设备。WRITE完全可以代替PRINT语句,PRINT语句似乎多余。,1.13 参数语句(PARAMETER语句),格式1:Parameter(p1=c1,p2=c2 PAPARAMETER(PI=3.14159,e=2.71828),说明:定义符号常量的值,是非执行语句,符号常量:将程序中多次使用的常量用一个名字表示。符号常量不是变量,不能赋值。,符号常数也有类型,可以预先说明:INTEGER pPARAMETER(p=8)改变符号常量的值对程序中相关语句都有影响。符号常量可以出现在表达式能出现的任何地方。,格式2:类型说明,Parameter,其他属性:符号常量名=初值表达式,说明:初值表达式是常量或常量表达式,一个语句中可以定义多个符号常量:REAL,PARAMETER:PI=3.141,e=2.718,

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 生活休闲 > 在线阅读


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号