Подсчитать количество букв, количество слов и количество символов в тексте - Pascal ABC
Формулировка задачи:
Дан текст, который состоит из слов. Слова в тексте отделяются одно от другого символом *. Подсчитать количество букв в тексте, количество слов в тексте и количество символов, которые содержатся во множестве [‘ w ‘, ‘ x ‘, ‘z‘, ‘ s ‘].
Решение задачи: «Подсчитать количество букв, количество слов и количество символов в тексте»
textual
Листинг программы
const w = ['w', 'x', 'z', 's']; var s: string; cntletter, cntwords, cntset, i: integer; begin readln(s); cntletter := 0; cntwords := 1; for i := 1 to length(s) do begin if s[i] = '*' then inc(cntwords) else if s[i] in ['a'..'z', 'A'..'Z'] then inc(cntletter); if s[i] in w then inc(cntset); end; writeln('Слов в тексте: ', cntwords); writeln('Количество букв: ', cntletter); writeln('Символов из множества: ', cntset); end.
Объяснение кода листинга программы
- Задание начальных значений переменных:
- cntletter, cntwords, cntset - инициализируются нулевыми значениями;
- i - инициализируется значением 1;
- s - пустая строка для хранения введенного текста.
- Ввод текста с помощью функции readln(s).
- Установка начального значения cntletter в 0.
- Установка начального значения cntwords в 1.
- Установка начального значения cntset в 0.
- Организация цикла for от 1 до длины строки s.
- Внутри цикла проверяется:
- Если символ равен '*', то значение cntwords увеличивается на 1.
- Если символ принадлежит диапазону 'a'..'z' или 'A'..'Z', то значение cntletter увеличивается на 1.
- Если символ принадлежит массиву w, то значение cntset увеличивается на 1.
- После окончания цикла выводятся значения переменных cntwords, cntletter и cntset.