6Fortran程序设计6文件.ppt

上传人:p** 文档编号:166401 上传时间:2023-03-10 格式:PPT 页数:30 大小:633KB
下载 相关 举报
6Fortran程序设计6文件.ppt_第1页
第1页 / 共30页
6Fortran程序设计6文件.ppt_第2页
第2页 / 共30页
6Fortran程序设计6文件.ppt_第3页
第3页 / 共30页
6Fortran程序设计6文件.ppt_第4页
第4页 / 共30页
6Fortran程序设计6文件.ppt_第5页
第5页 / 共30页
6Fortran程序设计6文件.ppt_第6页
第6页 / 共30页
6Fortran程序设计6文件.ppt_第7页
第7页 / 共30页
6Fortran程序设计6文件.ppt_第8页
第8页 / 共30页
6Fortran程序设计6文件.ppt_第9页
第9页 / 共30页
6Fortran程序设计6文件.ppt_第10页
第10页 / 共30页
亲,该文档总共30页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述

《6Fortran程序设计6文件.ppt》由会员分享,可在线阅读,更多相关《6Fortran程序设计6文件.ppt(30页珍藏版)》请在第壹文秘上搜索。

1、程序离不开数据,有效组织数据输入是设计和编程序离不开数据,有效组织数据输入是设计和编写程序的基本要求。写程序的基本要求。从键盘输入数据和向屏幕输出数据,适用于数据从键盘输入数据和向屏幕输出数据,适用于数据量比较小的情况,不能与其它软件或程序交换数量比较小的情况,不能与其它软件或程序交换数据信息。据信息。从文件输入、向文件输出数据,适用于数据量比从文件输入、向文件输出数据,适用于数据量比较大的情况,便于同其它软件或程序交换数据信较大的情况,便于同其它软件或程序交换数据信息。息。物理设备物理设备: :计算机外部硬件设备,如:磁盘、磁带、键盘、计算机外部硬件设备,如:磁盘、磁带、键盘、显示器等。文件

2、中数据被存储在某个外部设备上。显示器等。文件中数据被存储在某个外部设备上。逻辑设备逻辑设备: :在程序中使用的设备描述符号。在程序中使用的设备描述符号。物理设备与逻辑设备之关系物理设备与逻辑设备之关系: :一个物理设备可定义多个逻一个物理设备可定义多个逻辑设备,一个逻辑设备可与多个不同物理设备连接。辑设备,一个逻辑设备可与多个不同物理设备连接。外部文件外部文件: :在物理设备上建立的文件。设备描述符为一个在物理设备上建立的文件。设备描述符为一个整数,称为设备号,通过整数,称为设备号,通过OPENOPEN语句指定。语句指定。* *、0 0、5 5、6 6为为标准设备号。标准设备号。内部文件内部文

3、件: :在内存上建立的文件。设备描述符为字符型变在内存上建立的文件。设备描述符为字符型变量名、字符型数组名、字符数组元素名、子串名。量名、字符型数组名、字符数组元素名、子串名。 物理设备与逻辑设备物理设备与逻辑设备内部文件名内部文件名, ,逻辑设备名逻辑设备名CHARACTERCHARACTER* *40 str1,str240 str1,str2str1=str1=125,250,375125,250,375READ(READ(str1str1, ,* *) i,j,k) i,j,kWRITE(WRITE(str2str2,100) i,j,k,i+j+k,100) i,j,k,i+j+k内

