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