ЕГЭ по информатике 18 задание объяснение
Уровень сложности — повышенный,
Требуется использование специализированного программного обеспечения — да,
Максимальный балл — 1,
Примерное время выполнения — 6 минут.
Проверяемые элементы содержания: Умение обрабатывать вещественные выражения в электронных таблицах
Решение 18 задания ЕГЭ
Плейлист видеоразборов задания на YouTube:
Задание демонстрационного варианта 2022 года ФИПИ
Исполнитель Робот
Квадрат разлинован на N×N клеток (1 < N < 17
). Исполнитель Робот может перемещаться по клеткам, выполняя за одно перемещение одну из двух команд: вправо или вниз. По команде вправо Робот перемещается в соседнюю правую клетку, по команде вниз – в соседнюю нижнюю. При попытке выхода за границу квадрата Робот разрушается. Перед каждым запуском Робота в каждой клетке квадрата лежит монета достоинством от 1 до 100. Посетив клетку, Робот забирает монету с собой; это также относится к начальной и конечной клетке маршрута Робота.
Определите максимальную и минимальную денежную сумму, которую может собрать Робот, пройдя из левой верхней клетки в правую нижнюю.
В ответе укажите два числа – сначала максимальную сумму, затем минимальную.
Исходные данные представляют собой электронную таблицу размером N×N, каждая ячейка которой соответствует клетке квадрата.
Ответ: 1204 | 502
Решение подобного задания смотрите в следующем ниже разборе.
📹 YouTube здесь
Видеорешение на RuTube здесь
Исходные данные записаны в файле (выше) в виде электронной таблицы прямоугольной формы.
Определите максимальную и минимальную денежную сумму, которую может собрать Робот, пройдя из левой НИЖНЕЙ клетки в правую ВЕРХНЮЮ. В ответе укажите два числа – сначала максимальную сумму, затем минимальную.
✍ Решение:
-
✎ Электронные таблицы:
- Для решения будем использовать метод динамического программирования - решать будет с конца к началу.
- Откройте файл электронной таблицы. Скопируем таблицу и вставим ее ниже - это будет шаблон для результирующей таблицы, полученной после решения задачи.
- Выделите ячейки скопированной таблицы каким-либо цветом, для обозначения ее границ. Теперь удалите все значения в результирующей таблице:
- Так как задание решается с конца, то выделим последнюю ячейку, в которой окажется Робот - верхняя правая ячейка
J12
результирующей таблицы. Робот просто соберет монету, которая находится в этой ячейке. Поэтому для ячейки возьмем значение из исходной таблицы. Введите формулу:
=J1
J12
Робот мог, либо двигаясь из ячейки I12
, либо из J13
. I12
. В ней Робот собирает монету, значение которой возьмем из исходной таблицы (ячейка I1
). Ну и поскольку дальше он попадет только в ячейку J12
, то необходимо прибавить значение этой ячейки. Поскольку значение уже просчитано для результирующей таблицы, то мы и будем его брать именно с результирующей таблицы. То есть введите формулу для ячейки I12
:=I1+J12
I12
, будет такой же и для всех оставшихся ячеек верхней строки.I12
в диапазон ячеек A12:H12
:J13
. Робот собирает монету с текущей ячейки (возьмём значение из ячейки исходной таблицы - J2
) и добавим значение ячейки, в которую он пойдет дальше - ячейка J12
(берем значение из результирующей таблицы, поскольку оно уже просчитано):=J2+J12
J13
подходит для всех ячеек данного столбца.J13
в диапазон ячеек J14:J21
:I12
и J13
Робот мог попасть, также двигаясь из ячейки I13
. Рассмотрим ее.I13
Робот собирает монету из текущей ячейки (берем значение из исходной таблицы - I2
), и затем у него альтернатива движения: либо в ячейку I12
, либо в J13
. В задании необходимо найти, как максимальную, так и минимальную сумму монет. Найдем сначала максимальную. Для этого надо выбрать максимум из I12
и J13
и добавить к текущему значению. Введите формулу в I13
:=I2+МАКС(I12;J13)
I13
, использовав маркер копирования, во все оставшиеся ячейки таблицы:I13
на =I2+МИН(I12;J13)
.Ответ: 1133 | 522
При попытке зайти на клетку со стеной Робот разрушается. Исходные данные записаны в файле в виде электронной таблицы прямоугольной формы. Определите максимальную и минимальную денежную сумму, которую может собрать Робот, пройдя из левой верхней клетки в правую нижнюю, не разрушившись. Известно, что такой путь существует. В ответе укажите два числа – сначала максимальную сумму, затем минимальную.
✍ Решение:
-
✎ Электронные таблицы:
- Для решения будем использовать метод динамического программирования - решать будет с конца к началу.
- Откройте файл электронной таблицы. Скопируем таблицу и вставим ее ниже - это будет шаблон для результирующей таблицы, полученной после решения задачи.
- Выделите ячейки скопированной таблицы каким-либо цветом, для обозначения ее границ. Теперь удалите все значения в результирующей таблице:
- Так как задание решается с конца, то выделим последнюю ячейку, в которой окажется Робот - нижняя правая ячейка
L25
результирующей таблицы. Робот просто соберет монету, которая находится в этой ячейке исходной таблицы -L12
. Поэтому для ячейки возьмем значение из исходной таблицы. Введите формулу:
формула для L25:
=L12
L12
Робот мог, либо двигаясь из ячейки K12
, либо из L11
. К12
. В ней Робот собирает монету, значение которой возьмем из исходной таблицы (ячейка K12
). Ну и поскольку дальше он попадет только в ячейку L12
, то необходимо прибавить значение этой ячейки.K25
:=ЕСЛИ(И(L25>0;ИЛИ(K12<=100;K12>=500));K12+L25;0)
L25>0
И либо K12<=100
либо K12>=500
, то собираем монету с текущей ячейки (K12
) и добавляем монету с L25
, так как там нет стены (L25>0
)K25
будет такой же и для всех оставшихся ячеек строки.K25
в диапазон ячеек A25:J25
.L24
. Робот собирает монету с текущей ячейки (возьмём значение из ячейки исходной таблицы - L11
) и добавим значение ячейки, в которую он пойдет дальше - ячейка L25 (берем значение из результирующей таблицы, поскольку оно уже просчитано):=ЕСЛИ(И(L25>0;ИЛИ(L11<=100;L11>=500));L11+L25;0)
L25>0
И либо L11<=100
либо L11>=500
, то собираем монету с текущей ячейки (L11
) и добавляем монету с L25
, так как там нет стены (L25>0
)L24
в диапазон ячеек L14:L23
.K24
Робот собирает монету из текущей ячейки (берем значение из исходной таблицы - K11
), и затем у него альтернатива движения: либо в ячейку L24
, либо в K25
. В задании необходимо найти, как максимальную, так и минимальную сумму монет. Найдем сначала максимальную. Не забудем проверять значение каждой ячейки, нет ли там стены. Для этого введите формулу в K24
:=ЕСЛИ(И(K11>100;K11<500);0;ЕСЛИ(И(L24=0;K25=0);0;ЕСЛИ(L24=0;K11+K25; ЕСЛИ(K25=0;K11+L24;K11+МИН(L24;K25)))))
K24
, использовав маркер копирования, во все оставшиеся ячейки таблицы:МАКС
на МИН
. И скопируйте снова данную формулу во всю оставшуюся таблицу.Робот может двигаться только вниз и вправо. Для сбора денег у Робота есть контейнеры вместимостью 8 монет каждый. С каждой клетки Робот забирает наибольшее количество контейнеров, полностью заполненных монетами. Если контейнер не заполнен до конца, а монеты в клетке кончились, робот высыпает из него монеты перед переходом в следующую клетку. Определите максимальную и минимальную денежную сумму, которую может собрать Робот, пройдя из левой верхней клетки в правую нижнюю. В ответе укажите два числа – сначала максимальную сумму, затем минимальную.
✍ Решение:
-
✎ Электронные таблицы:
- Для решения будем использовать метод динамического программирования - решать будет с конца к началу.
- Откройте файл электронной таблицы. Скопируем таблицу и вставим ее ниже - это будет шаблон для результирующей таблицы, полученной после решения задачи.
- Выделите ячейки скопированной таблицы каким-либо цветом, для обозначения ее границ. Теперь удалите все значения в результирующей таблице:
- Так как задание решается с конца, то выделим последнюю ячейку, в которой окажется Робот - нижняя правая ячейка
J21
результирующей таблицы. Робот просто соберет монеты, которые находится в этой ячейке исходной таблицы -J10
, если наберется целое число контейнеров (значение кратное 8). Если целое число контейнеров не набирается, - то робот забирает только то, что набралось в контейнеры (8* ЧАСТНОЕ от деления монет на 8). Поэтому для ячейки возьмем значение из исходной таблицы, проверяя его на кратность 8. Введите формулу:
формула для J21:
=ЕСЛИ(ОСТАТ(J10;8)=0;J10;8*ЧАСТНОЕ(J10;8))
J20
. В ней Робот собирает монету, значение которой возьмем из исходной таблицы (ячейка J9
). При этом будем проверять значение на кратность 8 и действовать так же, как описано в предыдущем пункте. Ну и поскольку дальше Робот попадет только в ячейку J21
, то необходимо прибавить значение этой ячейки.формула для J20: =ЕСЛИ(ОСТАТ(J9;8)=0;J9+J21;8*ЧАСТНОЕ(J9;8)+J21)
J20
будет такой же и для всех оставшихся ячеек столбца.J20
в диапазон ячеек J12:J19
.I21
. Робот собирает монету с текущей ячейки (возьмём значение из ячейки исходной таблицы - I10
). Проверим заполненность контейнеров, и добавим значение ячейки, в которую Робот пойдет дальше - ячейка J21 (берем значение из результирующей таблицы, поскольку оно уже просчитано):формула для I21
:
=ЕСЛИ(ОСТАТ(I10;8)=0;I10+J21;8*ЧАСТНОЕ(I10;8)+J21)
I21
в диапазон ячеек A21:H21
.I20
Робот собирает монету из текущей ячейки (берем значение из исходной таблицы - I9
), проверяя заполненность контейнеров, и затем у него альтернатива движения: либо в ячейку J20
, либо в I21
. В задании необходимо найти, как максимальную, так и минимальную сумму монет. Найдем сначала максимальную. Не забудем проверять значение каждой ячейки на заполненность контейнеров. Для этого введите формулу в I20
:формула для I20
:
=ЕСЛИ(ОСТАТ(I9;8)=0;I9+МАКС(J20;I21);8*ЧАСТНОЕ(I9;8)+МАКС(J20;I21))
I20
, использовав маркер копирования, во все оставшиеся ячейки таблицы.МАКС
на МИН
. И скопируйте снова данную формулу во всю оставшуюся таблицу.Ответ: 1144 448