LogoLogo
TRIK StudioTRIKLego EV3Lego NXT
Русский
Русский
  • Справочный центр ТРИК
  • TRIK Studio
    • О TRIK Studio
      • Как узнать версию TRIK Studio
    • Начало работы и создание проекта
    • Интерфейс TRIK Studio
      • Главное меню TRIK Studio
      • Работа с графиками
      • Как открыть настройки робота?
      • Как изменить язык интерфейса TRIK Studio?
    • Настройки TRIK Studio
    • 2D-модель
      • Гибкая настройка 2D-модели
      • Добавление ограничений в 2D-модель
        • Примеры задания ограничений
    • Программирование на визуальном языке
      • Добавление и удаление блоков
      • Общие блоки
      • Связи между блоками
      • Синтаксис выражений в блоках
        • Типы языка TRIK Studio
          • Массив
        • Лексемы языка TRIK Studio
        • Операторы языка TRIK Studio
        • Константы
        • Сенсорные переменные
        • Встроенные функции
      • Редактирование свойств элементов
      • Подпрограммы
    • Программирование на текстовом языке
    • Упражнения
    • Сторонние утилиты
      • PuTTY
      • WinSCP
    • Горячие клавиши в TRIK Studio
    • Сбои из-за антивирусов
      • Антивирус Avast блокирует TRIK Studio. Что делать?
  • TRIK Studio Junior
    • О TRIK Studio Junior
      • Как узнать версию TRIK Studio Junior
    • Начало работы и создание проекта в TRIK Studio Junior
    • Интерфейс TRIK Studio Junior
      • Как заменить изображение «Исполнителя» в TRIK Studio Junior?
    • 2D-модель в TRIK Studio Junior
    • Настройки TRIK Studio Junior
    • Программирование на визуальном языке в TRIK Studio Junior
      • Добавление и удаление блоков в TRIK Studio Junior
      • Блоки в TRIK Studio Junior
      • Связи между блоками в TRIK Studio Junior
      • Синтаксис выражений в блоках в TRIK Studio Junior
      • Редактирование свойств элементов в TRIK Studio Junior
      • Подпрограммы в TRIK Studio Junior
    • Упражнения в TRIK Studio Junior
  • Интеграции
    • PyCharm
      • Запуск 2D-модели в TRIK Studio из PyCharm
    • Sublime Text
      • Запуск 2D-модели в TRIK Studio из Sublime Text
      • Загрузка программ на нескольких роботов ТРИК из Sublime Text
    • VSCode
      • Запуск 2D-модели в TRIK Studio из VSCode
      • Загрузка программ на нескольких роботов ТРИК из VSCode
  • Контроллер ТРИК
    • О контроллере ТРИК
      • Скриншот экрана контроллера ТРИК
    • Обновление встроенного программного обеспечения контроллера ТРИК
      • Как узнать версию встроенного ПО контроллера ТРИК?
    • Меню контроллера ТРИК
    • Подключения по Wi-Fi к контроллеру ТРИК
      • Подключение контроллера ТРИК к компьютеру и смартфону
      • Подключение контроллера ТРИК к TRIK Studio
      • Взаимодействие контроллеров ТРИК
        • Пример решения задачи по взаимодействию двух роботов
    • Подключение к контроллеру ТРИК с помощью UART
    • Запуск программ и их загрузка на контроллер ТРИК
    • Программирование ТРИК на визуальном языке
      • Блоки ТРИК
      • Сенсорные переменные для контроллера ТРИК
    • Программирование ТРИК на Python и JavaScript
      • Объект «brick»
        • Класс «accelerometer»
        • Класс «battery»
        • Класс «colorSensor»
        • Класс «display»
        • Класс «encoder»
        • Класс «gyroscope»
        • Класс «keys»
        • Класс «led»
        • Класс «lineSensor»
        • Класс «motor»
        • Класс «objectSensor»
        • Класс «marker»
        • Класс «sensor»
        • Класс «irCamera»
      • Объект «script»
      • Объект «mailbox»
      • Объект «gamepad»
      • Объект «Threading»
      • Функция getPhoto
      • Функция include
    • Веб-интерфейс контроллера ТРИК
    • Подключение устройств к ТРИК и работа с ними
      • Подключение и работа с видеомодулем
      • Тестирование подключенных к контроллеру ТРИК устройств
      • Настройка работы USB-камеры с контроллером ТРИК
      • Съемка изображений на камеру ТРИК и использование их в TRIK Studio
      • Работа с аккумулятором и зарядным устройством
  • Контроллер LEGO EV3
    • O LEGO EV3
    • Подключение контроллера LEGO EV3 к TRIK Studio
    • Блоки LEGO EV3
    • Сенсорные переменные для контроллера LEGO EV3
    • Запуск программ и их загрузка на контроллер LEGO EV3
    • Программирование LEGO EV3 для Virtual Robotics Toolkit в TRIK Studio
  • Контроллер LEGO NXT
    • О LEGO NXT
    • Прошивка контроллера LEGO NXT
    • Подключение контроллера LEGO NXT к TRIK Studio
    • Блоки LEGO NXT
    • Сенсорные переменные для контроллера LEGO NXT
    • Программирование LEGO NXT на C
    • Запуск программ и их загрузка на контроллер LEGO NXT
  • Квадрокоптер Пионер
    • О квадрокоптере Геоскан Пионер
    • Блоки квадрокоптера Геоскан Пионер
  • TRIK Gamepad
    • О TRIK Gamepad
      • Приложение TRIK Gamepad
      • Утилита TRIK Gamepad
    • Управление роботом с пульта
  • Feedback
    • Действия при неправильной работе TRIK Studio или контроллера ТРИК
    • Задать вопрос
    • trikset.com
