ПДО ТТ
ТЕМА: Среда программирования Трик-студио.
Переменные и константы, функции
Лекция 4.3.3
Цель: Изучение принципа определения в программе переменных и констант, функций
Информацию по теме можно найти в Сборнике задач по программированию механизмов и роботов Кисилев М.М. на стр. 37 по ссылке
https://www.agpu.net/fakult/ipimif/fpiit/kafinf/MetodicheskoyeObespecheniye/Golodov/robo1.pdf
Синтаксис выражений в блоках
Для объявления переменных и задания им определенных значений используется блок «Инициализация переменной».
А для записи математических вычислений — блок «Функции».
Также математические выражения (в том числе и изменяющие значения переменных) могут встречаться почти везде, где можно указать какое-либо значение.
Блоки и их свойства, не допускающие использования математических выражений, описаны в разделе «Общие блоки».
Все переменные в программе являются глобальными, т.е. их значения могут использоваться в любом блоке в программе.
Типы переменных
Тип | Описание |
Булевый (логический) тип | Принимает значения true (истина) и false (ложь). |
Вещественное число | Использует 64-битное представление binary64 стандарта IEEE 754 (позволяет хранить значения до 1.7E+308). |
Целое число | Использует 32-битное знаковое представление (позволяет хранить значения от -2 147 483 648 до 2 147 483 647). |
Строка | Позволяет хранить символьные строки произвольной длины в кодировке UTF-8. |
Нулевой тип | Имеет только одно значение nil и означает отсутствие «настоящего» значения. |
Массив | Позволяет хранить произвольное количество значений произвольного (но для каждого значения в одном массиве одинакового) типа, в том числе и другие массивы, и обращаться к значениям по индексу. |
Операторы в выражениях
Бинарные
+ | Сложение | Применимо к вещественным и целым значениям. Результат целый, если оба аргумента целые, иначе вещественный. |
- | Вычитание | Применимо к вещественным и целым значениям. Результат целый, если оба аргумента целые, иначе вещественный. |
* | Умножение | Применимо к вещественным и целым значениям. Результат целый, если оба аргумента целые, иначе вещественный. |
/ | Деление | Применимо к вещественным и целым значениям. Результат вещественный. |
// | Целочисленное деление | Применимо к целым значениям. Результат целый. |
^ | Возведение в степень | Применимо к вещественным и целым значениям. Результат вещественный. |
% | Остаток от деления | Применим к целым значениям. Результат целый. |
& | Побитовое «и» | Применимо к целым значениям. Результат целый. |
| | Побитовое «или» | Применимо к целым значениям. Результат целый. |
>>, << | Побитовые сдвиги вправо и влево | Применимы к целым значениям. Результат целый. |
.. | Конкатенация | Применим к строковым значениям. Результат — строка. |
>=, >, <, <= | Операции сравнения | Применимы к целым и вещественным значениям. Результат булевый. |
== | Операция проверки равенства | Применима к значениям любых типов. Результат булевый. |
~=,!=, '~=', '!=' | Операция проверки неравенства | Применима к значениям любых типов. Результат булевый. Альтернативные способы записи операции не различаются по смыслу. |
and, && | Логическое «и» | Применимо к целым, вещественным и булевым значениям. Результат булевый. Альтернативные способы записи операции по смыслу не различаются. |
or, || | Логическое «или» | Применимо к целым, вещественным и булевым значениям. Результат булевый. Альтернативные способы записи операции по смыслу не различаются. |
Унарные
- | Арифметический унарный минус | Применим к целым и вещественным значениям. Результат целый или вещественный (в зависимости от типа аргумента). |
~ | Побитовое «не» | Применимо к целым значениям. Результат целый. |
not | Логическое «не» | Применимо к булевым, целым, вещественным и строковым значениям, результат булевый (0 или пустая строка считается false, всё остальное — true). |
# | Оператор взятия длины | Применим к строковым значениям. Результат целый. |
Сенсорные переменные
Помимо использования константных числовых значений программисту в TRIK Studio доступны зарезервированные переменные, которые хранят значения показаний сенсоров, подключенных к соответствующим портам.
Эти значения можно присваивать переменным и использовать в математических выражениях.
Переменные имеют вид
sensor<имя порта сенсора>Например, «sensorA1» для ТРИК или «sensor1» для Lego NXT.
Сенсорные переменные для контроллера LEGO EV3
buttonBack, buttonDown, buttonEnter, buttonLeft, buttonRight, buttonUp
Состояние кнопок на корпусе робота: «Назад», «Вниз», «Ввод», «Влево», «Вправо», «Вверх» соответственно.
0 соответствует ненажатой кнопке, 1 — нажатой.
encoderA, encoderB, encoderC, encoderD
Показания энкодеров на портах A, B, C, D соответственно.
sensor1, sensor2, sensor3, sensor4
Показания датчиков на портах 1, 2, 3, 4 соответственно.