Проверяем обстановку
Робот имеет датчики, которые позволяют ему получать информацию об обстановке.
Датчики определяют, например, есть ли стена в каком-то направлении. Чтобы использовать датчики, роботу необходимо дать специальную логическую команду.
Логическая команда - это условие, которое может быть верным (истинным) или неверным (ложным).
Используя логичексие команды, вы можете получать от робота обртаную связь и следить за изменением обстановки вокруг робота.
В программировании есть специальная циклическая конструкция, которая повторяет действия пока какое-либо условие выполняется. Такая конструкция называется циклом с условием. В общем виде на языке Python ее можно записать так:
нц пока логическое_условие
команда_1
команда_2
...
кц
Выполнение всех команд будет повторяться пока выполняется логическое условие. Если логическое условие верно (датчик сработал), то команды записанные внутри конструкции пока выполнятся. Если условие не выполнилось, то команды перестают выполняться и цикл заканчивается. Выполняться будут следующие после цикла команды, если они есть в программе.
Логические команды, которые знает робот Сильвер приведены ниже.
сверху стена, справа стена, снизу стена, слева стена.
Можно проверять противоположные условие (например, что-то делать, если датчик не сработал). В этом случае, перед логическим условием необходимо поставить слово не
, при этом условие, которое отрицается необходимо ставить в скобки.
Например, программа
нц пока не (сверху стена)
вверх
кц
заставит робота идти вверх
, пока он не встретит стену сверху. Робот остановится около стены.