信息学奥赛文件操作重点课件.ppt

上传人:牧羊曲112 文档编号:1523210 上传时间:2022-12-03 格式:PPT 页数:19 大小:204KB
返回 下载 相关 举报
信息学奥赛文件操作重点课件.ppt_第1页
第1页 / 共19页
信息学奥赛文件操作重点课件.ppt_第2页
第2页 / 共19页
信息学奥赛文件操作重点课件.ppt_第3页
第3页 / 共19页
信息学奥赛文件操作重点课件.ppt_第4页
第4页 / 共19页
信息学奥赛文件操作重点课件.ppt_第5页
第5页 / 共19页
点击查看更多>>
资源描述

《信息学奥赛文件操作重点课件.ppt》由会员分享,可在线阅读,更多相关《信息学奥赛文件操作重点课件.ppt(19页珍藏版)》请在三一办公上搜索。

1、文件操作,文件操作,不存储程序的计算机还不如一个强有力的计算器,最早购买不带磁盘驱动器的用户很快就明白了这一点当他们关掉计算机的电源时,其工作成果也很就随之消失了。因而,当你的计算机具备了一个软盘驱动器或者还有一个硬盘时,学习使用磁盘文件对编写有用的程序来说就是很重要的了。下面就来介绍Pascal文件的有关知识。,文件的概念,文件是指由一系列相同类型数据组成的一个数据序列,是一种由用户定义的构造型的数据类型。作为系统提供的一种手段,是计算机与各类设备进行通讯的媒介,从而用以实现信息在程序内外的交换。对于文件我们实际上早已在使用,前面出现的Pascal程序中的输入、输出就是应用文件的方法来实现的

2、,这些文件的名字是Pascal的标准文件“INPUT”和“OUTPUT”,它们分别对应于标准输入设备和标准输出设备,在Free Pascal中可省略不写。,文件的分类,在Pascal的数据文件中,按文件结构形式划分,以ASCII代码形式(字符形式)存放的称为TEXT类型文件,也称为文本文件,这是我们经常要用到的文件类型。还有一种以二进制代码形式存放的文件,称为File类型文件,它又称为类型文件。我们平时用到的是第一种文件类型:文本文件。,文本文件特征,(1)当程序开始把数据写(输出)到文件中去时,总是从文件的起始位置开始。也就是不能从文件的中间位置开始存放数据。(2)输出的数据是一个接一个地存

3、放在文件中的。(3)当程序从文件中读(输入)数据到内存中时,总是从文件的起始位置开始。也就是不可能从文件的中间的某个位置开始读入数据。(4)读数据时,必须按存入文件时的顺序一个接一个的读入内存中去。(5)对同一个文件的读写操作不能交叉进行。,文本文件的定义,文本文件不是简单地由某类型的元素序列所组成,它的基本元素是字符,由它们构成行,若干行组成一份原文。由于各行的长度可以不同,所以文本文件只能顺序地处理。文本文件的定义如下:varfp1,fp2:text;,文件类型的常用命令,(1) assign语法:assign(filevar,filename);Filename是合法的文件名的字符串表达

4、式,这个名字赋给文件变量filevar,在程序中对文件变量的操作即为对磁盘文件Filename的操作。如:assign(fp1,abc.in); assign(fp2,abc.out);这时fp1,fp2是文件类型变量,abc.in、abc.out是实际文件名字,这样文件变量fp1与abc.in、fp2与abc.out、就建立起联系了,在程序中fp1就可以代表abc.in文件、fp2就可以代表abc.out文件使用了。,(2)rewrite语法:rewrite(filevar)功能:创建一个新的磁盘文件,并以写的方式打开该文件,初始化文件为空,文件指针指向开始位置。在使用此命令前需先用assi

5、gn过程,给文件变量一个实在的文件名。如:rewrite(fp2); 这时将在磁盘上工作目录下新建一个空文件abc.out,并打开该开件。若以前工作目录下存在abc.out,则会将原来的文件清空,并将文件指针指向开始位置。,(3)reset语法:reset(filevar);功能:打开一个已存在的文件,并将文件指针指向开始位置,表示可开始读入文件,但不能向文件写数据,同样filevar文件名必须存在。如:reset(fp1); 打开fp1所代表的文件abc.in,并将文件指针指向开始位置。如果工作目录下不存在abc.in,将会出现错误信息2。,(4)close语法:close(filevar)