Powered by GitBook
On this page
  • Все общие блоки
  • Начало
  • Конец
  • Инициализация переменной
  • Условие
  • Конец условия
  • Цикл с предусловием
  • Цикл
  • Выбор
  • Выражение
  • Подпрограмма
  • Параллельные задачи
  • Слияние задач
  • Завершить задачу
  • Случайное число
  • Комментарий
  • Таймер
  • Опустить маркер
  • Поднять маркер

Was this helpful?

Export as PDF
  1. TRIK Studio
  2. Программирование на визуальном языке

Общие блоки

PreviousДобавление и удаление блоковNextСвязи между блоками

Last updated 1 month ago

Was this helpful?

Список доступных блоков зависит от выбранной платформы и от модели робота (реальный робот или ). При этом недоступные для данной платформы блоки не показываются вообще, а недоступные для данной модели в рамках одной платформы блоки показываются в серым и недоступны для перетаскивания на .

Общие блоки для всех платформ представлены ниже. Программа, использующая только эти блоки, будет исполняться на любой платформе без каких-либо правок.

Список блоков, специфичных для конкретного конструктора, можно найти в соответствующих разделах:

Все общие блоки

Вид

Название

Описание

Начальная точка выполнения программы.

На каждой диаграмме должен быть только один такой блок. В него не должно быть входящих связей, а исходящая связь из этого элемента должна быть только одна.

Процесс интерпретации диаграммы начинается именно с этого блока.

Конец программы.

Если программа состоит из нескольких параллельных участков выполнения, достижение этого блока завершает соответствующий участок выполнения.

У данного блока не может быть исходящих связей.

Блок для объявления новой переменной и задания ей значения.

Разделение выполнения программы в соответствии с заданным условием.

Обозначает слияние двух веток условного оператора. Никаких действий не выполняет, но полезен для обеспечения структурности программы.

Цикл, который выполняется пока истинно некоторое условие, указанное перед его началом. Это условие проверяется до выполнения тела цикла, поэтому тело может быть не выполнено ни разу (если условие с самого начала ложно).

