Файлы: найти частоту появления буквы "а" в каждом слове текста - 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.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д