文件操作.

Slides:



Advertisements
Similar presentations
輔導處八月份主管會報 報告人 : 洪自強. 輔導組本月工作 【行政文書】 建置 100 學年度工作資料夾 擬訂 100 學年度第一學期行事曆 【認輔工作】 匯整 100 學年度續接個案資料 輔導教師持續關心責任班級高關懷個案 統整國小轉銜個案資料 (3 位 ) 【通報案件】 通報性騷擾案件 1 件.
Advertisements

急性腹痛 急性疼痛. 急性疼痛 — 孙树杰、沈洪、 刘保池 (1)(1)(1)(1) 概 述 (2)(2)(2)(2) 重症急性腹痛的临床特点 (3)(3)(3)(3) 急性腹痛的分类及诊治 主要教学内容.
第二节 交通运输布局变化的影响 北京市第十一中学 张芊丽 2008年1月.
第五十章 旅外华人现代汉语文学 回目录.
区位因素分析专题.
文题: (1)请以“从此,我(他/她)不再________”为题,写一篇不少于600字的记叙文。 (2)以“做人从_____开始” 为题,写一篇不少于600字的文章。 (3)请以“你还会____吗”为题写一篇600字以上的文章,文体不限,诗歌除外。
第八章   股利分配 本章主要介绍了影响股利政策的因素、主要的股利政策、股利支付的程序及方式、 股票分割及股票回购等问题。通过本章的学习,要求掌握不同股利政策的具体做法,掌握股票股利的作用,了解股票分割和股票回购的涵义及影响。
导入新课 俄罗斯首任总统叶利钦.
1Z 会计基础与财务管理 1Z 会计的职能与核算方法 …2011 会计的职能(熟悉) 一、会计的概念
文明史范式.
金陵科技学院·思想政治理论课教学部 思想道德修养与法律基础 “基础”教研室.
脾胃病的饮食调理和中医治疗 贵州省中医院脾胃病肝病内科 医生:朱国琪.
学校消防安全培训.
教育老兵教學經驗談 何進財 曾任 教育部社教司司長 訓委會常務委員 中央警官學校兼任講師 台北市立師範學院兼任副教授 國立陽明大學兼任副教授
龙腾炎盛鞋业 打造卓越管理人员特训营.
教育的“麦田”,我们该如何守望? ——读《麦田里的守望者》 王振中 二0一二年九月二十六日.
第八章 海岸地貌 海南三亚天涯海角.
马克思主义基本原理概论 上海理工大学社会科学学院 张欢欢.
中国特色社会主义政党制度 主讲:西南大学 李强 2011年12月28日.
第 7 章 文 件.
七年级历史上册 第二单元 国家产生和社会的变革.
第四章 会计职业道德 第三节 会计职业道德教育.
第四节 世界的聚落 鸭暖中学地理备课组 学习目标 聚落的主要形式 了解 聚落的形成和发展 世界文化遗产 探索 聚落的形成和发展 环保意识 增强 人地协调发展的环境观.
用“自言自语法”提高学生 英语口头表达能力 李奉栖.
纳税是有收入的成年人的事,与我们中学生无关。
我的自述 —— 近代中国民族资本主义的发展历程。
欢迎南京市政治学科的教研同仁 光临指导.
第八章 所有者权益 第一节 所有者权益概述.
●车辆消防安全知识——讲座 车辆消防安全知识 2017/3/17 巫山县公安消防大队 1.
省示范校建设项目验收工作汇报 赵小平
婴幼儿意外伤害预防与急救 上海人口与发展研究中心母婴健康工作室 原上海长海医院儿科 方 凤 宝优网:
新课程高考数学试卷特点分析及复习备考 刘延彬 年3月6日 合肥.
2013年普通高等学校招生全国统一 考试(四川卷)考试说明解读
普通高等教育 “十五”国家级规划教材 新世纪全国高等中医药院校规划教材
学习目标: 1、掌握田径运动竞赛的主要规则和裁判方法。 2、通过教学与实践,初步具备小型田径运动会的裁判工作能力。
岗位分析与岗位评价 阿里巧巧
98年桃園縣農村再生總體規劃 社區輔導提案研習營
复习专题: 协调发展 社会和谐 学校:上师大附属外国语中学 说课者:李瑞英.
《采购管理暂行办法》讲解 采购管理办公室
综述政府法制监督工作.
我国的宗教政策 第七课第三框.
固定资产相关案例 【例1】华西股份有限公司于2012年1月从华东公司购入两辆同型号的二手汽车,价格为12万元,这两辆汽车均需要修理才能使用。其中一辆汽车是由于发动机损坏需进行大修理,估计支出为50 000元,而另一辆是由于电气路线损坏只需简单维修即可使用,预计修理支出为3000元。 在对上述汽车发生的修理费用进行会计处理时,该公司会计王某认为,由于这两辆汽车均需修理才能投入使用,因此根据受益原则,这两辆汽车的维修费用支出作为资本性支出计入所购汽车的成本之中,增加汽车的账面价值;而另一会计李某认为,这两辆汽
升旗仪式 1、你能讲一讲天安门广场升旗仪式的整个过程吗?你 2、在学校活动中,哪些礼仪最能体现我们的风采? 印象最深的是什么?
第17课 科学技术的成就(一).
习题课四.
高考第一轮复习课件—— 中国的交通、商业和旅游业.
广东省高校招生 志 愿 填 报 浅 析 广东省教育考试院
关注消防 关爱生命 ——中小学生消防常识培训辅导 3/22/2017.
補充: Input from a text file
模块: 中国近代史 主题: 近代化的起步.
2.1.3分层抽样.
Chapter 4 流程控制.
第 二 课 程序组成、基本数据类型、表达式 我们以上一章练习题为例说明Pascal程序的结构形式:
第四章 程序设计初步 顺序结构:赋值语句、输出语句
第六课 CASE语句、判断结构的应用 第三节 case语句
编译原理课程设计.
第四章程序设计初步 输入语句、复合语句(pg30)
Lok Sin Tong Leung Kau Kui college
編譯程式設計 期末專題說明 V1.1 May 2004.
综合实践一题多解试题 第四题 七(五)班 吴飞潼.
VB程序设计语言 主讲教师:王 杨.
現代專案管理教材 第一章 專案與專案管理 博碩文化出版發行.
中五級電腦科 PASCAL檔案處理.
编译原理课程设计 2017年4月.
如何制订幼儿园园本培训工作计划 大连亿达世纪城幼儿园 姜承华 2011年3月10日.
河口生態系 紅樹林.
三 顺序结构程序设计 厦大附中信息技术.
PASCAL语言 吉林大学计算机科学与技术学院.
——彻底变革算法与程序设计的教学方式 湖北省水果湖高级中学 伍先军.
编译原理与实现 河北科技大学 信息科学与工程学院计算机系 杨奎河
Presentation transcript:

