27 задание демо ЕГЭ 2025
Разбор 27 задания демоварианта ЕГЭ 2025 года. Задание проверяет умение решать задачи анализа данных.
Условие
Учёный решил провести кластеризацию некоторого множества звёзд по их расположению на карте звёздного неба.
Кластер звёзд – это набор звёзд (точек) на графике, лежащий внутри прямоугольника высотой H и шириной W. Каждая звезда обязательно принадлежит только одному из кластеров.
Истинный центр кластера, или центроид, – это одна из звёзд на графике, сумма расстояний от которой до всех остальных звёзд кластера минимальна.
Под расстоянием понимается расстояние Евклида между двумя точками A(x1, y1) и B(x2, y2) на плоскости, которое вычисляется по формуле:
В файле A хранятся данные о звёздах двух кластеров, где H=3, W=3 для каждого кластера. В каждой строке записана информация о расположении на карте одной звезды: сначала координата x, затем координата y. Значения даны в условных единицах. Известно, что количество звёзд не превышает 1000.
В файле Б хранятся данные о звёздах трёх кластеров, где H=3, W=3 для каждого кластера. Известно, что количество звёзд не превышает 10 000. Структура хранения информации о звездах в файле Б аналогична файлу А.
Для каждого файла определите координаты центра каждого кластера, затем вычислите два числа:
Px – среднее арифметическое абсцисс центров кластеров, и
Py – среднее арифметическое ординат центров кластеров.
В ответе запишите четыре числа:
в первой строке сначала целую часть произведения Px × 10 000 , затем целую часть произведения
Py × 10 000 для файла А,
во второй строке – аналогичные данные для файла Б.
Возможные данные одного из файлов иллюстрированы графиком.
Внимание! График приведён в иллюстративных целях для произвольных значений, не имеющих отношения к заданию. Для выполнения задания используйте данные из прилагаемого файла.
Файлы для выполнения задания в Демовариант ЕГЭ 2025 (с доп. файлами)
План решения
Итак, в задании нужно решить две похожих задачи с разным количеством данных и записать по два ответа на каждую задачу.
К заданию прилагаются 4 файла, для решения пригодятся все четыре.
В текстовом файле и в таблице для каждой задачи содержатся одинаковые данные – координаты звёзд (точек). Например, в файлах А:
В Excel отображается меньше знаков после запятой, при желании можно увеличить количество знаков и убедиться, что числа одни и те же.
В файлах А координат не более 1 000, в файлах Б – не более 10 000. Звёзды (точки) в файлах А распределяются по двум кластерам, а в файлах Б – по трём. Размер кластера одинаков для А и для Б это прямоугольник 3 на 3.
Решив одну задачу, аналогично решим и другую.
Решим поэтапно:
- Определим примерные координаты каждого кластера
- Подготовим данные в текстовом файле для программной обработки. Можно обойтись и без этого, но тогда нужно будет учитывать эту подготовку в самой программе.
- Напишем программу на Python для расчёта центроида для каждого кластера и средних арифметических по абсциссам и ординатам центроидов.
Решение
Решим задачу по файлам А.
решение А
1. Определим примерные координаты каждого кластера
Построим в Excel точечную диаграмму. Определим примерные границы каждого кластера.
К первому кластеру отнесём точки (звёзды) с координатой X от -2 до 1 и координатой Y от 0 до 3. Исходя из условия задачи, все оставшиеся точки точно будут относиться ко второму кластеру. Если бы это не было известно, мы бы так же определили диапазон координат второго кластера.
2. Подготовим данные в текстовом файле для программной обработки
- Удаляем из файла первую строку с X и Y.
- В файле дробная часть числа отделена от целой части запятой. Меняем все запятые на точки (Ctrl+H, заменить все). Это нужно для преобразования считанных из файла данных в числа.
3. Напишем программу на Python
Ниже приведён возможный вариант программы.
Для кластеров создадим два пустых списка:
Откроем файл. Исходим из того, что файл с программой и файлы к заданию находятся в одной папке.
Считаем построчно координаты, распределяя их по кластерам:
Для определения координат центроида кластера напишем функцию, в которой будем искать минимальную сумму расстояний Евклида по формуле.
Функция вернёт координаты центроида.
Получив результат по двум кластерам, останется посчитать среднее арифметическое отдельно по координатам X и Y и вывести результат в заданном формате – целую часть после умножения на 10 000.
Программа целиком:
Результат: 10738 30730
решение Б
Первые два этапа такие же, как и при решении предыдущей задачи.
Диаграмма:
На третьем этапе копируем написанную для первой задачи программу и вносим в неё изменения.
В файлах Б 10 000 точек и три кластера.
Если проверять точку на принадлежность каждому кластеру, то неплохо бы сверить сумму распределённых точек с их общим количеством. Так мы убедимся, что все точки распределены.
Возможный вариант программы:
Программа работает заметно дольше.
Результат: 37522 51277
запись ответа
Ответ записывается в две строки. В первой – результаты по файлам А, во второй – по Б:
10738 30730
37522 51277