ОГЭ по информатике задание 20.1
Тема: «Короткий алгоритм в среде формального исполнителя»
На бесконечном поле есть горизонтальная и вертикальная стены. Левый конец горизонтальной стены соединён с нижним концом вертикальной стены. Длины стен неизвестны. В вертикальной стене есть ровно один проход, точное место прохода и его ширина неизвестны. Робот находится в клетке, расположенной непосредственно над горизонтальной стеной у её правого конца.
На рисунке указан один из возможных способов расположения стен и Робота(Робот обозначен буквой «Р»).
Напишите для Робота алгоритм, закрашивающий все клетки, расположенные непосредственно левее и правее вертикальной стены. Проход должен остаться незакрашенным. Робот должен закрасить только клетки, удовлетворяющие данному условию.
При исполнении алгоритма Робот не должен разрушиться, выполнение алгоритма должно завершиться. Конечное расположение Робота может быть произвольным.
Алгоритм должен решать задачу для любого допустимого расположения стен и любого расположения и размера прохода внутри стены.
РЕШЕНИЕ
Для решения данной задачи ОГЭ по информатике потребуется среда формального исполнителя КуМир. Переходим по ссылке, если программа не скачан и устанавливаем.
Подробное решение, как работать новичку в КуМир написано в статье: Практическая работа по информатике. Исполнитель Робот
Итак, сначала создаем стартовую обстановку. Переходим в меню: Робот — > Редактировать обстановку
После того, как стартовая обстановка построена переходим снова в меню: Робот — > Редактировать обстановку. Фон сменится на зеленый.
Итак, определим путь движения Робота:
В задании сказано, что
Алгоритм должен решать задачу для произвольного размера поля и любого количества ступеней
Это означает, что Робот должен передвигаться только с помощью цикла «Пока». Пишем код программы
Для проверки результата обязательно необходимо изменить в стартовой обстановке стены, сделать либо меньше, либо больше. Правильно написанная программа должна работать независимо от размера стены и величины прохода. Например, вышенаписанный код, будет отлично работать с измененной стартовой обстановкой.
[newsletter_signup_form id=1]
Самостоятельная работа
На бесконечном поле имеется горизонтальная стена. Длина стены неизвестна. Робот находится сверху от стены в левом ее конце. На рисунке приведено расположение робота относительно стены (робот обозначен буквой «Р»):
Напишите алгоритм для Робота, закрашивающий все клетки, расположенные выше стены на расстоянии одной пустой клетки от стены, независимо от длины стены. Робот должен закрасить только клетки, удовлетворяющие заданному условию. Конечное расположение Робота может быть произвольным. Алгоритм должен решать задачу для произвольного размера поля и любого допустимого расположения стен внутри прямоугольного поля. При исполнении алгоритма Робот не должен разрушиться.
Напишите код программы в комментарии к этому посту.
Данная задача была взята с открытого банка заданий ОГЭ по информатике.