190 likes | 298 Views
第 八 章 数 据 文 件. §8.1 FORTRAN 数据文件的基本结构. 记录:相关数据的序列. 例如:. 从键盘上输入的数据以回车键分隔构成一个记录; 显示在屏幕上的每一行数据构成一个记录;. READ 、 WRITE 语句都是以记录为单位进行读、写操作;. WRITE( * , * )A, B, C 执行一次该语句就输出一条记录;这一记录由三个数据项 A 、 B 、 C 构成。. 记录是文件的组成单位。. §8.1 FORTRAN 数据文件的基本结构. §8.1 FORTRAN 数据文件的基本结构. 文件:由记录构成的序列.
E N D
§8.1 FORTRAN数据文件的基本结构 记录:相关数据的序列 例如: 从键盘上输入的数据以回车键分隔构成一个记录; 显示在屏幕上的每一行数据构成一个记录; READ、WRITE语句都是以记录为单位进行读、写操作; WRITE( * , * )A, B, C 执行一次该语句就输出一条记录;这一记录由三个数据项A、B、C构成。 记录是文件的组成单位。
§8.1 FORTRAN数据文件的基本结构 文件:由记录构成的序列 文件名.扩展名 文件名:1-8个非空字符 扩展名:1-3个非空字符 数据文件:文件名.dat
§8.2 FORTRAN数据文件的存取方式 顺序存取 写记录时:第1个记录→第2个记录→…→第n个记录→… 读记录时:第1个记录→第2个记录→…→第n个记录→… 直接存取 从文件中读取记录或把记录写入文件,都是根据指定记录号直接进行的。 数据在文件中可以用两种形式存放: 用字符形式(或称ASCII码形式)存放——有格式存放; 用二进制代码形式——无格式存放。
§8.3 数据文件的使用 打开文件:用一个设备号与一文件相连接。 对一个可执行程序来说,只有连接上设备号的文件才是存在的。或者说,只有连接上设备号的文件才能被可执行程序中的READ、WRITE语句通过该设备号进行读、写操作。 关闭文件:断开设备号与文件之间的连接。
一、OPEN语句 功能:对已经存在的文件建立文件与设备号的连接; 建立新文件并建立文件与设备号的连接; 指明文件的结构格式和对文件的处理方式。 格式: UNIT=2:设备说明,用设备号2与文件相连接 FILE=‘JF.DAT’:与设备号2相连接的文件名为JF.DAT STATUS=‘OLD’:该文件的状态是一个已经存在的老文件 ACCESS=‘SEQUENTIAL’:该文件的存取方式是顺序文件 FORM=‘FORMATTED’:该文件是有格式文件 ERR=100:打开文件出错时,转到语句标号为100的语句继续往下执行
一、OPEN语句 1,设备说明:UNIT=IE IE:设备号,数值范围为l或大于l的正整数。 如果设备说明符是OPEN语句中的第一项,则UNIT=可以省略不写。如: OPEN(1) 2,文件名说明:FILE=CE CE:文件名,字符表达式。 如果缺省,由计算机系统来确定文件名并把文件名与设备号连接。
一、OPEN语句 3,存取方式说明: ACCESS=CE CE:字符表达式 SEQUENTIAL;说明被打开文件为顺序存取方式; DERECT:说明被打开文件为直接存取方式; 若说明符ACCESS=CE缺省,则隐含值是SEQUENTIAL。
一、OPEN语句 4,文件状态说明:STATUS=CE (字符表达式) NEW:表示指定的文件尚不存在。当在执行OPEN语句时,将在磁盘上建立该文件的同时,使文件的状态改变成OLD。 OLD:表示指定的文件是已经存在的老文件。 SCRATCH:表示该文件是一个暂时存在的文件,与通道号连接的文件在关闭时将自动删除。注意:此状态不能与FILE=CE说明项共存。 UNKNOWN:表示不知道文件状态,由计算机系统来查询文件的状态。若文件存在则取OLD,若文件不存在则取NEW。 说明项STATUS=CE缺省:则隐含为UNKNOWN
一、OPEN语句 5,文件格式说明:FORM=CE (字符表达式) FORMATTED:被连接文件是有格式文件。 UNFORMATTED:被连接文件是无格式文件。 说明项FORM=CE缺省:当被连接文件是顺序存取方式,则隐含为FORMATTED;当被连接文件是直接存取方式,则隐含为UNFORMATTED 6.记录长度说明:RECL=IE IE:整型表达式,其值指定直接存取文件记录的长度。 记录长度的单位为字节。 对于直接存取文件必须指定记录长度。 对顺序存取文件.这项说明必须省赂。
一、OPEN语句 7.空格符处理说明:BLANK=CE CE:字符表达式 用来说明对输入记录中空格符的处理。 NULL:说明输入的记录中,每个数值域中的空格符都被忽略,如果全部是空格,其值为零; ZERO:说明输入的记录中,每个数值域中的空格除前导空格符外都处理成数字零; 若说明符BLANK=CE省去不写,则隐含值为NULL。 说明符BLANK只适用于有格式输入。
一、OPEN语句 8.出错处理说明:ERR=IE IE:本程序单位中的一个可执行语句标号。 用来说明OPEN语句操作出错时的转向。当OPEN语句操作出错(如指定的老文件并不存在等等)并不终止程序运行,而是转向标号为IE的语句继续执行。 9.出错状态说明:IOSTAT=IV IV:整形变量 OPEN语句执行正常,计算机系统给IV赋零值。 OPEN语句执行出错,计算机系统给IV赋正整数值,具体的数值由计算机系统规定。
二、CLOSE语句 功能:解除文件与设备号的连接。 格式: 1,设备说明:UNIT=IE 2,出错状态说明: IOSTAT=IV 3.出错处理说明: ERR=IE 4,文件状态说明:STATUS=CE (字符表达式) KEEP:文件 被关闭后被保存; DELETE:文件 被关闭后被删除; 说明项STATUS=CE缺省:则隐含为KEEP。
二、CLOSE语句 注意: 1,经CLOSE语句关闭的文件,如果想再次使用,必须重新用OPEN语句打开; 2,一个CLOSE语句只能关闭一个文件; 3,当整个程序正常结束后,程序中所有被打开的文件都将以KEEP状态被关闭; 4,CLOSE语句和相对应的OPEN语句可以设置在同一个可执行程序的不同程序块中; 5,文件关闭后,与其相应的通道号可以重新使用。
用Origin软件画出函数 f(x)=x2 的图像。
练习: 编写用线性同余法产生[0,1]之间均匀分布的为随机数的子程序,调用子程序产生10个随机数,将这些随机数输出到一个数据文件中。 线性同余法: 从一个‘种子’ 出发生长出一个随机数序列 a、b、c:幻数。一般取