pascal基础assign语法问题

作者&投稿:佟可 (若有异议请与网页底部的电邮联系)
Pascal中的assign语句和read语句的问题~

read是读入操作,而一般的我们有两种读入方式,一种是屏幕输入,另一种是文件输入。
如果没有特别说明,那么程序默认从屏幕输入,如果用了assign,那么在assign到close之间所有的read操作都从选定的文件读入。assign相当于打开一个文件的作用,同时一个assign对应一个close.


其实你的问题是这样的,你想要先文件输入再屏幕输入,然而你已经将输入定向文件了,为了再次从屏幕输入,可以这样改
var n,m:integer;
begin
assign(input,'scholar.in');
reset(input);
readln(m);
close(input);
assign(input,'CON');
reset(input);
readln(n);
close(input);
end.

assign使用于文件变量指向一个实际的文件。
如果你的程序有输入的话,则:
assign(文件变量,实际文件名);
{程序中如有 read 则 read(文件变量,输入); }
最后加
close(文件变量);

assign(input,实际文件名);
assign(output,实际文件名);
最后加
close(input);
close(output);
没有输入

assign(文件变量,实际文件名);
最后加
close(文件变量);

assign(output,实际文件名);
最后加
close(output);

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中可以象取程序一样取出文件进行查看。

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


在ASCII编码表中,字母A的ASCⅡ代码的十进制值是65,则字母B的ASCⅡ代码...
ASCⅡ代码用十六进制表示的,先将十进制的65转为十六进制为65÷16=4余1 ,即为41H A与B 相差1个,所以B的十六进制为41H+1=42H ,再将42H转为十进制 4×16+2=66 所以字母B的ASCⅡ代码的十进制是66

ascal. h中有哪些字符
include "stdio.h"int main(void){ char s[100],ns[100];int i,j;printf("Please intput a string...\\ns=");gets(s);for(j=i=0;ns[j]=s[i];i++)if(s[i]<'0' ||s[i]>'9')j++;puts(ns);return 0;}