4、部文件名内部文件名, ,逻辑设备名逻辑设备名str1=str1=125,250,375125,250,375str2=str2=i=125 j=250 k=375 i=125 j=250 k=375 i+j+k=750i+j+k=750物理设备:内存储器物理设备:内存储器PARAMETER(max=100)PARAMETER(max=100)REAL:score(max),N,sum=0.0,aveREAL:score(max),N,sum=0.0,aveOPEN(1,FILE=OPEN(1,FILE=exam2.inexam2.in) )OPEN(2,FILE=OPEN(2,FILE=exa

5、m2.outexam2.out) )READ(1,READ(1,* *) N) NREAD(1,READ(1,* *) (score(I),I=1,N) (score(I),I=1,N)WRITE(2,WRITE(2,* *) ) 学生成绩有:学生成绩有:WRITE(2,100) (score(I),I=1,N)WRITE(2,100) (score(I),I=1,N)WRITE(2,200) aveWRITE(2,200) avePRINTPRINT* *, ,程序运行正常结束。程序运行正常结束。ENDEND外部文件名外部文件名, ,逻辑设备号逻辑设备号外部文件名外部文件名, ,逻辑设备号逻

6、辑设备号物理设备:磁盘物理设备:磁盘 外部输入文件:外部输入文件:exam2.inexam2.in 5 5 78.5,55.0,85.5,90.0,68.5 78.5,55.0,85.5,90.0,68.5 外部输出文件:外部输出文件:exam2.outexam2.out 学生成绩有:学生成绩有: 78.5, 55.0, 85.5, 90.0, 68.578.5, 55.0, 85.5, 90.0, 68.5 平均分数:平均分数: 75.575.5 文件的概念文件的概念 文件文件: 存放在某种存储设备上的一组数据集合,由文件名存放在某种存储设备上的一组数据集合,由文件名唯一标识。唯一标识。在在

7、FORTRAN的的I/O系统中,数据以文件的形式进行存储和交换,操作系统中,数据以文件的形式进行存储和交换,操作系统以文件为单位对数据进行管理。系统以文件为单位对数据进行管理。 文件由若干记录组成。没有记录的文件为空文件。文件由若干记录组成。没有记录的文件为空文件。 文件操作(读、写)以记录为单位。从文件中一次输入文件操作(读、写)以记录为单位。从文件中一次输入一个记录,向文件中一次输出一个记录。一个记录,向文件中一次输出一个记录。 通过通过 READ 和和 WRITE 语句从文件中输出、输入数据。语句从文件中输出、输入数据。 文件分内部文件和外部文件两种文件。文件分内部文件和外部文件两种文件

8、。内部文件内部文件: 存放在内存储器上的文件。存放在内存储器上的文件。内部文件特点内部文件特点: 保存小批量数据,不能长期保存。保存小批量数据,不能长期保存。内部文件作用内部文件作用: 一般用于少量二进制数据与字符型数据相一般用于少量二进制数据与字符型数据相互转换,以及字符串和合并或截取。如:互转换,以及字符串和合并或截取。如: PROGRAM examPROGRAM exam CHARACTER CHARACTER* *40 str1,str240 str1,str2 str1=125,250,375 str1=125,250,375 READ(str1, READ(str1,* *) i,

9、j,k) i,j,k WRITE(str2,100) i,j,k,i+j+k WRITE(str2,100) i,j,k,i+j+k100 FORMAT(i=,I3, j=,I3, k=,I3, i+j+k=,I3)100 FORMAT(i=,I3, j=,I3, k=,I3, i+j+k=,I3) PRINT PRINT* *,i,j,k,i,j,k PRINT PRINT* *,str2,str2 END END外部文件外部文件: 连接在计算机主机上的一类设备连接在计算机主机上的一类设备(如:键盘、如:键盘、显示器、打印机等显示器、打印机等)或存放在外部存储器上的文件。或存放在外部存储器上

10、的文件。外部文件特点外部文件特点: 能长期保存大批量数据。能长期保存大批量数据。在程序中使用外部文件,必须先用在程序中使用外部文件,必须先用OPEN语句为外部文语句为外部文件指定设备号,建立外部文件与设备号之间的联系。如:件指定设备号,建立外部文件与设备号之间的联系。如: OPEN(1,FILE=exam2.in) OPEN(2,FILE=exam2.out) READ(1,*) (score(I),I=1,N) WRITE(2,*) 学生成绩有:学生成绩有:在在FortranFortran中有中有4 4个预定义的外部文件个预定义的外部文件( (设备设备) ):设备号连接的设备星号(*)总是键

11、盘和显示器0缺省状态下是键盘和显示器5缺省状态下是键盘6缺省状态下是显示器1、顺序存取,从文件的开头一步步向下存取、顺序存取,从文件的开头一步步向下存取2、直接存取,可以任意跳到文件的任何一个位置来读写、直接存取,可以任意跳到文件的任何一个位置来读写两种文件的结构(两种文件的结构(存储格式存储格式):):1、文本文件、文本文件 字符符号保存,直观;读取时需要转换,占存储空间大字符符号保存,直观;读取时需要转换,占存储空间大2、二进制文件、二进制文件 以二进制代码保存;读取速度快,节省空间以二进制代码保存;读取速度快,节省空间Fortran支持两种文件的支持两种文件的存取方式存取方式(访问方式)

12、:访问方式):外部文件分类:外部文件分类: 文件的基本操作文件的基本操作OPEN语句语句文件的打开文件的打开例: open (10, file=d:data2006febuwnd.dat, & form=unformatted, status=unknown, & access=direct, recl=144*73*4, & err=100, iostat=iovar, position=asis )WRITE / READ 语句语句文件的输入输出文件的输入输出例:test01-2CLOSE 语句语句文件的关闭文件的关闭文件读写操作结束后,可通过文件读写操作结束后,可通过CLOSE语句将文件

