# Программирование на текстовом языке

Текстовый режим программирования позволяет редактировать [сгенерированную](/studio/programming-code.md#generation) по диаграмме программу перед загрузкой на робота или [написать программу](/studio/programming-code.md#new-programm) в текстовом виде с нуля.

## Создание новой текстовой программы <a href="#new-programm" id="new-programm"></a>

1\. [Создайте диаграмму](/studio/start.md#new-project), содержащую блоки «Начало» и «Конец».

2\. Выберите режим реального робота.

3\. Нажмите на кнопку «Генерировать код».\
\
После этого появится пустой шаблон программы, которая содержит все необходимые объявления, но ничего не делает.

![](/files/-M2ENPe_7rsP91Yr-ALq)

## Генерация диаграммы в код <a href="#generation" id="generation"></a>

1\. Выберите режим реального робота.

2\. Нажмите на кнопку «Генерировать код».

{% hint style="info" %}
При повторной генерации диаграммы ручные изменения не потеряются, если текстовый файл сохранен. Результат новой генерации сохранится в другой файл.
{% endhint %}

![](/files/-M2EO-4xSPDUGHt9vGQu)

## Поддерживаемые языки программирования

Поддерживаемый текстовый язык программирования зависит от платформы. Одна платформа может иметь несколько целевых текстовых языков.

{% hint style="warning" %}
**Внимание!** Доступные генераторы зависят от установленных подключаемых модулей.
{% endhint %}

### Контроллер ТРИК <a href="#trik" id="trik"></a>

Для платформы ТРИК возможна генерация в:

* [Python](/trik/programming-code.md).
* [JavaScript](/trik/programming-code.md).

### Контроллер Lego EV3 <a href="#ev3" id="ev3"></a>

Эксперты в EV3 могут посмотреть на сгенерированный на внутреннем языке EV3 код с помощью кнопки «Сгенерировать в байт-код EV3». Теоретически его можно подредактировать и запустить на исполнение или вообще использовать для текстового программирования EV3, но делать это неудобно — язык создавался для автоматической генерации, а не написания программ.

### Контроллер Lego NXT <a href="#nxt" id="nxt"></a>

Для Lego NXT поддерживается генерация в [язык С](/nxt/c.md) с использованием библиотеки ECRobot.

### Квадрокоптер Геоскан Пионер <a href="#peoneer" id="peoneer"></a>

Для квадрокоптера Геоскан Пионер возможна генерация в Lua.


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://help.trikset.com/studio/programming-code.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