文件操作

文件操作 不存储程序的计算机还不如一个强有力的计算器,最早购买不带磁盘驱动器的用户很快就明白了这一点——当他们关掉计算机的电源时,其工作成果也很就随之消失了。因而,当你的计算机有一个硬盘时,学习使用磁盘文件对编写有用的程序来说就是很重要的了。下面就来介绍Pascal文件的有关知识。

文件的概念 文件是指由一系列相同类型数据组成的一个数据序列,是一种由用户定义的构造型的数据类型。作为系统提供的一种手段,是计算机与各类设备进行通讯的媒介,从而用以实现信息在程序内外的交换。对于文件我们实际上早已在使用,前面出现的Pascal程序中的输入、输出就是应用文件的方法来实现的,这些文件的名字是Pascal的标准文件“INPUT”和“OUTPUT”,它们分别对应于标准输入设备和标准输出设备,在Free Pascal中可省略不写。

文件的分类 在Pascal的数据文件中,按文件结构形式划分,以ASCII代码形式(字符形式)存放的称为TEXT类型文件,也称为文本文件,这是我们经常要用到的文件类型。我们平时用到的 就是文本文件。(文本文件通常用记事本软件打开)

文本文件特征 (1)当程序开始把数据写(输出)到文件中去时,总是从文件的起始位置开始。也就是不能从文件的中间位置开始存放数据。 (2)输出的数据是一个接一个地存放在文件中的。 (3)当程序从文件中读(输入)数据到内存中时,总是从文件的起始位置开始。也就是不可能从文件的中间的某个位置开始读入数据。 (4)读数据时,必须按存入文件时的顺序一个接一个的读入内存中去。 (5)对同一个文件的读写操作不能交叉进行。

文本文件的定义 文本文件不是简单地由某类型的元素序列所组成,它的基本元素是字符,由它们构成行,若干行组成一份原文。由于各行的长度可以不同,所以文本文件只能顺序地处理。 文本文件的定义如下: var  fp1,fp2:text;

