Файлы: найти частоту появления буквы "а" в каждом слове текста - Free Pascal

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

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

В заданном тексте слова разделяются символами: "," "." "-" ":" ";" " " "!" "?". Требуется найти частоту появления в каждом слове буквы "а"

Решение задачи: «Файлы: найти частоту появления буквы "а" в каждом слове текста»

textual
Листинг программы
const
  Delims=[',', '.', '-', ':', ';', ' ', '!', '?'];
var
  s: String;
  i, m, n, w: Integer;
begin
  Assign(input,'input.txt'); Reset(input);
  while not EOF do begin
    ReadLn(s);
    s:=s+' '; w:=0; m:=0; n:=0;
    for i:=1 to Length(s) do
      if (s[i] in Delims) and (n>0) then begin
        Inc(w); WriteLn(w:3,':',m/n*100:6:1,'%');
        m:=0; n:=0;
      end else begin
        if s[i] in ['A','a'] then Inc(m);
        Inc(n);
      end;
  end;
end.

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

  1. В начале кода объявляются константы и переменные: — Delims — массив символов-разделителей (запятая, точка, тире, двоеточие, точка с запятой, пробел, восклицательный знак, вопросительный знак); — s — строковая переменная для чтения строки из файла; — i, m, n, w — целочисленные переменные для подсчета количества букв а, количества слов, количества символов в строке и для вывода результатов.
  2. Открывается файл input.txt для чтения.
  3. Запускается цикл while, который выполняется до конца файла (EOF).
  4. В каждой итерации цикла считывается строка из файла и добавляется пробел в конец.
  5. Затем запускается внутренний цикл for, который проходит по каждому символу строки.
  6. Если символ является разделителем и счетчик слов m больше 0, то увеличивается счетчик слов w, выводится значение w и обнуляются счетчики m и n.
  7. Если символ является буквой а или А, то увеличивается счетчик слов m.
  8. Затем увеличивается счетчик слов n.
  9. После завершения внутреннего цикла for, выводится значение w и символы а или А считаются.
  10. После завершения внешнего цикла while, закрывается файл input.txt.

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


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

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

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