В данной статье рассмотрим вопрос решения задачи 20.1 (ОГЭ по информатике) в Кумире. Решение данной задачи можно записать и в любом текстовом редакторе, но в Кумире вы сможете проверить свой алгоритм решения.
Задача.
На бесконечном поле имеется горизонтальная стена. Длина стены неизвестна. Робот находится сверху от стены в левом ее конце. На рисунке приведено расположение робота относительно стены (робот обозначен
буквой «Р»):
Напишите алгоритм для робота, закрашивающий все клетки, расположенные выше стены на расстоянии одной пустой клетки от стены, независимо от длины стены. Робот должен закрасить только клетки, удовлетворяющие заданному условию. Например, для приведённого выше рисунка робот должен закрасить следующие клетки:
Конечное расположение Робота может быть произвольным. Алгоритм должен решать задачу для произвольного размера поля и любого допустимого расположения стен внутри прямоугольного поля. При исполнении алгоритма Робот не должен разрушиться.
Шаг 1.
В первую очередь необходимо создать начальную обстановку — нарисовать стены и поместить Робота в начальное положение, согласно условию задачи.
Сохраним созданную обстановку на компьютер (например на рабочий стол)
Шаг 2.
Загружаем созданную стартовую обстановку
Шаг 3.
Пишем алгоритм для Робота.
Чтобы закрасить клетки согласно условию задачи воспользуемся следующим циклом:
нц пока не (снизу свободно) вверх закрасить вниз вправо кц
Начало цикла (нц) и условие (пока не(снизу свободно)) — пишутся на одной строчке.
Шаг 4.
Проверим работу алгоритма, нажав клавишу F9.
Если при тестировании алгоритма Робот выполнил не совсем то, что нужно, вы можете вернуться к стартовой обстановке с помощью команды «Вернуться в стартовую обстановку»
Жалко, что 2 года назад я это не прочитал :O(
а можно использовать «пока снизу стена»?
да