дан текст,хранящейся в текстовом файле. подсчитать количество строк,содержащих введенное слово — Pascal(Паскаль)

uses crt;
const rz=[' ',',','.','?','!'];{разделители слов}
var f:text;
    i,k,p:byte;
    name,s,sl:string;
begin
clrscr;
write('Имя файла для чтения: ');
readln(name);
name:=name+'.txt';
assign(f,name);
{$I-} reset(f);  {$I+}{проверка существования файла}
if IOResult <> 0 then
 begin
  writeLn('Не могу открыть файл ',name);
  writeLn('Работа программы завершена. Нажмите ENTER');
  readln;
  exit;
 end;
write('Введите слово для пoиска в файле ',name);
readln(sl);
k:=0;
while not eof(f) do
 begin
  readln(f,s);
  p:=pos(sl,s);{первое вхождение сочетания букв слова в строке}
  if (p>0)and((p=1)or(s[p-1] in rz)){если есть и оно первое или перед ним разделитель}
  and((s[p+length(sl)] in rz)or(p+length(sl)=length(sl))) {и за ним разделитель
                                                          или оно последнее в строке}
  then k:=k+1;{считаем строку}
 end;
close(f);
write('Количество строк, содеpжащих слово ',sl,' = ',k);
readln
end.

Leave a Comment

+ 83 = 92