Блок, организующий выполнение последовательности блоков несколько раз.

Условие с несколькими альтернативами.

Считает значение заданного выражения. Также допускается инициализация переменных.

Вызов подпрограммы.

Блок разделяет выполнение программы на несколько потоков.

Блок слияния параллельных задач.

Завершает задачу с указанным в свойстве «Задача» идентификатором. Должен применяться из другой задачи.

Блок для присвоения указанной переменной случайного целого числа из заданного промежутка.

Блок для добавления на диаграмму произвольного текста в качестве комментария.

Блок для задания задержки. Устанавливается время задержки в параметре «Задержка» в миллисекундах.

Начать рисование маркером заданного цвета на полу. При движении робота в двумерной модели за ним будет оставаться цветная линия.

Закончить рисование маркером.

Начало

Начальная точка выполнения программы.

На каждой диаграмме должен быть только один такой блок. В него не должно быть входящих связей, а исходящая связь из этого элемента должна быть только одна.

Процесс интерпретации диаграммы начинается именно с этого блока.

Конец

Конец программы.

Если программа состоит из нескольких параллельных участков выполнения, достижение этого блока завершает соответствующий участок выполнения.

У данного блока не может быть исходящих связей.

Инициализация переменной

Свойства

Свойство

Описание

Значение

Указывается выражение, определяющее начальное значение переменной.

Переменная

Указывается имя переменной.

Условие

Разделение выполнения программы в соответствии с заданным условием.

У данного блока должны быть две исходящие связи, у хотя бы одной из которых должно быть задано значение параметра «Условие»: «истина» или «ложь».

Свойства

Свойство

Описание

Условие

Конец условия

Цикл с предусловием

Цикл с предусловием — цикл, который выполняется пока истинно некоторое условие, указанное перед его началом. Это условие проверяется до выполнения тела цикла, поэтому тело может быть не выполнено ни разу (если условие с самого начала ложно).

Свойства

Свойство

Описание

Условие

Цикл

Выбор

Выражение

Подпрограмма

Вызов подпрограммы. Подпрограммы используются для вынесения повторяющихся фрагментов программы на отдельную диаграмму. При добавлении этого блока на диаграмму будет предложено ввести имя подпрограммы, после чего двойным кликом на блоке можно будет перейти на диаграмму, соответствующую данной подпрограмме. Также появится дополнительная палитра со всеми подпрограммами. Подпрограммы из неё можно перетаскивать на сцену и использовать как обычные блоки. Вид, имя и свойства блока можно изменить с помощью контекстного меню.

Свойства

Изменение свойств у данного блока происходит не на панели «Редактор свойств», а с помощью пункта «Изменить свойства» в контекстном меню. Для вызова контекстного меню нажмите правой кнопкой мыши на блок «Подпрограмма».

В открывшемся окне вы можете:

  • Изменить имя подпрограммы.

  • Добавить и изменить параметры подпрограммы, задав имя, тип и значение.

  • Изменить картинку на иконке вашей подпрограммы.

  • Изменить фон иконки подпрограммы.

Параллельные задачи

Слияние задач

Блок слияния параллельных задач. Блокирует исполнение программы до тех пор, пока исполнение всех параллельных задач, входящих в этот блок, не достигнет этого блока. Блок должен иметь не менее двух входящих связей. На исходящей связи (в свойстве «Условие») должен быть идентификатор задачи, которая продолжится после того, как блок отработает.

Завершить задачу

Завершает задачу с указанным в свойстве «Задача» идентификатором. Должен применяться из другой задачи.

Случайное число

Блок для присвоения указанной переменной случайного целого числа из заданного с помощью свойств «От» и «До» промежутка.

Комментарий

Блок для добавления на диаграмму произвольного текста в качестве комментария.

Используется для пояснения конкретного блока или участка диаграммы. Может быть связан с блоком, который он поясняет.

При выполнении программы блок не учитывается.

Таймер

