Контрольные задания > Задание 3. Дана программа в Кумире для исполнителя Робот и начальная обстановка к ней. Построить обстановку после выполнения программы.
Вопрос:
Задание 3. Дана программа в Кумире для исполнителя Робот и начальная обстановка к ней. Построить обстановку после выполнения программы.
В сетке 8x8, Робот находится в левом нижнем углу (1,1), повернут вверх. В клетках (2,1), (3,1), (4,1), (5,1), (6,1), (7,1), (8,1) — стены. В клетке (4,3) — закрашенная клетка. В клетке (7,4) — закрашенная клетка.
Программа:
использовать Робот
алг
нач
нц пока справа стена
закрасить
вверх
кц
вправо
. вниз
. нц пока снизу свободно
Вниз
кц
. нц пока снизу стена
закрасить
вправо
. кц
. нц пока снизу свободно
вправо
кц
нц пока снизу стена
закрасить
вправо
. кц
кон
Ход выполнения программы:
Робот начинает в (1,1), смотрит вверх.
Цикл "пока справа стена": Справа от Робота (1,2) — стена. Цикл выполняется 7 раз.
"Закрасить": Клетка (1,1) закрашивается.
"Вверх": Робот перемещается на (1,2).
После 7 итераций Робот оказывается в (8,1) и смотрит вверх. Теперь справа от него нет стены.
"Вправо": Робот перемещается на (8,2).
Цикл "вниз":
"нц пока снизу свободно": Робот находится в (8,2), снизу (8,1) — стена. Цикл не выполняется.
"Вниз": Робот перемещается на (8,1).
"нц пока снизу стена": Робот находится в (8,1), снизу нет клетки, считается стеной. Цикл выполняется.
"Закрасить": Клетка (8,1) закрашена.
"Вправо": Робот перемещается на (7,1).
"нц пока снизу свободно": Робот находится в (7,1), снизу нет клетки (стена). Цикл не выполняется.
"Вправо": Робот перемещается на (6,1).
"нц пока снизу стена": Робот находится в (6,1), снизу нет клетки (стена). Цикл выполняется.
"Закрасить": Клетка (6,1) закрашена.
"Вправо": Робот перемещается на (5,1).
"нц пока снизу свободно": Робот находится в (5,1), снизу нет клетки (стена). Цикл не выполняется.
"Вправо": Робот перемещается на (4,1).
"нц пока снизу стена": Робот находится в (4,1), снизу нет клетки (стена). Цикл выполняется.
"Закрасить": Клетка (4,1) закрашена.
"Вправо": Робот перемещается на (3,1).
"нц пока снизу свободно": Робот находится в (3,1), снизу нет клетки (стена). Цикл не выполняется.
"Вправо": Робот перемещается на (2,1).
"нц пока снизу стена": Робот находится в (2,1), снизу нет клетки (стена). Цикл выполняется.
"Закрасить": Клетка (2,1) закрашена.
"Вправо": Робот перемещается на (1,1).
"нц пока снизу свободно": Робот находится в (1,1), снизу нет клетки (стена). Цикл не выполняется.
"Вправо": Робот перемещается на (1,2).
"нц пока снизу стена": Робот находится в (1,2), снизу (1,1) — закрашена. Цикл выполняется.
"Закрасить": Клетка (1,2) закрашена.
"Вправо": Робот перемещается на (2,2).
"нц пока снизу свободно": Робот находится в (2,2), снизу (2,1) — закрашена. Цикл не выполняется.
"Вправо": Робот перемещается на (3,2).
"нц пока снизу стена": Робот находится в (3,2), снизу (3,1) — стена. Цикл выполняется.
"Закрасить": Клетка (3,2) закрашена.
"Вправо": Робот перемещается на (4,2).
"нц пока снизу свободно": Робот находится в (4,2), снизу (4,1) — стена. Цикл не выполняется.
"Вправо": Робот перемещается на (5,2).
"нц пока снизу стена": Робот находится в (5,2), снизу (5,1) — стена. Цикл выполняется.
"Закрасить": Клетка (5,2) закрашена.
"Вправо": Робот перемещается на (6,2).
"нц пока снизу свободно": Робот находится в (6,2), снизу (6,1) — стена. Цикл не выполняется.
"Вправо": Робот перемещается на (7,2).
"нц пока снизу стена": Робот находится в (7,2), снизу (7,1) — стена. Цикл выполняется.
"Закрасить": Клетка (7,2) закрашена.
"Вправо": Робот перемещается на (8,2).
"нц пока снизу свободно": Робот находится в (8,2), снизу (8,1) — закрашена. Цикл не выполняется.
"Вправо": Робот перемещается на (9,2) - выход за пределы поля.
Финальная обстановка:
Стены:
Ряд 1: (1,1) - (8,1) - все стены
Ряд 2: (3,2), (5,2), (7,2) - закрашенные клетки, (8,2) - выход за пределы поля.
Робот закончил работу в (8,2), направившись за пределы поля.
Визуализация:
Ответ: Итоговая обстановка: все клетки в первой колонке (1,1) - (1,8) закрашены. Клетки (2,2), (4,2), (6,2), (8,2) закрашены. Робот находится в (8,2) и выходит за пределы поля.