Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Сборник задач Бабалова.doc
Скачиваний:
95
Добавлен:
04.06.2015
Размер:
1.16 Mб
Скачать

Inc(X);{Количество слов будет на 1 меньше!!}

end;

writeln('Количество слов=', x-1);

close(f);

{Ключевые слова прочитаны из файла и сформирован шаблон для представления результатов обработки текста. Количество определенных ключевых слов будет заноситься в поле результата компоненты записи }

end;

procedure key_word_stat;

{Статистику по частоте появления ключевых слов в тексте соберем при чтении тестового файла}

Var p:boolean;

t,j:integer;

f:text;

str:ss;

begin

p:=test_file(f);

If p then

begin

while not eof(f) do

begin

readln(f,str);

writeln(str);

for j:=1 to x-1 do

begin

t:=pos(stt[j].st,str);

while t<>0 do

begin

inc(stt[j].i);

delete(str,t,length(stt[j].st));

{ удаляем те ключевые слова в строке, которые уже найдены }

t:= pos(stt[j].st,str);

end;

writeln('***',stt[j].st,stt[j].i);

{предложение только для контроля за решением задачи}

end;

end;

close(f);

readln;

end else

begin

writeln('Файла еще нет');

test_file(f);

end;

end;

procedure stat_output;

Var j:integer;

begin

for j:=1 to x-1 do

if stt[j].i<>0 then

writeln('Количество слов=',stt[j].st,

' равно=',stt[j].i);

end;

Var k,l:byte;

ch:char;

tf:text;

begin

{Текст основной программы, обеспечивающий решение сформулированной задачи}

clrscr;

k:=50;

l:=18;

repeat

gotoxy(k,l);

writeln('Выберите действие');

gotoxy(k,l+1);

writeln('1. Создание файла ключевых слов');

gotoxy(k,l+2);

writeln('2. Ввод текстового файла');

gotoxy(k,l+3);

writeln('3. Подсчет статистики');

gotoxy(k,l+4);

writeln('4. Вывод результатов');

gotoxy(k,l+5);

writeln('5. Конец работы');

gotoxy(1,1);

ch:=readkey;

case ch of

'1': begin file_key; clrscr;end;

'2': begin file_create(tf);clrscr;end;

'3': begin

key_load;

key_word_stat;

end;

'4': stat_output;

end;

until ch='5';

end.