Леонид: Спасибо
20-09-2023
Читать статью
Калужский Александр: Леонид, цикл x повториться 300 раз, цикл..
Леонид: Почему k == 90000 в примере (x > A) ∨ (y..
Привет! Мы добрались до 18 задания из ЕГЭ по информатике 2021.
Это задание снова решается с помощью компьютера.
Восемнадцатое задание направлено на обработку вещественных чисел с помощью таблиц. Мы с вами будет использовать программу Excel от компании Microsoft.
Перейдём к к тренировке решения 18 задания из ЕГЭ по информатике 2021.
Квадрат разлинован на N×N клеток (1 < N < 17). Исполнитель Робот может перемещаться по клеткам, выполняя за одно перемещение одну из двух команд: вправо или вверх. По команде вправо Робот перемещается в соседнюю правую клетку, по команде вверх — в соседнюю верхнюю. При попытке выхода за границу квадрата Робот разрушается. Перед каждым запуском Робота в каждой клетке квадрата лежит монета достоинством от 1 до 100. Посетив клетку, Робот забирает монеты с собой; это также относится к начальной и конечной клетке маршрута Робота.
Откройте файл. Определите максимальную и минимальную денежную сумму, которую может собрать Робот, пройдя из левой нижней клетки в правую верхнюю. В ответ запишите два числа друг за другом без разделительных знаков — сначала максимальную сумму, затем минимальную.
Исходные данные представляют собой электронную таблицу размером N×N, каждая ячейка которой соответствует клетке квадрата.
Пример входных данных:
Для указанных входных данных ответом должна быть пара чисел 35 и 15.
Открываем файл к данной задачке.
В начале найдём максимальную сумму.
Выделяем область всех ячеек, где написаны числа, вырезаем её и вставляем на столбец правее. Это нужно для того, чтобы при составлении формулы решения не было ошибок.
Обозначим мысленно ту область, где мы будем составлять наше решение, пропустив одну или две строчки снизу. По размеру область будет такая же.
В каждой ячейке этой области будет лежать максимальная cумма, которую может собрать Робот, дойдя до этой клетки. Т.к. Робот идёт в верхнюю правую клетку, то, соответственно, в ячейке K12 будет находится нужный нам ответ.
Наш Робот идёт из левой нижней клетки. Поэтому формулу, решающую эту задачу, составим сначала для ячейки B21.
Кликаем на ячейку B21 и пишем формулу:
Примечание: Чтобы в ячейке начать писать формулу, нужно поставить знак "=".
В любую ячейку нашей области можно попасть либо слева, либо снизу (Т.к. составляем формулу для любой ячейки, то не играет роли, что в данная ячейка угловая). Поэтому для ячейки B21 мы берём предыдущий результат - либо из левой ячейки, либо из правой ячейки, в зависимости от того, где собранная сумма больше.
Эту роль исполняет функция МАКС(). Она помогает выбрать откуда нужно идти, чтобы сумма всегда была максимальна.
Плюс, мы должны добавить сумму для данной ячейки к максимальной сумме предыдущей клетки. Поэтому в формулу дописываем ячейку B10
После того, как составили формулу для одной ячейки B21, можно распространить формулу на всю область.
Подносим мышку к правому нижнему углу. Как только появился чёрный крестик, кликаем левую кнопку мыши, и тянем вверх на 10 строчек вверх.
После того, как столбец готов, выделяем этот столбец, и аналогично, распространяем его на всё пространство.
В итоге получается такая картина:
Видим, что в ячейке K12 значение 1298. Это значение нам и нужно.
Аналогичным образом ищется минимальное значение, только в формуле вместо функции МАКС будет использоваться функция МИН.
Минимальное значение получилось 589.
Посмотрим ещё одну интересную задачу из примерны задач ЕГЭ по информатике нового образца 2021.
Квадрат разлинован на N × N клеток (1 < N < 30). Исполнитель Робот может перемещаться по клеткам, выполняя за одно перемещение одну из двух команд: вправо или вниз. По команде вправо Робот перемещается в соседнюю правую клетку, по команде вниз – в соседнюю нижнюю. Квадрат ограничен внешними стенами. Между соседними клетками квадрата также могут быть внутренние стены. Сквозь стену Робот пройти не может. Перед каждым запуском Робота в каждой клетке квадрата лежит монета достоинством от 1 до 100. Посетив клетку, Робот забирает монету с собой; это также относится к начальной и конечной клеткам маршрута Робота. Определите максимальную и минимальную денежные суммы, которые может собрать Робот, пройдя из левой верхней клетки в правую нижнюю. В ответе укажите два числа – сначала максимальную сумму, затем минимальную.
Исходные данные представляют собой электронную таблицу размером N × N, каждая ячейка которой соответствует клетке квадрата. Внутренние и внешние стены обозначены утолщенными линиями.
Для указанных входных данных ответом должна быть пара чисел
Открываем файл в программе Excel.
Выделим все ячейки с числами, нажмём "вырезать", используя контекстное меню. Вставим данные на 1 столбец вправо. Это делаем потому, что будем использовать для решения формулу, которая будет обращаться к ячейке слева.
Мысленно представим пространство на 1 строчку ниже, чем область, где находятся числа. Это пространство будет таким же по размерам, как и область с числами. В этом пространстве и будет наше решение.
Отметим особым цветом те ячейки, которые "спрятаны" от движения Робота стенками.
Для этих ячеек будем составлять другие формулы, в отличии от обычных ячеек.
Цвет ячейки можно поменять, нажав на кнопку "Цвет заливки" на главной вкладке программы.
Т.к. Робот направляется из левой верхней ячейки, то мы сначала и напишем формулу для этой ячейки. Пишем для ячейки B22:
Робот в любую ячейку может прийти либо сверху, либо слева. Для подсчёта максимального количества монет, мы должны выбрать максимальное предыдущее значение. Это и делаем формула. Плюс Робот должен взять монеты с текущей клетки.
Распространим формулу на всё пространство, не трогая закрашенные клетки.
Получается такая картина:
В ячейки для первой закрашенной области, Робот может попасть только сверху! Поэтому пишем формулу для ячейки H25:
Распространяем формулу по всему закрашенному столбцу.
В ячейки для второй закрашенной области, Робот может попасть только слева! Поэтому пишем формулу для ячейки М39:
Распространяем формулу по всей закрашенной строчке.
В правом нижнем углу нашего рабочего пространства получается максимальное количество монет, которое может собрать Робот. В ячейке U41 получается число 721.
Чтобы получить минимальную возможную сумму, в главной формуле функцию МАКС нужно заменить на МИН!
Удобно воспользоваться автоматической заменой через Ctrl+F.
Минимальная сумма равна 640.
Квадрат разлинован на N×N клеток (2 < N < 19). В каждой клетке лежат монеты, количество которых соответствует записанному числу. Количество монет не может быть меньше 1.
Два исполнителя – ВЕРХ и НИЗ – существуют на одинаковых полях. Первый имеет две команды – вверх и вправо, второй – вниз и вправо, которые, соответственно, перемещают исполнитель на одну клетку вверх, вниз или вправо. Исполнитель ВЕРХ начинает движение в левой нижней ячейке, исполнитель НИЗ – в левой верхней.
Откройте файл. Какой из исполнителей соберет большее количество монет в результате своей работы, если известно, что каждый из них запрограммирован собрать максимальное количество монет?
Пример:
Для указанных входных данных ответом является комбинация из названия исполнителя и количества собранных монет
Перенесём таблицу чисел на один столбец вправо.
Найдём, сколько соберёт монет исполнитель ВЕРХ.
Исполнитель "ВЕРХ" начинает идти с левой нижней клетки. Поэтому первую формулу мы зададим для клетки B27. Эта ячейка является нижней левой клеткой для области, где мы будем составлять решение.
Напишем в ячейке B27:
Распространим формулу на всё пространство.
Когда исполнитель пройдёт всё поле, в ячейке N15 будет находится ответ. Максимальное количество монет, которое может собрать исполнитель ВЕРХ будет 1743.
Теперь найдём максимальное количество монет, которое может собрать исполнитель НИЗ.
Решать будем аналогичным образом, удалив все следы от предыдущего исполнителя.
Т.к. исполнитель НИЗ стартует с левой верхней клетки, то мы сначала составим формулу для ячейки B15. Эта клетка олицетворяет левую верхнюю ячейку для области, где будет происходить решение.
В любую ячейку мы можем попасть либо сверху, либо слева. Это не относится к боковым и угловым ячейкам, но формула будет работать и для них.
При составлении максимальной суммы для любой ячейки, мы выбираем максимальное значение суммы из двух предыдущих ячеек + добавляем значение для этой ячейки.
В ячейке N27 будет максимальное значение для исполнителя НИЗ. Получилось 1686.
Видим, что у исполнителя ВЕРХ получилось собрать больше монет.