На бесконечном поле имеется вертикальная стена. Длина стены неизвестна. От нижнего конца стены влево отходит горизонтальная стена также неизвестной длины. Робот находится в клетке, расположенной справа от верхнего края вертикальной стены.
На рисунке указан один из возможных способов расположения стен и Робота (Робот обозначен буквой «Р»).
Напишите для Робота алгоритм, закрашивающий все клетки, расположенные непосредственно правее вертикальной стены, ниже горизонтальной стены и угловую клетку. Робот должен закрасить только клетки, удовлетворяющие данному условию. Например, для приведённого выше рисунка Робот должен закрасить следующие клетки (см. рисунок).
При исполнении алгоритма Робот не должен разрушиться, выполнение алгоритма должно завершиться. Конечное расположение Робота может быть произвольным.
Алгоритм должен решать задачу для произвольного размера поля и любого допустимого расположения стен внутри прямоугольного поля.
Алгоритм может быть выполнен в среде формального исполнителя или записан в текстовом редакторе.
Сохраните алгоритм в файле. Название файла и каталог для сохранения Вам сообщат организаторы.
СтатГрад Вариант ИН2190501 25 апреля 2022 – задание №15.1
Решение:
Команды исполнителя будем записывать жирным шрифтом, а комментарии, поясняющие алгоритм и не являющиеся его частью, – курсивом. Начало комментария будем обозначать символом «|».
|Двигаемся вниз, пока не дойдём до конца вертикальной стены, закрашивая
все клетки на пути.
нц пока не слева свободно
закрасить
вниз
кц
|Закрасим угловую клетку и переместимся в начало горизонтальной стены.
закрасить
влево
|Двигаемся влево до конца горизонтальной стены, закрашивая все клетки на пути.
нц пока не сверху свободно
закрасить
влево
кц
Возможны и другие варианты решения
Допускается использование иного синтаксиса инструкций исполнителя, более привычного для учащихся.
Ответ:
