free pascal 关于“文件”的一道题目~

来源:百度知道 编辑:UC知道 时间:2024/06/21 23:54:58
用Free Pascal 写一个程序
要求:
打开一个文件(*.pas),求打开的这个程序中有多少个BEGIN 多少个END,要求忽略大小写,并且搜的是单个的单词,如果是形如beginend的词不属于begin 也不属于end~

我简单的编一下好了:
var a,b,c:integer;
s:string;
begin
assign(input,'*.pas');reset(input);
assign(output,'*.ou');rewrite(output);
while not eof do
begin
readln(s);
if(length(s)=3)and(upcase(s)='END')then
b:=b+1;
if(length(s)=5)and(upcase(s)='BEGIN')then
c:=c+1;
if length(s)>3then
for d:=1to length(s)do
begin {接下去的判断部分可能有范围上的问题,若有就把它分别写成两个判断的部分好了}
if(d+5<length(s))and(upcase(copy(s,a,7))=' BEGIN ')then
c:=c+1;
if(d+5=length(s))and(upcase(copy(s,a,6))=' BEGIN')then
c:=c+1;
if upcase(copy(s,1,6))='BEGIN 'then
c:=c+1;
if(d+3<length(s))and(upcase(copy(s,a,5))=' END ')then
b:=b+1;
if(d+3=length(s))and(upcase(copy(s,a,4))=' END')then
b:=b+1;
if upcase(copy(s,1,4))='END 'then
b:=b+1;
end;
end;
writeln('end:',b,',begin:'