Назад к темам

Подсчёт вхождений с учётом регистра

Тренироваться
1

Подсчёт вхождений с учётом регистра

Зачем это в ЕГЭ.
Задание 10 в ЕГЭ по информатике проверяет умение работать с символьными строками и подсчитывать вхождения символов или подстрок. Даёт 1 первичный балл. Встречается в ~30% вариантов, часто в комбинации с обработкой файлов или условиями на регистр символов.

Главная идея.
Подсчёт вхождений — это поиск всех случаев, когда определённый символ или подстрока встречается в тексте. Учёт регистра означает, что 'A' и 'a' считаются разными символами. Ключ — последовательный перебор и сравнение каждого символа.

Алгоритм (чеклист).
1. Инициализировать счётчик (например, count = 0).
2. Пройти по каждому символу строки (цикл или срез).
3. Для каждого символа проверить совпадение с искомым (учитывая регистр).
4. При совпадении увеличить счётчик.
5. Проверить граничные случаи (пустая строка, отсутствие искомого символа).
6. Вернуть или вывести значение счётчика.

Опоры (кратко).
- s[i] — доступ к символу строки s по индексу i.
- len(s) — длина строки s.
- s.count(sub) — метод для подсчёта подстрок sub в строке s (но без учёта сложных условий).
- Цикл for char in s: для перебора символов.

Пример 1 (прямой подсчёт символов)
Дана строка: "Abracadabra". Найти количество букв 'a'.
Шаг 1. Инициализируем count = 0.
Шаг 2. Перебираем каждый символ строки: A, b, r, a, c, a, d, a, b, r, a.
Шаг 3. Сравниваем символ с 'a' (регистр важен!).
Шаг 4. Увеличиваем count для символов a (индексы 3, 5, 7, 10).
Шаг 5. Результат: count = 4.

Пример 2 (подсчёт с условием)
Дана строка: "Eagle Eye". Найти количество заглавных букв.
Шаг 1. Инициализируем count = 0.
Шаг 2. Перебираем символы: E, a, g, l, e, , E, y, e.
Шаг 3. Проверяем, является ли символ заглавным (char.isupper()).
Шаг 4. Увеличиваем count для E (индексы 0, 6).
Шаг 5. Результат: count = 2.

Типичные ошибки.
1. Путаница с регистром. Сравнение 'A' == 'a' даёт False, но это легко упустить.
2. Неучёт граничных случаев. Например, пустая строка или отсутствие искомого символа.
3. Ошибки в индексации. Выход за границы строки при использовании s[i].
4. Использование `count` без учёта условий. Метод s.count() не подходит для сложных проверок.
5. Неправильная инициализация счётчика. Забывают обнулить count перед циклом.

Дальше.
Разберите обработку строк в файлах и комбинации условий для подсчёта (например, буквы определённого регистра в чётных позициях).

Теория изучена?

Закрепи знания на практике — переходи к тренировке!

Тренироваться