Подсчитать количество букв и слов в тексте - Pascal ABC
Формулировка задачи:
Дан текст, который состоит из слов. Слова в тексте отделяются одно от другого пробелами и содержат гласные буквы, которые находятся во множестве [‘ а ‘, ‘ е ‘, ‘ у ‘, ‘ о ‘]. Подсчитать количество букв в тексте, количество слов в тексте и вывести из текста количество гласных букв данного множества.
Помогите пожалуйста
Решение задачи: «Подсчитать количество букв и слов в тексте»
textual
Листинг программы
{$MODE TP} const VOWELS: Set Of Char = ['a', 'e', 'o', 'y', 'A', 'E', 'O', 'Y']; ALPHABET: Set Of Char = ['A'..'Z', 'a'..'z']; var s: String; lettersCount, wordsCount, vowelsCount, i: LongWord; inWord: Boolean; begin Write('Input text: '); ReadLn(s); lettersCount := 0; wordsCount := 0; vowelsCount := 0; s := s + ' '; inWord := False; i := 1; while (i <= Length(s)) do begin if (s[i] in ALPHABET) then begin inWord := True; Inc(lettersCount); if (s[i] in VOWELS) then Inc(vowelsCount); end else begin if (inWord) then Inc(wordsCount); inWord := False; end; Inc(i); end; WriteLn('Words: ', wordsCount); WriteLn('Vowels: ', vowelsCount); WriteLn('Letters: ', lettersCount); end.
Объяснение кода листинга программы
- Создается строка
const
, где определяются два множества символов:VOWELS
иALPHABET
. - Создается переменная
s
типаString
, которая будет содержать введенный пользователем текст. - Создается четыре переменные-счетчика:
lettersCount
,wordsCount
,vowelsCount
иi
типаLongWord
. - Устанавливается начальное значение счетчиков равным нулю.
- Устанавливается начальное значение переменной
inWord
равнымFalse
. - Запускается цикл
while
, который будет выполняться до тех пор, пока длина строкиs
больше или равна единице. - Внутри цикла проверяется каждый символ строки
s
. - Если текущий символ является буквой из алфавита (
s[i] in ALPHABET
), то:- Устанавливается значение переменной
inWord
вTrue
. - Увеличивается значение счетчика
lettersCount
на единицу. - Если текущий символ является гласной (
s[i] in VOWELS
), то:- Увеличивается значение счетчика
vowelsCount
на единицу.
- Увеличивается значение счетчика
- Иначе, если
inWord
равноTrue
, то:- Увеличивается значение счетчика
wordsCount
на единицу. - Устанавливаем значение переменной
inWord
вFalse
.
- Увеличивается значение счетчика
- Устанавливается значение переменной
- После завершения внутреннего цикла, выводятся значения счетчиков на экран.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д