6、功能:关闭一个文件,无论是向磁盘写文件,还是从磁盘上读取文件的内容,当读、写完毕时都必须用close命令关闭已打开的文件,以保证文件的完整性和可靠性,否则将引起文件处理错误。如:close(fp2); 这时将关闭文件fp2,对于被读的文件,可以关闭也可以不关闭,但对于被写的文件,程序结束时,必须关闭,否则,所有写入的信息将不会被写入文件。,(5)read或readln语法:read(filevar,var1,var2,varm)功能:从文件filevar中读出若干个数,赋给变量var1,,varm,这里使用规则和read原来的使用方法相同,只不过在原来变量前加一个文件类型变量filevar而已

7、。如:read(fp1,a,b);这时将从abc.in文件读出两个量分别赋值给a和b两个变量。,(6)write或writeln语法:write(filevar, var1,var2,varm);功能:向文件filevar中写入若干个数。这里使用规则和write原来的使用方法相同,只不过在原来变量前加一个文件类型变量filevar而已。如:write(fp2,a,b);这时将向abc.out文件写入a和b两个变量的值。,(7)eoln函数语法:eoln(filevar);功能:行结束函数,其中文件filevar一定为text类型,函数值为布尔型。当文件指针向回车换行符时,函数值为true(真)

8、,否则为false(假)。,(8)eof函数(相当于seekeof())语法:eof(filevar)功能:文件结束函数,其中文件filevar是文件类型变量,函数值是布尔值。当文件指针指向文件结束标志时,函数值为true (真),否则为false(假)。它通常写作seekeof。该函数一般用以判断文件是否结束。,文件类型输入输出一般用法,在我们使用文件类型输入输出时,通常用标准输入文件input和标准的输出文件output来表示文件类型变量,这样在程序中的输入输出操作就和不用文件类型输入输出格式一样了。具体形式如下:文件输入输出一般格式:程序体的开始处加上:assign(input,输入文件

9、名); 将输入文件和标准输入文件input建立起联系reset(input); 打开输入文件 assign(output,输出文件名); 将输出文件和标准输出文件output建立起联系rewrite(output); 建立输出文件 程序体的结尾处加上:close(input); 关闭输入文件close(output);关闭输出文件注意:在运行程序前,一定要在FP的工作目录中建立一个输入文件。否则将出错。,例:读入两个整数,输出两个数的和。用文件类型输入输出。文件名为:abc.pas测试数据:输入文件:abc.in152 908输出文件:abc.out1060,程序1: program abc;

10、 var fp1,fp2:text; a,b,c:longint; begin assign(fp1,abc.in); reset(fp1); assign(fp2,abc.out); rewrite(fp2); read(fp1,a,b); c:=a+b; write(fp2,c); close(fp1); close(fp2); end.,程序2: program abc; var a,b,c:longint; begin assign(input,abc.in); reset(input); assign(output,abc.out); rewrite(output); read(a,

11、b); c:=a+b; write(c); close(input); close(output); end.,我们运行一下,发现这两个程序的功能是一样的,因此,我们用文件类型输入输出时,一般用程序2的形式。,例:读入长方形的长和宽,求它的周长和面积。用文件类型输入输出。文件名为:cfx.pas保留两位小数,两个数字隔一空格。测试数据:输入文件cfx.in:2.5 3.6输出文件cfx.out:12.20 9.00,程序如下:program changfx; var a,b,c,s:real; begin assign(input,cfx.in); reset(input); assign(o

12、utput,cfx.out); rewrite(output); read(a,b); c:=2*(a+b); s:=a*b; writeln(c:0:2, ,s:0:2); close(input); close(output); end.,练习题,1(程序名:ga07.pas)已知三角形的底a和高h的值,输出面积S。保留二位小数,用文件类型输入输出。测试数据:输入ga07.in:10.5 2.0输出ga07.out:10.502(程序名:ga08.pas)已知梯形的面积是S,高是H,上底是A,输出梯形的下底B,保留二位小数,用文件类型输入输出。测试数据输入文件ga08.in:分别为面积S、高H和上底A78 20 5.2输出文件ga08.out:下底B2.60,

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

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


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号