Задан текст в виде последовательности из 40 слов, каждое не более 25 символов. сколько раз в тексте встречаются слова: значит, вот, автмобиль?через процедуры

Поляков Евгений Александрович

Учитель информатики высшей категории

Проверено учителем

Для решения задачи подсчета вхождений конкретных слов в тексте (массиве строк) наиболее эффективно использовать структурное программирование с применением процедур и функций. Это позволяет отделить логику обработки данных от ввода-вывода. Ниже представлен алгоритм и пример реализации на языке Pascal (традиционном для учебных задач на процедуры), который демонстрирует решение. Алгоритм решения

  1. Типизация: Создается тип данных для массива из 40 строк.
  2. Функция сравнения: Создается вспомогательная логика для проверки совпадения слов (с учетом или без учета регистра).
  3. Процедура подсчета: Основная процедура принимает массив текста и искомое слово, возвращая количество совпадений через выходной параметр.
  4. Вызов: Программа трижды вызывает процедуру для слов: "значит", "вот", "автомобиль".

Программная реализация (Pascal) pascal

program WordCounter; type TextArray = array[1..40] of string[25]; var myText: TextArray; countZnachit, countVot, countAuto: integer; { Процедура для подсчета вхождений конкретного слова } procedure CountOccurrences(const txt: TextArray; searchWord: string; var resultCount: integer); var i: integer; begin resultCount := 0; for i := 1 to 40 do begin if txt[i] = searchWord then resultCount := resultCount + 1; end; end; begin { Здесь предполагается заполнение массива myText данными } { Вызов процедур для каждого искомого слова } CountOccurrences(myText, 'значит', countZnachit); CountOccurrences(myText, 'вот', countVot); CountOccurrences(myText, 'автомобиль', countAuto); { Вывод результатов } writeln('Слово "значит" встречается: ', countZnachit); writeln('Слово "вот" встречается: ', countVot); writeln('Слово "автомобиль" встречается: ', countAuto); end. 
Use code with caution.Пояснения к реализации

  • Параметры процедуры: В процедуре CountOccurrences массив txt передается как const для экономии памяти, а resultCount помечен ключевым словом var, что позволяет процедуре "вернуть" значение в основную программу.
  • Ограничения: В коде выше поиск чувствителен к регистру (слово "Вот" не будет равно "вот"). Если требуется игнорировать регистр, внутри цикла следует привести оба сравниваемых слова к нижнему регистру функцией LowerCase.
  • Эффективность: Использование процедур позволяет легко расширить список искомых слов, просто добавив новый вызов в основной блок программы без дублирования кода поиска.

Хотите, я перепишу этот алгоритм на другом языке программирования, например, на Python или C++?

Форма ответа

Ваш аватар