Fortran程序总结

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

1.行的书写(行的长度、分行、续行)

一行可以是0~132个字符,空格有意义,

语句最长不超过2640个字符

一行可以有多个语句,用“;”分隔

一个语句可分行写,读行标记为&(放在尾部),但如为关键字,首尾均加&。

最多可有511个续行。

2.说明语句必须出现在可执行语句之前,格式说明语句(FORMAT语句)除外。

3.注释标志符:

自由格式:!固定格式:C *

语句分隔符:分号;(仅自由格式可以使用)

续行符:自由格式:&

申明标号:1到5位无符号整数

空格:关键字、变量、常量内部不能用空格,但相邻两者之间须用空格

4.信息处理的分类:数值处理和信息处理

现代计算机工作原理:程序存储和程序控制(冯·诺依曼)

1、运算器——算术运算、逻辑运算

2、控制器——根据指令控制计算机工作

运算器、控制器和寄存器称为中央处理器CPU

3、I/O设备——提供数据传输服务

4、总线——数据传输的公共通道

1.机器语言:二进制代码形式,可以被计算机直接执行,不可移植

2.汇编语言:用助记符来代替机器指令,容易记忆,不可移植

3.高级语言:接近自然语言(英语)的程序设计语言,又称算法语言,易学、易用、易

维护,可移植性好例:FORTRAN、BASIC、PASCAL、C、LISP、PROLOG等

5.FORTRAN90程序是一种分块结构,由若干个程序单元块组成:

主程序、外部子程序、模块、块数据单元无论是主程序单元,还是子程序单元,都是独立的程序单位,应该独立编写,它们的形式相似。

非语句行:注释语句:!后的所有字符都被编译器忽略。可独占一行,也可在其它语句之后,空行为注释行(固定格式用C和*)

6.常量的定义:常量是程序执行过程中不能变化的量。

基本数据类型有五种:整型、实型、复型、字符型和逻辑型

前三种属于数值类型,后两种为非数值类型,主要用于文字处理和控制。

FORTRAN 90通过KIND值确定整数的存储开销、最大位数和取值范围,如表所示。缺省KIND 值则取默认值4。

KIND值字节数二进位数取值范围

1 1 8 -128~127

2 2 16 -32768~32767

4 4 32 -2147483648~2147483647

格式:SELECTEND_INT_KIND(N) :

功能:返回范围在-10N~10N的整数的kind-Value

在FORTRAN90中,也可以表示二进制、八进制、十六进制形式的无符号整数。其形式如下:二进制数:B’101101’ 或B”101101”

八进制数:O’76210’

十六进制数:Z’1FA2’

实型常量

指数形式

⑴数字部分:小数形式实数或整数

⑵指数部分:只能为整数错例:4E5.6

⑶数字部分不能丢;例:10-4:E-4(错)1E-4(正确)

⑷以标准化形式(规格化指数)输出(<1或>=1,此处分为两类)

1。数字部分的值小于1,且小数点后的第一位数字非0

例:0.743643E-12 (正确)21.835E-12 (错)

2。数字部分有且仅有一位非零的整数。

例:7.43643E-12 (正确)0.21835E-12 (错)一般实数范围:-1038~+1038,有效位7~8位也有的系统允许数的范围更大,可以超过10100。

上溢:overflow 下溢:当0处理

为了能得到理想的范围和有效数字,要求说明种别类型参数值。(书上有误)

例:INTEGER,PARAMETER::long=SELECTED_REAL_KIND(8,88)

则符号常数long提供了至少8位精度,以及-1088~+1088的值的范围。以此说明的实型常量:

1、PRECISION(4.37_long) 精度至少为8

2、RANGE(4.37_long) 范围至少88次冪

常用实数一般分为两种:

real(4)单精度(默认)

real(8)双精度

实数种别为8时常量的表示(双精度数)

有效位:15位;数字部分D±指数

例:1.2D2

字符常量长度:字符串内字符的个数空格算一个,起止界不算,长度可为0。(空串’’或"" )

用于标识一个程序成分,例如符号常量、变量、派生类型等。对于名字有下列要求:

1.名字的长度不能超过31个字符

2.名字的组成成分可以是字母、数字和下划线

3.名字的第一个字符必须是字母

4.在名字中不能出现空格

提倡使用具有一定含义的名字,提高程序的清晰度和可读性。

变量字母、数字、下划线组成

字母开头

长度1-31个

Fortran90关于变量说明的新功能:

1.在变量说明的同时,可以给变量赋初值。

INTEGER::I=5,J=126

REAL::X=7.2,Z,W=774.2

2.在说明变量的同时也可说明其种别

REAL(KIND=4)::X,Y 或REAL(4)::X,Y

3.在说明变量的同时,还可说明变量的属性INTEGER,PARAMETER::I=5,J=123

REAL,DIMENSION(1:10)::A

程序单元概念

程序单元是FORTRAN语言的基本成分。程序单元可以是主程序、子程序、模块或块数据程序单元。子程序可以是函数子程序或子例行子程序。模块包含的说明是对其它的程序单元形成可访问性。块数据单元用来对有名公用区中的数据对象赋初值。(F90中不提倡使用)•主程序是不包含SUBROUTINE、FUNCTION、MODULE或BLOCK DATA语句作为其第一条语句的程序单元。主程序其他限制

•主程序的可执行部分不能包含有RETURN语句或者ENTRY语句。

•程序名对可执行程序是全局的,而且不得于该可执行程序中的任何其它程序单元名、外部过程名或公用块名相同,也不得于主程序内的任何局部名相同。

•在主程序的作用范围内的说明不得包含OPTIONAL语句、INTENT语句、PUBLIC语句或它们的等价属性,在主程序内SAVE语句不起作用。

•主程序内的任何内部过程的定义必须跟在CONTAINS语句之后。

•子程序是可以完成某一独立算法或功能的程序单元,但它功能的具体体现要通过主程序(或子程序)的调用来实现。

•按子程序与主程序的位置关系分为内部过程和外部过程。

•内部过程可以出现在主程序、外部过程或模块内。

•模块也是一种在程序单元之外独立编写的程序单元。它有独特的形式,即模块程序单元内没有可执行语句,除了说明语句外,最多包含内部过程。模块的主要作用是供其它程序单元引用。

程序单元引用模块,实际是将模块内的全部语句复制到本程序单元。因此模块起共享及复制的作用。

块数据程序单元对有名公用块内的数据对象提供初值。

•支持程序的最基本的语句主要有四种:类型说明语句、赋值语句、输入语句、输出语句。

•整型数据运算速度快,在机内存储没有误差,但能表达的值的范围较小;

实型数据能表示小数、分数及不同的精度,表达的值的范围大,但数的外部表示和机器存储会有误差。例,10.2,在机内表示可能为10.999998。

使用实数时,尽量避免作相等或不相等的比较例:A是实型变量,对其与10.2作相等与否比较,不能写成:IF(A==10.2)PRINT *,A应改写为:IF(ABS(A-10.2)<1.0E-6)PRINT*,A

•有关种别的函数

•KIND(X)

•SELECTED_INT_KIND(N)

•SELECTED_REAL_KIND(N,M)

•测试标准种别:

•KIND(0) 4(整型)

•KIND(0.0) 4(实型)

•KIND(.FALSE.) 4(逻辑类型)

•KIND(‘A’) 1(字符类型)

相关文档
最新文档