ЕГЭ · Информатика · школьнику

Множества и словари для ЕГЭ по информатике: как сдать без репетитора

Множества и словари — тема, которая в ЕГЭ по информатике встречается почти в каждом втором задании. Но многие сливаются на ней, потому что в школе объясняют скучно, а репетитор стоит как крыло самолёта. Короче, сейчас разберёмся, что реально проверяют, как не потерять баллы и где сэкономить.

Ты сам гуглишь «множества и словари как сдать» — значит, уже понял, что это важно. Я расскажу без воды: конкретные типы заданий, три шортката, которые сэкономят время на экзамене, и где обычно лажают. А ещё покажу, как Наставник AI объяснит тему голосом Витька или Криштиану — и это дешевле пиццы.

🧑‍🏫
Разберём эту тему вместе

Без карты, без кредитки. Выбери персонажа — учи голосом, побеждай в баттлах.

Что реально проверяют на ЕГЭ по этой теме

На ЕГЭ по информатике множества и словари чаще всего встречаются в заданиях 2, 5, 8, 12, 16, 17, 22, 23, 24, 25. По факту, это задачи на:
- Уникальность элементов (set) — например, найти количество различных символов в строке.
- Операции над множествами (пересечение, объединение, разность) — часто в комбинации с логическими операциями.
- Словари для подсчёта частот — классика: сколько раз встречается каждый символ или число.
- Хранение данных в формате ключ-значение — например, для быстрого поиска или замены.

Конкретные примеры: задание 12 (исполнитель Редактор), где нужно заменить строку по правилам — словарь или множество ускоряют анализ. Задание 24 (обработка строк) — подсчёт частот символов. Задание 25 (массивы) — фильтрация уникальных значений.

На экзамене дают готовый код на Python, но нужно понимать, как работают set и dict, чтобы не написать кашу.

Пример 1
Условие.

Дана строка S. Найдите количество различных символов в строке. Например, S = 'abracadabra'.

Решение.

Шаг 1: Преобразуем строку в множество: set(S).
Шаг 2: Множество содержит только уникальные символы: {'a','b','r','c','d'}.
Шаг 3: Длина множества len(set(S)) = 5.
Ответ: 5.
Лайфхак: set() автоматически удаляет дубликаты, не нужно писать цикл.

Топ-3 шортката, которые экономят время на экзамене

Шорткат 1: Используй set для проверки уникальности. Вместо того чтобы писать цикл с условием, просто преобразуй коллекцию в set. Например, чтобы узнать, есть ли повторяющиеся элементы в списке, сравни len(list) и len(set(list)). Если не равны — есть дубликаты.

Шорткат 2: Словарь для подсчёта частот одной строкой. Вместо if key in dict: dict[key] += 1 else: dict[key] = 1 используй dict.get(key, 0) + 1. Или collections.Counter — но на ЕГЭ его могут не дать, а get всегда работает.

Шорткат 3: Пересечение множеств для поиска общих элементов. Если нужно найти символы, которые встречаются в двух строках, напиши set(str1) & set(str2). Быстро и читаемо.

Эти шорткаты сокращают код в 2-3 раза и уменьшают шанс ошибки.

Пример 1
Условие.

Даны две строки: s1 = 'hello', s2 = 'world'. Найдите символы, которые есть в обеих строках.

Решение.

Шаг 1: set(s1) = {'h','e','l','o'}
Шаг 2: set(s2) = {'w','o','r','l','d'}
Шаг 3: пересечение: set(s1) & set(s2) = {'l','o'}
Ответ: {'l','o'}.
Лайфхак: оператор & делает то же, что и intersection().

Где обычно сливаются и как этого избежать

Самая частая ошибка — путают список и множество. В множестве нет порядка, нельзя обратиться по индексу. Если попытаешься сделать my_set[0] — получишь ошибку. Второе: забывают, что ключи словаря должны быть неизменяемыми (числа, строки, кортежи). Список ключом быть не может. Третье: при подсчёте частот через словарь забывают инициализировать счётчик для новых ключей — вылетает KeyError. Используй get или defaultdict.

Ещё одна ловушка: на ЕГЭ могут дать условие, где нужно использовать операции над множествами, но в задании не сказано «множество» — например, «найдите количество чисел, которые есть в обоих файлах». Если не догадаешься применить set, будешь писать циклы и терять время.