Блок для задания задержки. Устанавливается время задержки в параметре «Задержка» в миллисекундах.

Опустить маркер

Начать рисование маркером заданного цвета на полу. При движении робота в двумерной модели за ним будет оставаться цветная линия.

Блок доступен только в режиме двумерной модели.

Поднять маркер

Закончить рисование маркером.

Блок доступен только в режиме двухмерной модели.

Блок для объявления новой переменной и задания ей значения. Этого же можно добиться с помощью блока «», но этот блок делает программу понятнее.

Указывается логическое выражение (подробнее см. в статье «»), на основе значения которого будет осуществлен выбор дальнейшего пути выполнения диаграммы.

Обозначает слияние двух веток условного оператора. Никаких действий не выполняет, но полезен для обеспечения структурности программы. Если придерживаться правила, что все ветки операторов «» или «» сходятся на таком блоке, это существенно повысит шансы на то, что генератор сможет породить код на текстовом языке без операторов goto.

Указывается логическое выражение (подробнее см. в статье «»), на основе значения которого будет осуществлен выбор дальнейшего пути выполнения диаграммы.

Блок, организующий выполнение последовательности блоков несколько раз. Число повторений задается значением параметра «Итерации». Блок должен иметь две исходящие связи, одна из которых должна быть помечена значением «тело цикла» (то есть значение параметра «Условие» у связи должно быть «тело цикла»). Другая связь, исходящая из блока «Цикл», должна оставаться непомеченной: по ней будет осуществляться переход, когда программа пройдет через блок «Цикл» указанное число раз. Бесконечные циклы и циклы вида while/do и while организуются без использования этого блока, зацикливанием потока управления с помощью связей. Выход из такого цикла осуществляется с помощью блока «».

Условие с несколькими альтернативами. В параметре «Выражение» можно указать произвольное выражение (подробнее см. в разделе «»), на основе значения которого будет осуществлен выбор дальнейшего пути выполнения диаграммы. У данного блока должны быть несколько исходящих связей. Все связи, кроме одной, должны быть помечены элементарным значением (строка, число и др.), которое может принимать выражение (значение просто пишется в свойство «Условие» у связи). Одна из связей должна быть не помечена: по ней осуществляется переход, если выражение не равно ни одному из перечисленных значений.

Считает значение заданного выражения. Также допускается инициализация переменных. Подробнее про синтаксис допустимых выражений параметра «Выражение» см. в разделе «».

Блок разделяет выполнение программы на несколько потоков. Например, можно одновременно ждать срабатывания сенсора и истечения временного интервала. Блок должен иметь хотя бы две исходящие связи. Чтобы иметь возможность далее ссылаться на параллельные задачи, порождённые этим блоком (например, в блоке «» или в блоке «») надо дать задачам имена. Это делается на исходящих связях, в свойстве «Условие». Именем задачи может быть любая строка, но одним из имён должно быть имя задачи, которая входит в этот блок. Имя главной программы — main.

ТРИК
LEGO EV3
LEGO NXT
Квадрокоптер Геоскан Пионер
Синтаксис выражений
Синтаксис выражений
Выражение
Условие
Выбор
Условие
Завершить задачу
Слияние задач
Синтаксис выражений
Синтаксис выражений
Начало
Конец
Инициализация переменной
Условие
Конец условия
Цикл с предусловием
Цикл
Выбор
Выражение
Подпрограмма
Параллельные задачи
Слияние задач
Завершить задачу
Случайное число
Комментарий
Таймер
Опустить маркер
Поднять маркер
двумерная модель
палитре
сцену
Недоступные блоки для 2D-модели выделены серым
Начало
Конец
Инициализация переменной
Условие
Конец условия
Цикл с предусловием
Цикл
Выбор
Выражение
Подпрограмма
Параллельные задачи
Слияние задач
Завершить задачу
Случайное число
Комментарий
Таймер
Опустить маркер
Поднять маркер