
Помогите пожалуйста с решением!!! два часа просидел-так и не понял... Робот в прямоугольнике
произвольного размера. Внутри прямоугольника есть горизонтальная стенка. Её ширина равна ширине прямоугольника. В стенке есть один проход шириной в одну клетку. Робот должен оказаться в левом верхнем углу прямоугольника.

Ответы на вопрос

Вот программа для робота в системе Кумир:
использовать Робот
алг
нач
нц пока справа свободно; вправо кц
нц пока сверху свободно; вверх кц
нц пока сверху стена
если слева свободно то влево иначе выход всё
кц
нц пока сверху свободно; вверх кц
нц пока слева свободно; влево кц
кон
Или вот, та же программа в более развёрнутом виде (если вам так привычнее):
использовать Робот
алг
нач
нц пока справа свободно
вправо
кц
нц пока сверху свободно
вверх
кц
нц пока сверху стена
если слева свободно
то влево
иначе выход
всё
кц
нц пока сверху свободно
вверх
кц
нц пока слева свободно
влево
кц
кон






Для решения данной задачи необходимо использовать алгоритм движения робота. В данном случае можно использовать следующий алгоритм:
1. Пока робот не достигнет левого верхнего угла прямоугольника, повторяйте следующие шаги: 1. Если робот находится перед проходом в стенке, то двигайте его вперед на одну клетку. 2. Если робот находится перед границей прямоугольника, то поворачивайте его влево на 90 градусов. 3. Если робот находится перед стенкой, то поворачивайте его вправо на 90 градусов. 4. Повторите шаги 1-3 до достижения левого верхнего угла прямоугольника.
Этот алгоритм позволяет роботу двигаться параллельно стенке и при достижении нужного места поворачивать в нужную сторону. Таким образом, робот сможет добраться до левого верхнего угла прямоугольника.


Похожие вопросы


Топ вопросов за вчера в категории Информатика
Последние заданные вопросы в категории Информатика
-
Математика
-
Литература
-
Алгебра
-
Русский язык
-
Геометрия
-
Английский язык
-
Химия
-
Физика
-
Биология
-
Другие предметы
-
История
-
Обществознание
-
Окружающий мир
-
География
-
Українська мова
-
Информатика
-
Українська література
-
Қазақ тiлi
-
Экономика
-
Музыка
-
Право
-
Беларуская мова
-
Французский язык
-
Немецкий язык
-
МХК
-
ОБЖ
-
Психология
-
Физкультура и спорт
-
Астрономия
-
Кыргыз тили
-
Оʻzbek tili