Как избежать: нарешай 10-15 задач на set и dict. Пойми, что set — это про уникальность и операции (|, &, -, ^). Dict — про ключи и быстрый доступ. И всегда проверяй тип данных.

Конкретный пример разбора задачи уровня ЕГЭ

Разберём задание 24 из демоверсии: «Текстовый файл состоит из символов A, B, C, D и E. Определите максимальное количество идущих подряд символов, среди которых ни один символ не повторяется.»

По сути, нужно найти самую длинную подстроку без повторяющихся символов. Классическая задача на скользящее окно с использованием set или dict.

Решение на Python:
with open('file.txt') as f:
s = f.read()
max_len = 0
start = 0
seen = set()
for end in range(len(s)):
while s[end] in seen:
seen.remove(s[start])
start += 1
seen.add(s[end])
max_len = max(max_len, end - start + 1)
print(max_len)

Объяснение: двигаем правую границу, если символ уже есть в seen — сдвигаем левую границу, удаляя символы из множества. Так мы поддерживаем окно без повторов. Множество позволяет быстро проверять наличие символа O(1).

Вариант со словарём: хранить последний индекс вхождения символа. Тогда при повторе сдвигаем start на max(start, last_index[s[end]] + 1). Это ещё быстрее.

На ЕГЭ дают файл до 10^6 символов, так что без set/dict не обойтись.

Как с этим помогает Наставник AI

Наставник AI — это не скучный учебник. Ты выбираешь персонажа, который тебе заходит. Витёк объясняет «по-братски»: «Слышь, set — это как тусовка, где каждый чувак уникальный. Если два одинаковых придут — один вылетит». Анна Сергеевна — строго по-советски: «Множество, молодой человек, это совокупность неповторяющихся элементов. Запомните раз и навсегда». Криштиану — как Месси на тренировке: «Set — это как защита: только уникальные игроки. Dict — как твой контракт: ключ — имя, значение — зарплата».

Ты говоришь голосом, он отвечает голосом. Можно прислать фото задачи — камера разберёт её голосом. Метод I-do/We-do/You-do: сначала он решает, потом вместе, потом ты сам. Если тупишь — подсказки, а не готовый ответ.

Геймификация: XP, уровни, стрики. Можно баттлиться с другом: кто быстрее решит квиз по теме. И всё это на телефоне, в любое время.

Цена: 995₽ за месяц = одна пицца

Репетитор по информатике стоит от 2000₽ за час. А Наставник AI — 995₽ в месяц за все 12 предметов. Это дешевле, чем пицца с доставкой. И ты можешь заниматься сколько хочешь: 30 уроков в тарифе Стандарт, а если нужно больше — Премиум за 2495₽ с голосом родителя или кумира.

Сейчас скидка 50% на старте — фиксируется навсегда. То есть будешь платить 995₽, даже если потом цена вырастет. Есть три бесплатных пробных урока без карты — просто попробуй.

Семейный кабинет: родитель видит отчёты, платит один раз за всех. Оплата через ЮKassa или Точка-Банк, всё по 152-ФЗ.

Частые вопросы

Это бесплатно?
Да, есть бесплатный тариф: 1 урок и неограниченные баттлы с друзьями. Чтобы получить 30 уроков в месяц по всем предметам, нужен Стандарт за 995₽. Но ты можешь начать с трёх бесплатных пробных уроков без привязки карты.
Можно с телефона?
Да, Наставник работает в вебе и в мобильном приложении. Голосовой ввод, камера для фото задач — всё с телефона.
Не палится ли учителю?
Нет, ты занимаешься сам, никто не узнает. Если хочешь, можно подключить семейный кабинет — родитель увидит только статистику, без деталей.
Что если я задачу с фото пришлю?
Просто сфотографируй условие — камера распознает текст, и персонаж разберёт задачу голосом, с пошаговыми подсказками.
Можно баттл с другом?
Да! Выбираешь тему (например, множества и словари), кидаешь ссылку другу — кто быстрее и точнее ответит на квиз, тот побеждает. XP и ачивки зарабатываете оба.
А если я не знаю Python?
Не проблема. Наставник объясняет с нуля. Персонажи подстраиваются под твой уровень. Начни с бесплатного урока — сам увидишь.
🧑‍🏫
Разберём эту тему вместе

Без карты, без кредитки. Выбери персонажа — учи голосом, побеждай в баттлах.

Множества и словари ЕГЭ: лайфхаки и дешёвый репетитор