• Предмет: Информатика
  • Автор: zybenkomixailpetrovi
  • Вопрос задан 5 лет назад

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


Ziorar: Это робот в системе Кумир?
zybenkomixailpetrovi: да
Ziorar: Попробую тогда написать решение
zybenkomixailpetrovi: спасибо

Ответы

Ответ дал: Ziorar
2

Вот программа для робота в системе Кумир:

использовать Робот

алг

нач

нц пока справа свободно; вправо кц

нц пока сверху свободно; вверх кц

нц пока сверху стена

если слева свободно то влево иначе выход всё

кц

нц пока сверху свободно; вверх кц

нц пока слева свободно; влево кц

кон

Или вот, та же программа в более развёрнутом виде (если вам так привычнее):

использовать Робот

алг

нач

нц пока справа свободно

вправо

кц

нц пока сверху свободно

вверх

кц

нц пока сверху стена

если слева свободно

то влево

иначе выход

всё

кц

нц пока сверху свободно

вверх

кц

нц пока слева свободно

влево

кц

кон

Приложения:

Ziorar: Только чуть изменю картинку, пожалуй на более прямоугольную. А то я что то квадрат задал изначально :) Но, на саму программу это никак не влияет.
zybenkomixailpetrovi: нагло с моей стороны,но можешь пожалуйста записать в виде команд?
Ziorar: Это как? Вроде итак командами написано
Ziorar: Или вы про то, что я циклы и условия почти везде в одну строку написал? И, лучше бы их разбить на более мелкие части? (правда длина программы тогда сильно вырастет, а понятность весьма ухудшится)
Ziorar: В общем, записал и в виде более привычном- циклы и условия не в одной строке, а разбиты на отдельные строки.
Вас заинтересует