Задание 3 ЕГЭ по информатике: базы данных
Вместо рисунка и вместо формулы в этом задании приложен файл. В нём несколько листов, и на каждом своя таблица: в прежних вариантах это были, например, записи о движении товаров по магазинам города, справочник товаров и справочник самих магазинов. В таблице операций магазины и товары обозначены номерами и артикулами, а в справочниках к этим номерам привязаны названия, районы, отделы, количество товара в упаковке. Ответ на вопрос задания лежит не на одном листе. Чтобы получить число, придётся собрать в одно целое то, что разнесено по трём таблицам.
Задание похоже на мелкую работу аналитика и проверяет ровно то, что на ней нужно: аккуратность и умение связывать данные по ключу, не запутавшись в условии, где каждая деталь лежит на своём листе. Остальные задания первой части расписаны в статье карта первой части ЕГЭ по информатике, а экзамен в целом — в статье про структуру ЕГЭ по информатике.
Что за данные и откуда берётся вопрос
Вопрос обычно требует итога за период по какому-нибудь признаку: сколько всего чего-то поступило или продано, на сколько изменилось, что осталось. Условия складываются из нескольких частей: даты (с такого-то по такое-то число, обычно включительно), район или отдел, тип операции. Каждая часть берётся из своего листа. Отсюда и главная трудность: при чтении вопроса вы не видите, где какая часть, и должны сами выписать, откуда берётся каждая.
Перед работой полезно разобрать условие на четыре вопроса к себе. Что именно считаем и в каких единицах. По каким строкам главной таблицы фильтруем. Какие столбцы в ней нужно достроить из справочников. Какого порядка должен получиться ответ: если итог по одному району вышел больше итога по всему городу, ошибка видна сразу. Если ответа хотя бы на один из вопросов нет, начинать вычисления рано.
Формат приложенного файла и название программы, в которой он открывается, определяются документами вашего года. Порядок работы от этого не меняется, но имена функций в разных программах таблиц различаются, и проверить заранее, как называется нужная вам функция именно там, где вы будете сдавать, стоит на учебном файле того же вида.
Порядок работы, проверенный на практике
Сначала скопируйте исходный лист и работайте на копии либо только в новых столбцах: исходные данные трогать нельзя, иначе вы не сможете проверить себя. Дальше действия идут в такой последовательности:
- дописать в главную таблицу столбцы, которые подтягивают из справочников всё, что нужно для фильтра и для расчёта: район магазина, отдел товара, количество в упаковке
- отфильтровать строки по условию: период, район, тип операции, и проверить, что число отобранных строк правдоподобно
- перевести количество в нужные единицы, если вопрос задан не в упаковках
- посчитать итог и повторить расчёт вторым способом на контрольном куске данных
Подтягивание значений делается подстановкой по ключу: функция поиска значения в справочнике по номеру. Она есть в любой электронной таблице, называется чаще всего ВПР, и пользоваться ей стоит с точным совпадением ключа. Итог по нескольким условиям считают функциями суммирования и подсчёта по условиям (СУММЕСЛИМН и СЧЁТЕСЛИМН), которые тоже встречаются в обеих распространённых программах.
Если в вопросе есть тип операции, например поступление и продажа, поступление идёт в итог со знаком плюс, продажа со знаком минус. Пропустить знак проще, чем кажется: итог выходит правдоподобным, только неверным.
Один вопрос от условия до числа
Вопрос я придумал сам, в вариантах он выглядит иначе, но устройство то же. Нужно узнать, на сколько штук изменилось количество некоторого товара в магазинах одного района с первого по восьмое число, включительно.
В главной таблице есть дата, номер магазина, артикул, тип операции и число упаковок. Района там нет, названия товара тоже нет, штук в упаковке нет. Район берётся из справочника магазинов по номеру, название и число штук в упаковке из справочника товаров по артикулу. Значит, дописываем два столбца с подстановкой, потом ещё один, где число упаковок умножено на число штук и взято со знаком: плюс для поступления, минус для продажи.
Дальше фильтр. Район, нужное название товара, дата не позже восьмого числа и не раньше первого. Складываем столбец изменения по отобранным строкам, и получаем ответ. Для контроля посчитайте отдельно сумму поступлений и сумму продаж по тем же строкам: разность должна совпасть с итогом, а если не совпала, ищите знак.
Всё это занимает один лист и несколько минут, когда движения отработаны. Без отработки уходит четверть часа, и причина не в сложности: человек ищет, как написать подстановку.
Таблица или программа
Задание решается и так и так, и по-моему, для большинства учеников электронная таблица лучше. Причина проста: все действия видны на экране, промежуточный столбец можно просмотреть глазами, ошибку подстановки видно сразу по пустым или странным клеткам. Программа вынуждает сначала прочитать файл, потом объединить таблицы, потом отфильтровать, и каждый шаг скрыт, пока не напечатаешь вывод.
Исключение одно: если у вас есть заготовка, которую вы много раз использовали и можете набрать по памяти, а данные велики. Тогда программа надёжнее, и повторять один и тот же расчёт на новом файле можно, не пересчитывая ничего вручную. Если среда на экзамене позволяет читать таблицы стандартными средствами языка, такая заготовка короткая. Что именно доступно, сверяйте по перечню программного обеспечения вашего года.
Лучший вариант, который я знаю, — решить задачу одним способом, а проверить другим, пока позволяет время. Совпало, значит, ответ можно вводить. Разошлось, значит, где-то ошибка, и находить её нужно до ввода, а не после результатов.
Где ломается ответ
В файлах с данными встречается мелкий беспорядок, и о нём надо знать. Число лежит в ячейке как текст, и подстановка по ключу его не находит, хотя глаза видят одно и то же. Номер магазина записан в одной таблице с пробелом, в другой без. Дата хранится как строка, и сравнение «не позже такого-то числа» работает не так, как вы ждёте. Столбец, который вы искали, находится правее, чем нужно, и подстановка возвращает соседнее значение.
Такая неприятность показывает себя ошибкой или пустым значением в клетке, и тот, кто смотрит на столбец подстановки целиком, замечает её за секунды. Поэтому после каждой подстановки пролистайте столбец вниз и вверх, найдите ошибки и пустые клетки, и только потом идите дальше.
Вторая группа потерь связана с единицами. Количество дано в упаковках, а вопрос про килограммы или штуки, и в справочнике есть количество в упаковке. Нужно умножить. Умножать надо построчно, до суммирования, а не после, потому что у разных товаров разная упаковка.
Третья связана с границами периода. «С первого по восьмое число включительно» означает, что в расчёте должны остаться оба крайних числа, и значит, условие в фильтре будет нестрогим. Ошибаются на нём так часто, что я всегда проверяю граничные строки глазами.
Отдельно о повторах. В таблице операций одна и та же запись иногда попадает дважды, и тогда итог завышен, хотя все подстановки сделаны верно. Заметить это можно, если отсортировать главную таблицу по идентификатору операции и пробежать глазами столбец: одинаковые номера идут подряд. Условие вашего задания может прямо говорить, что идентификаторы уникальны, и тогда проверка не нужна, но проверять, что именно сказано, надо до расчёта, а не после.
Ещё один полезный приём, не связанный с формулами: оценить ответ по порядку величины. Если в файле несколько тысяч операций, а отобранных строк оказалось три, либо наоборот, почти все, значит, фильтр, скорее всего, записан неверно. Число отобранных строк показывает сама программа таблиц внизу окна, и взгляд на него занимает секунду. Привычка смотреть на эту цифру после каждого изменения фильтра ловит ошибку раньше, чем вы доберётесь до суммы.
Откуда пробелы и что делать, если задание не идёт
Электронные таблицы проходят в основной школе, а вот связь нескольких таблиц по ключу в школьном курсе встречается разве что мельком. Базы данных чаще показывают как одну таблицу с запросом, и к одиннадцатому классу ученик помнит сортировку и фильтр, но не помнит, как вытащить район магазина по его номеру из другого листа. Виноват не ученик: этого навыка в программе почти нет. Что школьный курс информатики включает, разобрано в статье информатика в школе.
Следствие практическое. Подготовка к этому заданию в основном состоит из освоения инструмента, а не из изучения темы. Отдельно потренируйтесь в подстановке по ключу, суммировании по нескольким условиям, фильтре по периоду и переводе единиц. Когда они делаются без раздумий, остаётся только читать условие.
Тренировочный файл удобно сделать самому: три листа по несколько десятков строк, на одном операции, на двух других справочники. Придумайте десяток вопросов к нему, посчитайте ответы вручную на маленьком куске и сверьте с расчётом по всему файлу. Занятие скучное и очень полезное: после него вы знаете, на какой клетке у вас обычно сбивается подстановка, и экзаменационный файл перестаёт быть неожиданностью.
Различайте проблему в инструменте и проблему в понимании. Если вы не можете записать формулу подстановки, это инструмент, и лечится он упражнением на любом учебном файле: возьмите два листа с номерами и названиями и подтяните названия в главную таблицу. Если формулы вы пишете, но ответ не сходится с ключом, перечитайте вопрос и сравните с вашим фильтром по каждому условию отдельно.
Если расчёт занимает больше пятнадцати минут, остановитесь, оставьте задание и вернитесь к нему после остальных. Подробнее о распределении времени на экзамене сказано в статье про прохождение экзамена на компьютере.
С предыдущим заданием это связывает умение читать скрытые связи: в таблицах истинности вы восстанавливаете соответствие по строкам, здесь по ключу. Следом в карте идёт алгоритм исполнителя, где работа устроена совсем иначе.
Где найти разбор
Работу с файлами удобно разбирать на занятии: репетитор видит, как вы подтягиваете значения, и сразу замечает лишние действия. Платформа не показывает экран, поэтому свой файл с формулами пришлите в чат (он открывается после того, как репетитор получил ваш контакт; можно приложить до пяти файлов, каждый до 20 МБ) и разберите на занятии.
Начать поиск:
- репетиторы по информатике для подготовки к ЕГЭ
- репетиторы по информатике с пробным уроком
- все репетиторы для подготовки к ЕГЭ
Вопросы и ответы
Это задание решается в Excel? Программа на экзамене определяется перечнем программного обеспечения вашего года, и называть её заранее нельзя. Тренируйтесь в той, которая разрешена.
Нужны ли знания SQL? Задание не требует SQL: данные лежат в файле таблиц. Знание SQL не повредит, но напрямую на результат не влияет, потому что вся работа идёт функциями таблицы или кодом на языке программирования. Если вы уже знаете SQL, понятие ключа и связи между таблицами вам знакомо, и это сократит подготовку.
Что важнее: скорость или проверка? Проверка. Задание не из тех, где скорость решает: расчёт короткий, а ошибка стоит задания целиком, потому что ответ проверяет машина и частичных баллов за ход решения нет. Сэкономленные две минуты на этом номере стоят меньше, чем одна минута, потраченная на сверку итога вторым способом.
Можно ли получить дробный ответ? В прежних вариантах ответ был целым числом. Если у вас получилась дробь, проверьте, не потеряли ли вы множитель упаковки и не взяли ли среднее вместо суммы.
Оставить заявку
- Татьяна Попова — Информатика и олимпиадное программирование · от 3 000 ₽
- Артём Игоревич Соловьёв — Информатика и математика: ОГЭ и ЕГЭ от практикующего разработчика · от 2 100 ₽
- Илья Германович Воронцов — Информатика: ЕГЭ, олимпиады и алгоритмы для студентов · от 1 700 ₽