Вопрос:

12.2. На бесконечном поле имеется вертикальная стена. Длина стены неизвестна. От нижнего конца стены влево отходит горизонтальная стена также неизвестной длины. Робот находится в клетке, расположенной справа от верхнего края вертикальной стены. На рисунке указан один из возможных способов расположения стен и Робота. Робот обозначен буквой «Р». Напишите для Робота программу, закрашивающую все клетки, расположенные непосредственно правее вертикальной стены, ниже горизонтальной стены, угловую клетку и клетки выше горизонтальной стены. Робот должен закрасить только клетки, удовлетворяющие данному условию. Например, для приведенного выше рисунка Робот должен закрасить следующие клетки (см. рисунок). Конечное расположение Робота может быть произвольным. Алгоритм должен решать задачу для произвольного размера поля и любого допустимого расположения стен внутри прямоугольного поля. При исполнении алгоритма Робот не должен разрушиться. Выполнение алгоритма должно завершиться. Алгоритм может быть выполнен в среде формального исполнителя или записан в текстовом редакторе. Сохраните алгоритм в формате программы Кумир или в текстовом файле. Название файла и каталог для сохранения Вам сообщат организаторы.

Смотреть решения всех заданий с листа

Ответ:

Решение задачи 12.2 для Робота в Кумире: кумир alg Задача12_2 нач ; Закрашиваем клетки справа от вертикальной стены нц пока не стена снизу вправо закрасить влево вниз кц ; Возвращаемся к началу стены нц пока не стена сверху вверх кц ; Закрашиваем угловую клетку влево закрасить ; Закрашиваем клетки под горизонтальной стеной нц пока не стена снизу вниз закрасить кц ; Возвращаемся к угловой клетке нц пока не стена сверху вверх кц вправо ; Закрашиваем клетки над вертикальной стеной нц 2 раз вверх закрасить кц кон Пояснения: 1. `алг Задача12_2` и `нач`: Начало алгоритма. 2. `нц пока не стена снизу`: Цикл, который выполняется, пока снизу нет стены. 3. `вправо`: Робот перемещается на одну клетку вправо. 4. `закрасить`: Робот закрашивает текущую клетку. 5. `влево`: Робот перемещается на одну клетку влево. 6. `вниз`: Робот перемещается на одну клетку вниз. 7. `нц пока не стена сверху`: Цикл, который выполняется, пока сверху нет стены. 8. `вверх`: Робот перемещается на одну клетку вверх. 9. `кц`: Конец цикла. 10. `кон`: Конец алгоритма. Описание шагов: * Закрашивание клеток справа от вертикальной стены: Робот начинает с верхней клетки справа от стены и, используя цикл `нц пока не стена снизу`, закрашивает все клетки вниз, пока не дойдет до конца стены. * Возврат к началу стены: После закрашивания клеток справа от стены, робот возвращается к верхней клетке с помощью цикла `нц пока не стена сверху`. * Закрашивание угловой клетки: Робот перемещается на одну клетку влево и закрашивает ее. * Закрашивание клеток под горизонтальной стеной: Робот закрашивает клетки вниз, пока не дойдет до конца горизонтальной стены. * Возврат к угловой клетке: Робот возвращается к угловой клетке. * Закрашивание клеток над вертикальной стеной: Робот перемещается вправо и закрашивает 2 клетки вверх. Итоговый ответ: Программа для Робота, закрашивающая необходимые клетки для произвольного размера поля, представлена выше.
ГДЗ по фото 📸
Подать жалобу Правообладателю