Программа начинается с того, что число 9 присваивается переменной b1. Затем она проверяет условие b0 < 84, которое означает «если b0 меньше 84». Если это так, то программа указывает микроконтроллеру PICAXE
Если вы знакомы с другими языками BASIC, то это может показаться вам несколько утомительным. Вы можете удивиться, почему же мы не можем использовать программную строку, например, такого типа:
if b0 > 70 and b0 < 84 then b1 = 9
Ответ заключается в следующем: используемый язык PICAXE BASIC не имеет таких достаточно сложных конструкций. Оператор
Если же у вас нет предшествующего опыта программирования, то приведенная программа может показаться слишком сложной и, возможно, достаточно сильно вас озадачит. Это и понятно, поскольку вы проходите только ускоренный, ознакомительный курс в написании программ без какой-либо официальной подготовки. Все же редактор Programming Editor может оказать существенную помощь, потому что у него есть функция имитации. Однако, перед тем как вы будете ее использовать, вы должны перед программой, только что приведенной мной, предварительно вставить управляющую программу, которую нужно ввести с помощью клавиатуры. Копия экрана, приведенная на рис. 5.147, показывает, как это должно выглядеть.
Рис. 5.147.
Я для нашего кодового замка выбрал произвольную кодовую комбинацию 7–4–1. При использовании этих чисел основная часть программы будет выглядеть следующим образом:
main:
low 1
gosub getkey
if b1<>7 then main
gosub getkey
if b1<>4 then main
gosub getkey
if b1<>1 then main
high 1
end
Я должен пояснить, что пара символов «<>» в операторах условия означает «не равно». Поэтому четвертая строка программы означает «если переменная b1 не равна 7, то начать программу с начала».
Предполагается, что значение переменной b1 должно быть равно 7, если пользователь ввел правильную комбинацию. Поэтому, если переменная не равна 7, то считается, что пользователь ввел неправильное значение, и оператор
Но, что означает это слово «gosub»? Оно означает «перейти к подпрограмме» (go to a subroutine). Подпрограмма это любая последовательность операторов, которая заканчивается оператором
Микроконтроллер PICAXE продолжает выполнять аналогичные операции, пока он не достигнет слова «end» (конец). В конце основной части программы я должен обязательно ввести слово «end», потому что в противном случае микроконтроллер PICAXE будет продолжать выполнение программы и снова перейдет к выполнению подпрограммы. Команда