Transcript "Переменные в Mindstorms".
Использование переменных при программировании Lego робота на базе блока NXT
Переменная – это количественное или качественное описание объекта или процесса.
Переменная
Логическая Числовая
Текстовая
Числовая переменная
Может быть открыта для
записи
значения или для
чтения
. В нашем примере переменная с именем
Number1
значение открыта для записи (в ячейку памяти с именем Number1 записано
0
).
Если для решения задачи одной переменной мало можно
создать новые переменные
, причем имена им можно давать, какие захотите. Будем пользоваться правилом:
имя – это последовательность латинских букв и цифр, причем первая – буква
. Желательная длина имени – не больше 3-4 символов.
Переменная в роли счетчика
Используем тройку команд:
записать
значение в переменную,
считать
значение переменной,
изменить
значение.
Блок
Math
позволяет изменить значение переменной (+, -, *, :)
Использование переменной
В переменную Number1 записали исходное значение, считали его, увеличили на некоторое значение, сравнили ( издает звук 1, иначе – робот издает звук 2.
блок Compare
) полученное значение с эталонным, если значения равны – робот Данный пример не решает конкретную задачу, поэтому не является показательным.
Позже рассмотрим пример решения конкретной задачи.
Логическая переменная
Может иметь одно из двух логических значений: True или False.
Как и числовой переменной ей надо присвоить начальное значение.
Использование логической переменной
В переменную надо записать начальное значение, затем его можно считывать для дальнейшего анализа.
Блок
Logic
позволяет выполнить над логическими переменными логические операции:
AND, OR, NOT, XOR.
Робот – наблюдатель
Вращаясь вокруг одного колеса, робот при приближении некоторого объекта, останавливается и издает звук.
В программе использована логическая величина – Logic1, начальное значение которой False, при наступлении отслеживаемого события – значение меняется на True. Такая переменная называется в программировании
флажок
.
Организация цикла с помощью логической переменной
В языке NXT-G циклическая конструкция обозначает следующую фразу:
повторять до тех пор, пока не… (условие окончания цикла – True или False можно выбрать)
Робот – наблюдатель Составьте программу по образцу, протестируйте робота.
Задача для команд:
Робот должен посчитать количество предметов, расставленных по прямой. По окончании коридора робот должен каким-то образом передать человеку количество дверей в коридоре.
Количество и размеры предметов могут изменяться