Поле, стены и команды
Поле Робота — клетчатая таблица. Клетки нумеруют: строки сверху вниз, столбцы слева направо. Между соседними клетками может стоять стена (на рисунках — жирная линия). Через стену Робот пройти не может; если команда ведёт в стену, происходит отказ.
Проверки: «сверху свободно», «снизу свободно», «слева свободно», «справа свободно» и обратные «… стена».
Проверь себя. Робот стоит в клетке (2, 1), между клетками (2, 3) и (2, 4) — стена. Робот повторяет «вправо», пока справа свободно. В каком столбце он остановится?
Ответ: 3
Цикл «пока» и ветвление «если»
нц пока справа свободно
вправо
кц
Цикл «пока» сначала проверяет условие. Если оно ложно с самого начала, тело не выполнится ни разу. После выхода из цикла Робот стоит у стены.
если снизу свободно
то закрасить
все
Ветвление «если» выполняет действие только при истинном условии; можно добавить «иначе».
Как разбирать программу
Выполняйте программу по шагам, как компьютер: после каждого действия отмечайте положение Робота и закрашенные клетки. Полезна маленькая таблица «шаг — клетка — что сделали».
Пример. Поле 4×6, Робот в клетке (1, 1), стены под клетками (1, 2) и (1, 4). Программа: «нц пока справа свободно: если снизу свободно, то закрасить; вправо». Робот проходит клетки (1,1)…(1,5). Снизу свободно у клеток 1, 3, 5 — закрашены три клетки. В клетке (1, 6) справа стена поля, цикл завершается.
ЕГЭ-18: наибольшая и наименьшая сумма пути
В ЕГЭ-18 Робот идёт из левой верхней клетки в правую нижнюю, двигаясь только вправо или вниз. В каждой клетке лежит число (монеты). Нужно найти наибольшую и наименьшую сумму чисел вдоль пути.
Пример. Таблица 3×4: (1, 3, 2, 5), (4, 1, 6, 2), (2, 7, 1, 3). Наибольшая сумма: первая строка D = 1, 4, 6, 11; вторая: 5, 6, 12, 14; третья: 7, 14, 15, 18. Наименьшая — 15.
Проверь себя. Сколько существует путей из левого верхнего угла в правый нижний в таблице 4×5, если можно идти только вправо и вниз? (Формула сочетаний C(7, 3).)
Ответ: 35