永发信息网

Pascal编程求助

答案:3  悬赏:50  手机版
解决时间 2021-05-13 15:43
  • 提问者网友:不要迷恋哥
  • 2021-05-13 04:24

编程序,建立一个文件,在文件中录入一个数,通过Pascal查看这个数

(描述不是很专业,大家尽量领会一下精神,谢谢了)

最佳答案
  • 五星知识达人网友:渡鹤影
  • 2021-05-13 04:53

program asdf;
var


a:string;


begin
assign(input,'re.in'); {文件名,在pascal安装目录下的}
reset(input);{input,标准文件}
readln(a);
writeln(a);


readln;{方便观察}
close(input);{关闭文件}
end.




另附:


文件


文件是一种构造型的数据类型。在程序中都需要产生一些输出,也需要接受若干个输入。这些输入、输出实际上是用文件的方法来实现的,在Pascal中用标准文件“input”和“output”来实现,它们分别对应标准输入设备和标准输出设备(可省略不写)这也就是一些程序的程序书写如下的原因了:
  program ex(input,output);
  ...
  但有时大量数据的读入和输出都是来是磁盘文件,这就要求我们必须熟练掌握对磁盘文件的操作。

  对于我们来说,我们只必须掌握文本文件(或称正文文件,text)的读写即可:


1.文本文件的定义:
   文本文件不是简单地由某类型的元素序列所组成,它的基本元素是字符,由它们构成行,若干行组成一份原文。由于各行的长度可以不同,所以文本文件只能顺序地处理。文本文件的定义如下:
    var
     fp:text;
2.文本文件的读操作:
   (1)调用assign过程,把磁盘文件赋予文本文件变量;
      assign(fp,filename);
   (2)调用reset过程,为读操作做准备;
      reset(fp);
   (3)在需要读数据的位置调用read过程或readln过程。
      readln(fp,var1,var2,...,varn);
3.文本文件的写操作:
   (1)调用assign过程,把磁盘文件赋予文本文件变量;
      assign(fp,filename);
   (2)调用rewrite过程,为读操作做准备;
      rewrite(fp);
   (3)在需要读数据的位置调用write过程或writeln过程。
      writeln(fp,var1,var2,...,varn);
4.文本文件的关闭操作:
   close(fp);
5.文本文件的其他操作:
   (1)EOF(fp)—布尔函数,用于判断文件结束否。
   (2)EOLN(fp)—布尔函数,用于判断行结束否。
例1:下面是一个建立和使用文件的程序:


program wenjian;
const n=3; m=2;
type student=record
name:string;
score:array[1..m] of 0..100;
end;
var st:array[1..n] of student;
stfile:file of student ;
sumst:array[1..n] of integer;
sumsub:array[1..m] of integer;
sum:integer;
procedure newfile;
var i,j:integer;
begin
assign(stfile,'score.fil');
rewrite(stfile);
for i:=1 to n do
begin
writeln('Input student ',i,' name and ',m,' score');
readln(st[i].name) ;
for j:=1 to m do
read(st[i].score[j]);
readln;
write(stfile,st[i]);
end;
close(stfile);
writeln ;
writeln;
end;
procedure jisuan;
var i,j:integer;


begin


assign(stfile,'score.fil');
reset(stfile);
for i:=1 to m do sumsub[i]:=0;
for i:=1 to n do
begin
read(stfile,st[i]);
with st[i] do
begin
sumst[i]:=0;
for j:=1 to m do
begin
sumst[i]:=sumst[i]+score[j];
sumsub[j]:=sumsub[j]+score[j];
end;
end;
end;
close(stfile);
sum:=0;
for i:=1 to n do
sum:=sum+sumst[i];
for i:=1 to n do
begin
with st[i] do
begin
write(name);
for j:=1 to m do write(score[j]:6);
end;
writeln(sumst[i]:6);
end;
write('sum=');
for i:=1 to m do
write(sumsub[i]:6);
writeln(sum:8);

end; begin newfile; jisuan; end.
全部回答
  • 1楼网友:冷風如刀
  • 2021-05-13 06:32
为什么要用pascal呢
  • 2楼网友:爱难随人意
  • 2021-05-13 06:09
program dfdf; var a:string; f:text; begin assign(f,'a.txt'); {a.txt为读入的文件名,在pascal安装目录下} reset(f); readln(f,a); write(a); close(f); end.
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