文件类型的常用命令 (1) assign 语法:assign(filevar,filename); Filename是合法的文件名的字符串表达式,这个名字赋给文件变量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) 功能:创建一个新的磁盘文件,并以写的方式打开该文件,初始化文件为空,文件指针指向开始位置。在使用此命令前需先用assign过程,给文件变量一个实在的文件名。 如:rewrite(fp2); 这时将在磁盘上工作目录下新建一个空文件abc.out,并打开该开件。若以前工作目录下存在abc.out,则会将原来的文件清空,并将文件指针指向开始位置。

(3)reset 语法:reset(filevar); 功能:打开一个已存在的文件,并将文件指针指向开始位置,表示可开始读入文件,但不能向文件写数据,同样filevar文件名必须存在。 如:reset(fp1); 打开fp1所代表的文件abc.in,并将文件指针指向开始位置。如果工作目录下不存在abc.in,将会出现错误信息2。

(4)close 语法:close(filevar) 功能:关闭一个文件,无论是向磁盘写文件,还是从磁盘上读取文件的内容,当读、写完毕时都必须用close命令关闭已打开的文件,以保证文件的完整性和可靠性,否则将引起文件处理错误。 如:close(fp2); 这时将关闭文件fp2,对于被读的文件,可以关闭也可以不关闭,但对于被写的文件,程序结束时,必须关闭,否则,所有写入的信息将不会被写入文件。

(5)read或readln 语法:read(filevar,var1,var2,…,varm) 功能:从文件filevar中读出若干个数,赋给变量var1,…,varm,这里使用规则和read原来的使用方法相同,只不过在原来变量前加一个文件类型变量filevar而已。 如: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(真),否则为false(假)。

(8)eof函数(相当于seekeof()) 语法:eof(filevar) 功能:文件结束函数,其中文件filevar是文件类型变量,函数值是布尔值。当文件指针指向文件结束标志时,函数值为true (真),否则为false(假)。它通常写作seekeof。该函数一般用以判断文件是否结束。

文件类型输入输出一般用法 在我们使用文件类型输入输出时,通常用标准输入文件input和标准的输出文件output来表示文件类型变量,这样在程序中的输入输出操作就和不用文件类型输入输出格式一样了。具体形式如下: 文件输入输出一般格式: 程序体的开始处加上: assign(input,'输入文件名');  {将输入文件和标准输入文件input建立起联系} reset(input);                 {打开输入文件} assign(output,'输出文件名'); {将输出文件和标准输出文件output建立起联系} rewrite(output);             {建立输出文件} 程序体的结尾处加上: close(input);                {关闭输入文件} close(output);              {关闭输出文件} 注意:在运行程序前,一定要在FP的工作目录中建立一个输入文件。否则将出错。

例:读入两个整数,输出两个数的和。用文件类型输入输出。文件名为:abc.pas 测试数据: 输入文件: abc.in 152 908 输出文件: abc.out 1060

我们运行一下,发现这两个程序的功能是一样的,因此,我们用文件类型输入输出时,一般用程序2的形式。 程序1: program abc; 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,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(output,'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.将文本文件aaa.in里面的所有内容复制到文本文件aaa.out中。 (注:使用“eof”和“eoln”函数)。 2.求每行字符的个数。(假设为两行) 输入文件为bbb.in 输出文件为bbb.out 例如: bbb.in中内容为 dfdfef Dfdfgrgrg bbb.out 中内容为 6 9 思考:若改为若干行,程序如何改?假设行数<=100行。

2.已知三角形的底a和高h的值,输出面积S。保留二位小数,用文件类型输入输出。 测试数据: 输入ga07.in: 10.5 2.0 输出ga07.out: 10.50 3.已知梯形的面积是S,高是H,上底是A,输出梯形的下底B,保留二位小数,用文件类型输入输出。 测试数据 输入文件ga08.in:分别为面积S、高H和上底A 78 20 5.2 输出文件ga08.out:下底B 2.60

4.将文本文件aaa.in里面的所有数据进行排序,并将排序结果放至文本文件aaa.out中。 5.某班一次数学测验参加考试的人数为5人,请帮助统计全班的平均成绩和每个人和平均成绩的差距。 (输入文件为MATHS.IN,一行数据依次为5人成绩,输出两行:第一行为平均成绩(小数点保留两位),第二行为每人和平均值的差(小数点保留两位))。