Файлы: найти частоту появления буквы "а" в каждом слове текста - 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.
Объяснение кода листинга программы
- В начале кода объявляются константы и переменные:
— Delims — массив символов-разделителей (запятая, точка, тире, двоеточие, точка с запятой, пробел, восклицательный знак, вопросительный знак);
— s — строковая переменная для чтения строки из файла;
— i, m, n, w — целочисленные переменные для подсчета количества букв
а
, количества слов, количества символов в строке и для вывода результатов. - Открывается файл input.txt для чтения.
- Запускается цикл while, который выполняется до конца файла (EOF).
- В каждой итерации цикла считывается строка из файла и добавляется пробел в конец.
- Затем запускается внутренний цикл for, который проходит по каждому символу строки.
- Если символ является разделителем и счетчик слов m больше 0, то увеличивается счетчик слов w, выводится значение w и обнуляются счетчики m и n.
- Если символ является буквой
а
илиА
, то увеличивается счетчик слов m. - Затем увеличивается счетчик слов n.
- После завершения внутреннего цикла for, выводится значение w и символы
а
илиА
считаются. - После завершения внешнего цикла while, закрывается файл input.txt.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д