pascal基础assign语法问题

2024-12-02 11:27:51
推荐回答(2个)
回答1:

Assign是文本文件用的,文本文件又称为正文文件或行文文件,可以直接阅读,是人机通信的基本数据形式之一。文本文件的内容由ASCII字符集中的字符组成,因此文本文件也称ASCII码文件。文本文件具体是由一系列行组成,每一行可以包括0个或多个字符型成分,并以行结束符结尾。文本文件可用文字编辑程序(如Free Pascal的编辑窗口中或记事本中)直接建立、阅读和修改, 也可以由Pascal程序在运行过程中建立。 一、文本文件的定义
  文本文件的类型为text,它是由ASCII字符组成的,是Pascal提供的标准文件之一。标准文件text已由Pascal说明如下:type text=file of char;因此,同标准类型integer、real等一样可以直接用于变量说明之中,无需再由用户说明。 例如:
  var f1,f2:text;
  这里定义了两个文本文件变量f1和f2。二、文本文件的建立
  文本文件的建立有两种方法:一是直接用Free Pascal的Edit建立原始数据文件;二是用程序的方式建立中间数据或结果数据文件。例如将下表中的数据存入名为A.dat的文件中。
  3 4
  29 30 50 60
  80 90 70 75
  60 50 70 45
  操作步骤:进入Free Pascal的编辑状态;输入数据;存盘,文件名取A.dat。
  此时,已将数据存入文本文件A.dat中。文本文件也可用记事本等文本编辑器在windows下建立。
  如果用程序的方式建立文件,操作步骤为:
  1、定义文本文件变量;
  2、把一外部文件名赋于文本文件变量,使该文本文件与相应外部文件相关联;
  命令格式:assign(f,name)
  f为定义的文本文件变量,name为实际文件文件名
  如:assign(f1,'filein.in') {相对路径}
  或:assign(f1,'d:\pas\fileout.out') {绝对路径}
  这样在程序中对文本文件变量f1的操作,也就是对外部实际文件'filein.in'或'fileout.out'的操作。上例中文件'filein.in'是存贮在当前目录中,而文件'fileout.out'则是存贮在d:\pas\子目录中。
  3、打开文本文件,写准备;
  命令格式:rewrite(f)
  功能:创建并打开新文件准备写,若已有同名文件则删除再创建。
  4、对文件进行写操作;
  命令格式:write(f,<项目名>)或:writeln(f,<项目名>)
  功能:将项目内容写入文件f中
  5、文件操作完毕后,关闭文件。
  命令格式:close(f)例11.1 从键盘输入下列数据,然后用程序写入名为B.dat的文件中。3 4
  29 30 50 60
  80 90 70 75
  60 50 70 45program exp11_1;
var i,j,n,m,x:integer;
f:text;
begin
write('n,m=');
readln(n,m);
assign(f,'b.dat');
rewrite(f);
writeln(f,n,' ',m);
for i:=1 to n do
begin
for j:=1 to m do
begin
read(x);
write(f,x,' ');
end;
readln;writeln(f);
end;
close(f);
end.
三、读取文本文件
  文本文件内容读取操作步骤:
  1、定义文本文件变量;
  2、用assign(f,name)命令,将内部文件f与实际文件name联系起来;
  3、打开文本文件,读准备;
  命令格式:reset(f)
  功能:打开一个已经存在的磁盘文件,该文件只能读,指向文件元素的指针指向第一个元素。4、对文件进行读操作;
  命令格式:read(f,<变量名表>) 或readln(f,<变量名表>)
  功能:读文件f中指针指向的数据于变量中。
  5、文件操作完毕,用close(f)命令关闭文件。
例11.2 读出例1生成的文本文件B.dat中的内容,并输出到屏幕。program exp11_2;var i,j,n,m,x:integer;f:text;beginassign(f,'b.dat');reset(f);read(f,n,m);writeln(n,' ',m);for i:=1 to n dobeginfor j:=1 to m dobeginread(f,x);write(x,' ');end;writeln;end;close(f);readlnend.由于文本文件是以ASCII码的方式存储,故查看文本文件的内容是极为方便,在windows状态可使用记事本等软件进行查看,在Free Pascal中可以象取程序一样取出文件进行查看。

回答2:

assign(input,'a.in');表示从a.in这个文件中输入数据reset(input)是初始化,之后就可以从文件中输入了