Задачи / Строки / Подсчёт гласных букв в строке
Подсчёт гласных букв в строке: блок-схема и алгоритм
Перебираем символы строки и проверяем, входит ли символ в строку-набор гласных «аеёиоуыэюя». Если входит — увеличиваем счётчик.
Алгоритм по шагам
- Ввести строку s; k = 0.
- Для i от 1 до длина(s): если s[i] входит в «аеёиоуыэюя», то k = k + 1.
- Вывести k.
Пример работы
| Вход | s = «блок-схема» |
| Шаг 1 | о — гласная, k = 1 |
| Шаг 2 | е — гласная, k = 2 |
| Шаг 3 | а — гласная, k = 3 |
| Результат | 3 |
Решение на Python
s = input().lower()
k = 0
for ch in s:
if ch in "аеёиоуыэюя":
k += 1
print(k)
Решение на Pascal
var s: string;
i, k: integer;
begin
readln(s);
k := 0;
for i := 1 to length(s) do
if pos(s[i], 'аеёиоуыэюяАЕЁИОУЫЭЮЯ') > 0 then
k := k + 1;
writeln(k);
end.
Код блок-схемы
Схема выше нарисована по этому псевдокоду. Скопируйте его в редактор блок-схем или нажмите «Открыть блок-схему в редакторе».
блок-схема: Подсчёт гласных букв
начало
ввод s
k = 0
для i от 1 до длина(s)
если s[i] в «аеёиоуыэюя»
k = k + 1
вывод k
конец
Сложность
O(n · m), где m = 10 — размер набора гласных, то есть фактически O(n).
Частые ошибки
- Не учитывать заглавные буквы — приведите строку к нижнему регистру.
- Забыть букву «ё».
- В Pascal кириллица может занимать два байта (UTF-8) — используйте тип и кодировку, которые поддерживает ваша среда.
Похожие задачи
Обозначения фигур и синтаксис кода блок-схем — в справочнике: блок-схема по ГОСТ 19.701. Все задачи.