Напишите для Робота алгоритм, который закрашивает все клетки вдоль стен прямоугольника с внутренней стороны.
Проходы должны остаться незакрашенными.
Другие клетки закрашивать не нужно.
На представленной выше схеме Робот должен закрасить эти клетки:
Выполнение алгоритма должно завершиться.
Робот не должен сталкиваться со стенами.
Конечное расположение Робота может быть произвольным.
Алгоритм должен решать задачу для любого допустимого расположения стен и проходов в них.
Также вы можете прислать свою работу учителю другим удобным способом.
«вверх».
На клетчатом поле действует исполнитель «Робот».
Соседние клетки (по сторонам) могут быть отделены стеной — через неё пройти нельзя.
Попытка идти в стену приводит к поломке.
Между соседними (по сторонам) клетками может стоять стена, через которую Робот пройти не может.
Если Робот получит команду двигаться сквозь стену, он остановится из‑за поломки.
У Робота есть девять команд.
Четыре команды задают направление:
Также у Робота есть команда «закрасить», по которой он красит клетку, в которой находится.
Четыре команды проверяют соседние клетки:
«сверху свободно» «снизу свободно» «слева свободно» «справа свободно»
Их можно использовать вместе с условием «если»:
если условие то
последовательность команд
все
Здесь условие — одна из команд проверки условия.
последовательность команд — это одна или несколько любых команд-приказов.
Например, чтобы Робот передвинулся на одну клетку вправо, если справа нет стены, и закрасил эту клетку, можно использовать такой алгоритм:
если справа свободно то
вправо
закрасить
все
В одном условии можно использовать несколько команд проверки с помощью логических связок «и», «или», «не»:
если (справа свободно) и (не снизу свободно) то
вправо
все
Для повторения последовательности команд можно использовать цикл «пока»:
нц пока условие
последовательность команд
кц
На бесконечном поле четыре стены образуют прямоугольник.
Длины стен неизвестны.
В левой вертикальной и нижней горизонтальной стенах есть по одному проходу, оба не примыкают к углам прямоугольника.
Точные места проходов и их ширина неизвестны.
Робот находится около нижнего окончания левой вертикальной стены (ниже прохода), снаружи прямоугольника, выше нижней стены.
На схеме указан один из возможных способов расположения стен и Робота (обозначен буквой «Р»).
Напишите для Робота алгоритм, который закрашивает все клетки вдоль стен прямоугольника с внутренней стороны.
Проходы должны остаться незакрашенными.
Другие клетки закрашивать не нужно.
На представленной выше схеме Робот должен закрасить эти клетки:
Выполнение алгоритма должно завершиться.
Робот не должен сталкиваться со стенами.
Конечное расположение Робота может быть произвольным.
Алгоритм должен решать задачу для любого допустимого расположения стен и проходов в них.
Также вы можете прислать свою работу учителю другим удобным способом.
«вверх».
Время решения
00:00.00
Нажмите «Пуск», когда начнёте решать
Пробел — пуск и пауза