Определить, входят ли заданные слова в текст, и если да, то сколько раз - Turbo Pascal
Формулировка задачи:
дан файл, содержащий текст на русском языке. Вычислить, входят ли данные слов в текст, и если да, то сколько раз
Решение задачи: «Определить, входят ли заданные слова в текст, и если да, то сколько раз»
textual
Листинг программы
Var f:text; slovo,s:string; kol:integer; Begin write('Слово: ');readln(slovo); Assign(f,'in.txt');Reset(f); While not Eof(f) do Begin readln(f,s); s:=s+' '; While Pos(' ',s)>0 do Begin if slovo=Copy(s,1,Pos(' ',s)-1) then inc(kol); Delete(s,1,Pos(' ',s)); End; End; if kol>0 then writeln(kol,' раз(а)') else writeln('Не входит'); readln; End.
Объяснение кода листинга программы
- Объявляются переменные: f - текстовый файл, slovo - слово для поиска, s - строка, содержащая слова, kol - счётчик вхождений.
- Выводится запрос на ввод слова для поиска.
- Устанавливается связь с текстовым файлом 'in.txt'.
- В цикле While не Eof(f) происходит чтение строки из файла в переменную s.
- Строка s накапливает все вхождения искомого слова, добавляя к ней пробелы.
- Вложенный цикл While Pos(' ',s)>0 обрабатывает каждое вхождение искомого слова в строке s.
- Если искомое слово найдено (slovo=Copy(s,1,Pos(' ',s)-1)), то счётчик kol увеличивается на единицу.
- После окончания внутреннего цикла удаляется найденное слово из строки s.
- По окончании внешнего цикла проверяется значение счётчика kol.
- Если kol>0, выводится количество вхождений искомого слова, иначе выводится 'Не входит'.
- Цикл завершается вызовом readln.