




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、本章学习目标: 了解Fortran 中的合法字符 了解Fortran 语句和Fortran 程序基本结构 了解可执行和不可执行语句之间的区别 了解常量与变量的区别 理解INTEGER、REAL 和CHARACTER 数据类型的区别 掌握默认和显式类型说明的不同,理解为什么总该使用显式类型说明 了解Fortran 赋值语句的结构 掌握整数运算和实数运算的区别 了解Fortran 操作符号的运算级别 掌握Fortran 怎样计算混合运算表达式 掌握什么是内置函数和怎样使用它们 了解怎样使用表控输入和输出语句 了解为什么使用IMPLICIT NONE 语句很重要2.1 Fortran 字符集 For
2、tran 95字符集由86 个符号组成,Fortran 2003字符集由97 个符号组成:Fortran 不区分字母大小写。2.3 Fortran 语句结构语句有两种基本类型:可执行语句( executable) 和不可执行语句( unexecutable) 。Fortran 语句可以放在一行的任意位置,每行可以长达132 个字符。如果语句太长,不适合放在一行,那么可以用&符号标记在下一行继续这行的书写。语句标号可以是1 99999 之间的任何一个数字。如果使用语句标号,它在程序单元中必须是唯一的。感叹号后面跟随的字符是注释( comment) , Fortran 编译器不编译注释。2
3、.4 Fortran 程序结构声明部分终止部分执行部分声明部分由不可执行语句组成,位于程序的开头,定义程序名和程序引用的数据以及变量的类型。Fortran 95 的程序名可长达31 个字符,可以是宇母、数字和下划线( _ )任意组合,但是第一个字符必须是字母。终止部分由STOP 和END PROGRAM 语句组成。STOP 语句告诉计算机停止运行。END PROGRAM 语句告诉编译器程序中不再有语句需要编译,并自动地产生一条STOP 语句,因此,前面的 STOP 语句可省略。2.5 常数与变量Fortran 常数(constant ,也称为常量)是数据对象,它定义在程序执行之前,且在程序执行
4、期间取值不可改变。Fortran 变量( variable) 是一个数据对象,它的值在程序执行期间可以改变。程序单元中的每个Fortran 变量有唯一的名字,变量名是内存中特定位置的标号,该标号方便人类记忆和使用。Fortran 95 中的变量名可以长达31 个字符,由字母、数字和下划线字符的任意组合构成,但是名字的第一个字符必须是字母。编程时,给变量取有意义的名字Fortran 有5 个自带或内置的常数和变量数据类型,其中三个对数字有效(INTEGRE, REAL 和COMPLEX) ,一个是逻辑的(LOGICAL) ,还有一个是字符串组成的(CHARACTER)除内置数据类型以外, For
5、tran 允许程序员定义派生数据类型(derived data type)整型数据类型的常数和变量常用计算机中的单个字节存储。实型常数和变量几乎所有的计算机都支持符合IEEE 标准754 的浮点数。PC 编译器既支持32 位实数也支持64 位实数.2.5.3 字符常数和变量单引号或双引号之间的字符被称为字符文本( character context)。字符文本可以包含计算机上的任何字符,不仅仅是86 (97)个Fortran 字符集。如果字符串中包含 ,则可以用两个连续的单引号来表示。如: Toms girl friend“Toms girl friend”2.5.4 默认和显式变量类型有两种
6、方法可以定义变量的类型:默认式和显式 。如果在程序中没有明确指定变量类型,那么就是默认式定义变量类型:任何以字母i,j,k,l,m,n 开头的变量名假定为整型,其他字母开头的变量名则假定为实型。这一类型默认习惯从1954 年FORTRAN I 就开始启用。注意,默认情况下没有变量的类型为CHARACTER,因为在FORTRAN 1 中不存在该数据类型!变量的类型也可以在程序开头的声明部分显式地定义,如INTEHER : varl , var2 , var3,REAL : varl , var2 , var3,CHARACTER (len=) : varl , var2 , var3 , .常数
7、命名可以在类型声明语句中用PARAMETER 属性来创建:type , PARAMETER name=value , name2= value2 , .type 是常数的类型(整型、实型、逻辑型或字符型)CHARACTER, PARAMETER : ERROR MESSAGE= Unknown error!2.6 赋值语句和算术运算variable name = expressioni=i+1Fortran 中有下列标准算术操作符:+ 加法: a+b- 减法: a-b* 乘法: a*b/ 除法 a/b* 指数运算: a*b注意:两个操作符不可以连续出现。a*+b乘法符号不能省略。 a(x+y)
8、圆括号把一组数据项按要求组合在一起。2.6.1 整型运算整型运算的结果始终是整型。如3/4=0, 4/4=1, 5/4=1, 9/4=2要特别注意,以免出现不可预知的错误结果。2.6.2 实数运算实数运算总是产生实型结果,如:3.0/3.=0.75, 4./4.0=1.0, 1.0/3.0=0.333333,3.0/2=1.5注意,在一些计算机上,由于字长所限,会出现3.0*(1.0/3.0)1.0但是2.0*(1.0/ 2.0)1.02.6.4 混合运算1 1/ 41.01/ 41 1.0/ 411.01.25Fortran 95/2003 含有五种转换函数,使得可以显式地控制整数和实数之间
9、的转换例如,对于实数2.9995 和-2.9995 :2.6.5 混合运算和表达式例如,result=y*x当x为整数时表示x个y相乘,当x为实数时,表示exp( *ln )xy2.7 内置函数内置函数(intrinsic function,或自带函数):许多最通用的函数直接内置在Fortran 语言中。外部函数(external function) 或内部函数(internal function):用户定义的函数。Fortran 函数的输入参数( argument) ,出现在函数名后紧跟随的圆括号中,函数的输出是单个数据、逻辑值或字符串。一些内置函数2.8 表控(list-directed)
10、输入和输出语句输入语句( input statement) 从输入设备读入一个或多个数值,并将其存储到指定的变量中。输入设备可以是交互环境中的键盘,或批处理环境中的磁盘文件。输出语句( output statement) 写一个或多个数值到输出设备。输出设备可以是交互环境的显示屏幕,或批处理环境的输出设备。PROGRAM input exampleINTEGER ; i , jREAL aCHARACTER(len=12) charsREAD (*,*) i , j , a , charsEND PROGRAM input example1, 2, 3., this one.1, 2,. th
11、is one. ,3.程序的每条READ 语句从输入数据的一个新行开始读取。假如前一输入行的数据有遗留,那么这些数据会被抛弃。PROGRAM input example 2INTEGER:i, j, k,lREAD (*,*)i, jREAD (*,*) k,lEND PROGRAM input example 2输入数据1,2,3,45,6,7,8表控输出(list-directed output )意味着输出列表中的值类型决定输出数据的格式,如:Program output_exampleInteger:ixReal : thetaix=1Test=.true.Theta= 3.14159
12、3WRITE (*,*) ix= , ixWRITE (*,*) THETA= ,thetaWRITE (*,*) COS(THETA)= , cos(theta) WRITE (*,*) REAL(ix) , NINT(theta)END PROGRAM output_example输出结果为:ix= 1THETA= 3.141593COS(THETA)= -1.0000001.000000 3表控输出语句的输出不是很漂亮。打印出的值没有按整齐的列输出,不能控制实数显示数据的格式。2.9 变量初始化在Fortran 95/2003 中没有给未初始化的变量定义值。一些编译器自动地设置没有初始化
13、变量为0 ,而有些编译器设置它们为任意值。一些旧版的Fortran 编译器让未初始化的变量保留它所在程序单元前面己经存在的数据值。没有初始化的变量可能带来严重问题!有三种方法初始化变量: 赋值语句、READ 语句和类型声明语句中的初始化。2.10 IMPLICIT NONE 语句IMPLICIT NONE 语句出现在类型声明语句之前。IMPLICIT NONE 语句使默认类型功能丧失。当程序含有IMPLICIT NONE 语句,没有显式类型声明语的变量被认为是错的。例1:设计一个Fortran 程序,读取输入的华氏温度,转换为开氏温度。2.11 程序举例5()()32.0273.159ooTC
14、TF例2:编写程序,读取碳14 在样本中的剩余百分比,计算样本的年龄,打印出计算结果,并给出计量单位。01logdecayQtQ 其中,Q为当前放射性材料量,Q0为初始初始量,碳14的衰减常数为0.00012097/年。2.12 调试Fortran 程序在调试Fortran 程序时会遇到三种错误:1 语法错误(syntax error) 。如拼写错或标点符号错,在编译时被编译器检测出来。2 运行错误(run-time error) ,当程序执行时企图做非法运算操作,则发生运行错误(例如,除以0) 。这些错误导致程序执行时异常中断。3 逻辑错误(logical error ),程序能够正常编译和
15、运行,但是结果是错误的。2.13.1 良好编程习惯l.尽可能给变量取有意义的名字。以便一看就可以理解变量的作用。如day, month, money 。2. 在程序中始终用IMPLICIT NONE 语旬,以便编译时,编译器发现打字错误。3. 在编写的程序中明确地注释程序的每个变量,要注意每个物理量相应的计量单位。4. 常数的取值要始终一致。例如,不要在程序某点取值3.14. 而在另二个地方又取值3.141593 。为保证一致性,要用常数,需要的时候就引用常数名即可。5. 保证给所有常数指定所用机器支持的相应精度。例如, 取值3.141 593. 而不是3.14 。6. 实际连续变化的量不该用整型数据来计算,如距离、时间等。仅对固定值使用整型数,如
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年青年教师人才培养专项计划
- 厂房建设主要施工机械设备配置计划
- 小学六年级上册美术校本课程计划
- 智慧城市创业计划书范文
- 初中信息技术创新实验项目计划
- 安全生产综合知识进修题卷加答案
- 2025年三年级上册小学语文部编教学计划
- 土地租赁经营与种植开发协议
- 安全生产综合知识考评习题库与答案
- 建筑设计行业资格证明(5篇)
- 国家基本公共卫生服务项目规范(第三版)培训-教学课件
- 孤独症康复教育人员上岗培训练习题库及答案
- 机械设备投入计划及保证措施
- 东南大学附属中大医院ECMO操作记录单
- 每月防火检查及记录表(每月一次)
- DFMEA编制作业指导书新版
- 工程项目成本预算表
- GB∕T 3639-2021 冷拔或冷轧精密无缝钢管
- DB51∕T 2628-2019 司法所外观及室内标识规范
- 一般自我效能感量表(GSES)
- 2022版义务教育语文课程标准(2022版含新增和修订部分)
评论
0/150
提交评论