Подсчитать, сколько раз в файле встречается каждое из указанных слов - 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.
Объяснение кода листинга программы
- В начале кода используются библиотеки crt и text.
- Объявляются две переменные типа text: f и g. Переменная f будет использоваться для чтения из файла text.txt, а переменная g - для чтения из файла slova.txt.
- Далее идет функция clrscr, которая очищает экран.
- Затем происходит присвоение значения переменным f и g с помощью функции assign. Переменная f получает значение 'text.txt', а переменная g - 'slova.txt'.
- Функция reset вызывается на переменной g, чтобы сбросить ее в начало.
- Запускается цикл while, который будет выполняться до конца файла text.txt.
- Внутри цикла происходит чтение строки из файла text.txt в переменную sl с помощью функции readln.
- Переменная k инициализируется значением 0.
- Затем происходит сброс счетчика i в начало.
- Запускается цикл while, который будет выполняться до конца файла slova.txt.
- Внутри цикла происходит чтение строки из файла slova.txt в переменную s с помощью функции readln.
- Далее происходит проверка, содержит ли текущая строка из файла slova.txt хотя бы один символ из списка разделителей ('.', ',', ':', '-', ' '). Если содержит, то этот символ заменяется на пробел.
- Затем происходит удаление лишних пробелов в строке s.
- Далее идет проверка, содержит ли текущая строка из файла slova.txt хотя бы один символ из списка искомых слов (sl). Если содержит, то счетчик k увеличивается на 1.
- После этого происходит удаление текущей строки из файла slova.txt с помощью функции delete.
- Цикл while завершается, и выводится сообщение о количестве вхождений слова sl в тексте.
- После завершения работы с файлом text.txt он закрывается с помощью функции close.
- Затем закрывается файл slova.txt с помощью функции close.
- Выводится команда readln для завершения работы программы.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д