13、关闭。取消逻辑设备语句将文件关闭。取消逻辑设备符符(文件编号文件编号)与磁盘上的外部文件之间的关系。与磁盘上的外部文件之间的关系。CLOSE语句可缺省。语句可缺省。CLOSE ( Unit= ,ERR= ,IOSTAT= ,STATUS= )有格式顺序存取有格式顺序存取一个格式化文件是一个由按顺序写到文件中的有格式记录序列组成的,当要对文件进行读操作时,读取的顺序就是记录在文件中的存放顺序。文件中记录的长度不一定相同,记录也可以是空的。 文件记录的存取文件记录的存取例:从预先准备好的数据文件中输入数据,并输出数据写到文件中例:从预先准备好的数据文件中输入数据,并输出数据写到文件中已有数据文件:

14、已有数据文件:F1.dat写出到数据文件:写出到数据文件:F2.dat 程序程序ex601例:把例:把1到到10以及它们的平方数、立方数以表格形式存放到以及它们的平方数、立方数以表格形式存放到TAB.DAT 文件中。程序把输出的数据重新读出并显示在终端屏幕上以检验文件文件中。程序把输出的数据重新读出并显示在终端屏幕上以检验文件的内容的内容 程序程序ex602有格式直接存取有格式直接存取 在格式化直接文件中,所有记录的长度都相同并且可以以任意顺序读写。记录的长度由OPEN语句中的RECL=选项 指定,该长度应该大于或等于最长的记录中的字节数。CR和LF是分隔符,不包括在RECL中。例:把例:把1

15、到到10和它们的平方根存放到一个直接存取文件中,然后随意和它们的平方根存放到一个直接存取文件中,然后随意查找查找1到到10的平方根数。的平方根数。程序程序ex603Open (12,file=filen,status=new,access=direct, & form=formatted,recl=16) 一旦某个直接访问记录被写入就不能再删除它,但可以覆盖这个记录。在输出到一个格式化直接文件时如果数据没有占满一个记录,则编译系统将在剩下的位置上补以空格,保证文件只包含长度相同的完整的记录。从文件中读数据时,当I/O列表或格式描述符中要读取的数据多于记录中的数据时,编译器也会以空格填充未读数据

16、的变量。 可以通过在打开文件的OPEN语句中设置PAD=NO来避免填补空格,此时输入记录必须有和输入列表和格式描述符所要求的一样多的数据,否则会产生错误。PAD=NO对输出没有影响。例:OPEN(3,FILE=FDIR,FORM=FORMATTED,ACCESS=DIRECT,RECL=10)WRITE(3,(A10),REC=1) RECORD ONEWRITE(3,(I5),REC=3) 30303CLOSE(3)ENDRECORD ONE ODOA 30303 ODOA 1-10 11 12 13-22 23 24 25-34 35 36无格式文件的存取无格式文件的存取 (二进制文件)(二进制文件) 数据处理过程中,输出的大量数据往往并不是给人阅读的,而是作为中间数据为下一次输入作准备,由计算机去读它,用无格式输入输出可以避免格式输入输出中的多余步骤。 以计算机内部的二进制代码形式存放,只能存放于磁带或磁盘中,不能在屏幕上显示,也不能输出到打印机打印。与编辑器有关 ,VF一般*4无格式顺序文件无格式顺序文件 无格式顺序文件中记录的长度可以不同,文件以130或少于130字节为一个物

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

当前位置:首页 > IT计算机 > C/C++资料

copyright@ 2008-2023 1wenmi网站版权所有

经营许可证编号:宁ICP备2022001189号-1

本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。第壹文秘仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知第壹文秘网,我们立即给予删除!