如何在VB中计算所有字符的ASCII码之和并显示
然后,使用`Chr`函数将每个ASCII码值转换回对应的字符,以便在控制台上输出。同时,将每个字符的ASCII码值累加到变量`s`中。最后,当循环结束时,打印出累加的总和`s`。下面是修改润色后的VB代码片段:```vb Private Sub Command1_Click()Dim s As Integer ' 初始化累加变量 s = 0 ' 确保累加...

关于汉字在asclI码中的表示方式
ascii里就没有汉字 使用库函数:isalpha 原型:extern int isalpha(int c);用法:#include <ctype.h> 功能:判断字符c是否为英文字母 说明:当c为英文字母a-z或A-Z时,返回非零值,否则返回零。ispunct 原型:extern int ispunct(int c);用法:#include <ctype.h> 功能:判断字符c是否为标点符号 ...

各个汉字对应的ASCII码是什么?
汉字ASCII码,简称“内码”,指计算机内部存储,处理加工和传输汉字时所用的由0和1符号组成的代码。输入码被接受后就由汉字操作系统的“输入码转换模块”转换为机内码,与所采用的键盘输入法无关。机内码是汉字最基本的编码,不管是什么汉字系统和汉字输入方法,输入的汉字外码到机器内部都要转换成机内码...

小写h的十六进制ascii码值58小写j十六进制ascii码值等于多少 大写j十六...
这个直接查看ascii表就可知道,小写j对应的ascii值是二进制01101010,十进制106,十六进制6A。大写J对应的ascii值是二进制01001010,十进制74,十六进制4A。

ASCJJ码是什么?
计算机只能存数字(二进制)英文字母,数字,符号要想存到计算机中都要转换成数字,每个英文字母,数字,符号都有一个对应数字,这个数字就是它的ASCII码 百度搜 ASCII 可以看到全部的ASCII码表

pascal 中的A的ascal码是多少
ASCII值 控制字符 ASCII值 控制字符 ASCII值 控制字符 ASCII值 控制字符 0 NUT 32 (space) 64 @ 96 、1 SOH 33 ! 65 A 97 a 2 STX 34 ” 66 B 98 b 3 ETX 35 # 67 C 99 c 4 EOT 36 $ 68 D 100 d 5 ENQ 37 % ...

从键盘上输入任意一个字符,求出它的ASCII码并输出
从键盘上输入任意一个字符,求出它的ASCII码并输出的步骤如下 (必备的材料和工具:Qt Creator 5.6.1,或其它C++编程软件):1、首先,打开Qt Creator,新建文件或项目,选择项目Non-Qt Project下的Plain C++ Application,2、然后,在新建的untitled项目中,双击源文件下的main.cpp。3、接着,单击Qt...

从键盘上输入一个大写字母并输出As在cii值和小写字母 在线等 ,,。_百...
输入一个大写字母:Ascii: 小写形式: function show(s){ var i=s.charCodeAt(),e=document.getElementsByTagName('span');if(!i||i<65||i>90)e[0].innerHTML=e[1].innerHTML='';else e[0].innerHTML=i,e[1].innerHTML=String.fromCharCode(i+32);} ...

信州区19891559245: pascal基础assign语法问题 -
钮霍肺结: assign(f,filename) 用来指定一个文件变量实际上对应文件系统中的哪个文件名.举例:program example; var file1,file2:text; p:integer; begin assign(file1,'a.txt'); assign(file2,'b.txt'); readln(file1,p);{读文件中的值} writeln(file2,p);{输出到文件} readln(p);{读键盘上的值} writeln(p);{输出到屏幕} end.

信州区19891559245: 关于Pascal中的assign用法 -
钮霍肺结: 你把input和output改成自己喜欢的名字(如file1和file2) 然后想输入或输出到文件时就写 readln(file1,变量名);{file1是你喜欢的名字} writeln(file2,变量名);{file2是也你喜欢的名字} 要在键盘与屏幕上读写时就写 readln(变量名);{不要写文件...

信州区19891559245: pascal语言里函数assign的作用是什么?详细解释外加实例,求神牛指点啊啊!!!!!!! -
钮霍肺结: 用于文件名与文件变量关联.var name: stringf: text; begin ... name:='c:\data.txt'; assign(f, name); reset(f); // used for reading text file 'c:\data.txt'; ...end.

信州区19891559245: pascal高手进 关于assign用法的问题 -
钮霍肺结: assign((文件类型,如input或output),(文件名及路径,如'c:\*.*')); 如果是input要用reset(input)将输入文件变量初始化 如果是output要用rewrite(output)将输出文件清空并初始化 你的文件错误是没有输入文件路径,例如readme.in和...

信州区19891559245: pascal六句话解析 -
钮霍肺结: assign(input,'floor.in'); 建立标准输入与floor.in的关联通道 assign(output,'floor.out'); 建立标准输出与floor.out的关联通道 reset(input); 以读的方式打开标准输入 rewrite(output); 以重写的方式打开标准输出 close(input); 关闭标准输入与floor.in的关联,恢复成键盘 close(output); 关闭标准输出与floor.out的关联,恢复成CRT

信州区19891559245: pascal怎么打表,文件怎么用?我要详细点的 -
钮霍肺结: 1:文件的用法 一般情况下,最简单的是在主程序的最前面加上这样几句 assign(input,'文件名'); reset(input); assign(output,'文件名'); rewrite(output); 程序的最末尾加上:close(input); close(output);2:打表 打表是用于一些输入的范围很小...

信州区19891559245: pascal中图的广度优先遍历程序中的assign()和reset() -
钮霍肺结: 1 assign(input,'bfs.in');reset(input)意思是关联名叫 bfs.in的文件,reset(input)是准备读操作,前提是必须有 bfs.in文件,不然会RE的.2 键盘读入要麻烦,noip都用文件操作的.3 广搜层数较多,所以用递归好点 至于'bfs.in'文件的内容,就是本来你用键盘读入的东西(子程序不知道,所以无法确定本程序有什么作用)

信州区19891559245: 在PASCAL中,ASSIGN REWRITE CLOSE是什么意思?急 -
钮霍肺结: 这三个词是用来定义文件的,assign(f,str)是将字符串str赋给文件f,其实相当于你的输出输入是从str中得到,列入assign(output,'mark.out');指的是将你要输出的东西,写在mark.out中 rewrite(f);指的是建立一个允许写的磁盘文件,这个f先要由assign进行赋值;如rewrite(output); close(f);是关闭与f相连的磁盘文件,这是必须的一步.

信州区19891559245: PASCAL语言怎样进行文件输入和输出? -
钮霍肺结: 首先要定义文件类型变量var input,output:text; //头部定义 assign(input);rewrite(input);//程序开头对输入文件的定义及打开 assign(output);reset(output);//对输出文件的定义及打开中间就是对输入、输出的操作,比如read(input,a)//从input文本中读入到a变量 write(output,b);//将变量b写到文本output中、. 程序最后一定要写上 close(input); close(output); 上述中input、output都是根据变量定义区定义的文本变量名来的.

信州区19891559245: pascal程序中怎样输入输出文件? -
钮霍肺结: 一、文件的概念文件是按照其内在的逻辑联系分别组织在一起,构成不同的数据集合.它的名字就是文件名.使用文件有以下几点好处: (1)文件可以永久保存,其中的数据不会因为应用程序的结束或关机而消失. (2)文件中的数据...

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 星空见康网