Подсчитать, сколько раз в файле встречается каждое из указанных слов - Turbo Pascal

Узнай цену своей работы

Формулировка задачи:

Задание: Написать программу которая считывает текстовый файл и файл с перечнем слов и подсчитывает сколько раз в этом файле встречается каждое из указанных слов.

Решение задачи: «Подсчитать, сколько раз в файле встречается каждое из указанных слов»

textual
Листинг программы
uses crt;
const rz=['.',',',':','-',' '];
const nf='text.txt';
      ng='slova.txt';
var f,g:text;
    i,k:byte;
    sl,s,st:string;
begin
clrscr;
assign(f,nf);
assign(g,ng);
reset(g);
while not eof(g) do
 begin
  readln(g,sl);
  k:=0;
  reset(f);
  while not eof(f) do
   begin
    readln(f,s);
    {заменим разделители на пробелы}
    for i:=length(s) downto 1 do
    if s[i] in rz then s[i]:=' ';
    {удалим лишние пробелы}
    while pos('  ',s)>0 do delete(s,pos('  ',s),1);
    {сейчас ищем и считаем слово}
    while pos(' ',s)>0 do
     begin
      if copy(s,1,pos(' ',s)-1)=sl then k:=k+1;
      delete(s,1,pos(' ',s));
     end;
   end;
  writeln('Слово  ',sl,'  встречено ',k,' рз.');
  close(f);
 end;
close(g);
readln
end.

Объяснение кода листинга программы

  1. В начале кода используются библиотеки crt и text.
  2. Объявляются две переменные типа text: f и g. Переменная f будет использоваться для чтения из файла text.txt, а переменная g - для чтения из файла slova.txt.
  3. Далее идет функция clrscr, которая очищает экран.
  4. Затем происходит присвоение значения переменным f и g с помощью функции assign. Переменная f получает значение 'text.txt', а переменная g - 'slova.txt'.
  5. Функция reset вызывается на переменной g, чтобы сбросить ее в начало.
  6. Запускается цикл while, который будет выполняться до конца файла text.txt.
  7. Внутри цикла происходит чтение строки из файла text.txt в переменную sl с помощью функции readln.
  8. Переменная k инициализируется значением 0.
  9. Затем происходит сброс счетчика i в начало.
  10. Запускается цикл while, который будет выполняться до конца файла slova.txt.
  11. Внутри цикла происходит чтение строки из файла slova.txt в переменную s с помощью функции readln.
  12. Далее происходит проверка, содержит ли текущая строка из файла slova.txt хотя бы один символ из списка разделителей ('.', ',', ':', '-', ' '). Если содержит, то этот символ заменяется на пробел.
  13. Затем происходит удаление лишних пробелов в строке s.
  14. Далее идет проверка, содержит ли текущая строка из файла slova.txt хотя бы один символ из списка искомых слов (sl). Если содержит, то счетчик k увеличивается на 1.
  15. После этого происходит удаление текущей строки из файла slova.txt с помощью функции delete.
  16. Цикл while завершается, и выводится сообщение о количестве вхождений слова sl в тексте.
  17. После завершения работы с файлом text.txt он закрывается с помощью функции close.
  18. Затем закрывается файл slova.txt с помощью функции close.
  19. Выводится команда readln для завершения работы программы.

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

11   голосов , оценка 4.273 из 5
Похожие ответы