ЕГЭ по информатике 2026 · задание 3 из 27
ЕГЭ по информатике 2026, задание 3: база данных
Задание 3 — базовое, 1 балл. Проверяют поиск в реляционной базе: несколько связанных таблиц, отбор строк и сумма или количество. Специализированное ПО нужно.
Изменение 2026: файл приходит в формате .ods, а не Excel. Открывайте его в LibreOffice Calc. Горячие клавиши похожи на Excel, но не те же. Разделитель аргументов функций в русской локали — точка с запятой.
Как устроена база
Обычно три таблицы:
- справочник товаров: артикул, название, цена или категория;
- справочник магазинов или районов;
- таблица движений: дата, магазин, артикул, количество.
Связь идёт по коду, а не по названию. Сначала найдите поле, которым таблицы соединяются, и только потом считайте сумму.
Конспект
1. Откройте все листы. Выпишите, какой код на что ссылается.
2. Переведите вопрос на фильтры: район, даты «с … по …», категория, цена выше порога. Границы дат включают или нет — смотрите формулировку «с … по …» и примеры.
3. Не суммируйте количество, если спрашивают стоимость. Сначала количество умножают на цену из справочника.
4. В Calc удобны СУММЕСЛИМН и СЧЁТЕСЛИМН. Если фильтров много, сначала соберите вспомогательный столбец «подходит» функцией ЕСЛИ, затем суммируйте его.
5. Проверьте на двух-трёх строках вручную, потом смотрите итог.
Связать таблицы можно ВПР / ПРОСМОТРX. Если ВПР не находит код, часто он записан как текст в одной таблице и как число в другой.
Шаблон на Python
На экзамене быстрее формула в Calc. Шаблон пригодится, если вы выгрузили листы в CSV или вставили строки. Деньги и количества храните числами, не строками.
# данные уже сведены в список движений
# price — цена из справочника, qty — количество, district и kind — фильтры
rows = [
{"district": "Заречный", "kind": "молоко", "price": 80, "qty": 12, "date": "2026-03-01"},
{"district": "Центр", "kind": "молоко", "price": 90, "qty": 4, "date": "2026-03-02"},
]
total = 0
for r in rows:
if r["district"] != "Заречный":
continue
if r["kind"] != "молоко":
continue
if not ("2026-03-01" <= r["date"] <= "2026-03-31"):
continue
total += r["price"] * r["qty"]
print(total)Типичные ошибки
- В сумму попали лишние районы или забыт один артикул из нужной категории.
- Сложили количество, а в ответ нужна стоимость.
- Двойная строка после связи «один ко многим» посчитана дважды.
- Фильтр по дате обрезал первый или последний день.
Итог из Calc и из короткой проверки на выборке должны совпасть. Если нет — ошибка в условии отбора, а не в арифметике.
Попробуйте объяснить с Мишкой
Бесплатный ИИ-репетитор объяснит любую тему так, как вам понятно — шаг за шагом.
Начать бесплатно