Обработка

Логика

Условные операторы

Условные операторы занимают центральное место в программировании. Они позволяют организовывать ветвления, например:

Блоки «если»

Простейшим условием является блок «если»:

Bild1_ru.PNG

При выполнении этого блока значение переменной x сравнивается с 100. Если значение переменной x превышает 100, выдается фраза «Was für eine große Zahl!» («Какое большое число»)! В противном случае ничего не происходит.

Блоки «если... иначе»

Также можно указать, что в случае невыполнения условия что-либо не должно происходить, как в этом примере:

Bild2_ru.PNG

Как и в случае с предыдущим блоком, если x > 100, выдается фраза «Was für eine große Zahl!». В противном случае выдается фраза «Das ist nicht sehr groß.» («Это не очень большое число.»).

Блок «если» может иметь не более одной ветки «иначе».

Блоки «если-иначе-если»

Ты можешь протестировать несколько условий при помощи одного блока «если», добавив к нему ветку «иначе-если»:

Bild3_ru.PNG

Сначала блок проверяет, больше ли x 100, и выдает «what a great number!», если это так. Если это не так, блок проверяет, равен ли x 42. Если да, он выдает «this is my lucky number!» («Это мое счастливое число!»). В противном случае ничего не происходит.

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

Блоки «если-иначе-если-иначе»

Блоки «если» могут иметь как ветви «иначе-если», так и ветви «иначе»:

Bild4_ru.PNG

Ветвь «иначе» обеспечивает выполнение действия, даже если не выполняется ни одно из предшествующих условий.

Ветвь «иначе» может стоять после любого количества ветвей «иначе-если», включая ноль; в последнем случае ты получишь обычный блок «если-иначе».

Изменение блока

В панели инструментов отображается только простой блок «если» и блок «если-иначе»:

image.png

Чтобы добавить ветви «иначе-если» и «иначе», щелкни по символу «+». Символ «-» удаляет ветви «иначе-если»:

Bild6_ru.PNG

Обрати внимание на то, что формы блоков допускают добавление любого количества подблоков «иначе-если», однако только одного блока «если».

Булевская логика

Булевская логика — это простая математическая система, в которой существуют два значения:

Как правило, логические блоки в программе ROBO Pro Coding предназначены для контроля условий и циклов.

Приведем пример:

Bild1_ru.PNG

Если значение переменной x больше 100, условие является истиной и выдается текст «Was für eine große Zahl!». Если значение переменной x не больше 100, условие является ложью и выдается текст «Das ist nicht sehr groß.». Булевские значения могут наподобие числам, текстам и спискам сохраняться в переменных и передаваться в функции.

Если блок ожидает ввода булевского значения, отсутствие такого ввода интерпретируется как ложь. Небулевские значения нельзя напрямую вставить туда, где ожидаются булевские значения, но можно (хотя и не рекомендуется) сохранить небулевское значение в переменной и потом вставить ее в условие. Мы не советуем использовать этот способ, и в следующих версиях ROBO Pro Coding возможности его использования могут быть изменены.

Значения

Для вызова булевского значения можно использовать один-единственный блок с выпадающим списком, в котором (списке) указано wahr (истина) или falsch (ложь).

Операторы сравнения

Существует шесть операторов сравнения Каждый из них сравнивает две введенные величины (как правило, два числа) и возвращает wahr или falsch в зависимости от того, как сравниваются эти величины.

image-1623518116706.pngimage-1623518117182.png

image-1623518116894.pngimage-1623518116802.png

image-1623518116985.pngimage-1623518166030.png

Шесть операторов сравнения — это равно, не равно, меньше, больше, меньше или равно, больше или равно.

Логические операторы

Блок und (и) возвращает wahr (истина) тогда и только тогда, когда оба его входных значения являются истиной.

Bild8.PNG

Блок oder (или) возвращает wahr, если как минимум одно из двух его входных значений является истиной.

Bild9.PNG

не

Блок nicht (не) превращает введенное булевское значение в противоположное. Например, результатом

Bild10_ru.PNG

будет falsch (ложь)

Если не вводится никакое значение, программа исходит из значения wahr, поэтому следующий блок генерирует значение falsch:

Bild11_ru.PNG

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

Тернарный оператор

Тернарный оператор — это блок «если-иначе» в миниатюре. Тернарный оператор принимает три входных значения. Первое из них — проверяемое булевское условие, второе — значение, возвращаемое, если проверка даст результат wahr (истина), третье — значение, возвращаемое, если проверка даст результат falsch (ложь). В следующем примере переменной Farbe (цвет) присваивается значение rot (красный), если переменная x меньше 10, иначе переменной Farbe присваивается значение grün (зеленый).

Bild12_ru.PNG

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

Bild13_ru.PNG

Bild14_ru.PNG

Циклы

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

Блоки для создания циклов

dauerhaft wiederholen (повторять всегда)

Блок dauerhaft wiederholen выполняет код, содержащийся в его теле, до завершения выполнения программы.

wiederhole (повторить... раз)

Блок wiederhole выполняет код, содержащийся в его теле, указанное количество раз. Например, следующий блок десять раз выдаст «Hallo!» («Привет!»):

Bild1_ru.PNG

wiederhole-solange (повторять, пока …)

Представь себе игру, в которой игрок бросает игральную кость и складывает все выпавшие очки, пока их сумма меньше 30. Следующие блоки описывают смысл этой игры:

  1. Переменной с именем insgesamt (итого) присваивается начальное значение 0.
  2. Цикл начинается с проверки того, меньше ли 30 значение переменной insgesamt. Если да, выполняются блоки в теле цикла.
  3. Генерируется случайное число в диапазоне от 1 до 6 (имитация броска игральной кости) и сохраняется в переменной с именем gewürfelt (выпало).
  4. Выдается выпавшее число.
  5. Значение переменной insgesamt увеличивается на значение переменной gewürfelt.
  6. По достижении конца цикла выполняется возврат к шагу 2.

Bild2_ru.PNG

После завершения цикла выполняются все последующие блоки (не показаны). В примере выполнение цикла прекращается, после того как будет выдано определенное количество случайных чисел в диапазоне от 1 до 6 и значением переменной insgesamt станет сумма этих чисел, составляющая не менее 30.

wiederhole-bis (повторять, пока не …)

Циклы wiederhole solange повторяют свое тело, пока выполняется какое-либо условие. Циклы wiederhole bis похожи на них с тем отличием, что они выполняют свое тело, пока не будет выполнено определенное условие. Следующие блоки эквивалентны предыдущему примеру, потому что цикл выполняется, пока переменная insgesamt не примет значение, большее или равное 30.

Bild3_ru.PNG

zählen-von-bis (считать от … до)

Цикл zählen-von-bis увеличивает значение переменной, начиная с первого значения и заканчивая вторым значением, с шагом, равным третьему значению, причем тело цикла выполняется единожды для каждого значения переменной. Например, следующая программа выдает числа 1, 3 и 5.

Bild4_ru.PNG

Два следующих цикла, каждый из которых выводит числа 5, 3 и 1, демонстрируют, что первое значение может быть больше второго. Эти циклы работают одинаково вне зависимости от того, положителен или отрицателен инкремент (третье значение).

Bild5_ru.PNG

Bild6_ru.PNG

für jeden (для каждого)

Блок für jeden похож на цикл zählen-von-bis с тем отличием, что вместо переменной цикла в числовой последовательности он последовательно использует значения из какого-либо списка. Следующая программа выдает каждый элемент из списка «alpha», «beta», «gamma»:

Bild7_ru.PNG

Блоки для выхода из цикла

Большинство циклов выполняется до тех пор, пока не будет выполнено условие выхода из цикла (у блоков wiederhole (повторять)) либо пока переменная цикла не примет все значения (у циклов zählen mit (считать с) и für jeden (для каждого)). Два следующих редко используемых, но в некоторых случаях очень полезных блока открывают дополнительные возможности управления выполнением циклов. В следующих примерах показано их использование для цикла für jeden (для каждого), но эти блоки можно использовать для циклов всех видов.

fahre-mit-nächster-Iteration-fort (переход на следующую итерацию)

Блок fahre-mit-nächster-Iteration-fort позволяет пропустить остальные блоки в теле цикла и перейти к следующей итерации цикла.

Следующая программа при первой итерации выдает «alpha». При второй итерации выполняется блок fahre mit nächster Integration fort (переход на следующую итерацию), т. е. вывод «beta» пропускается. При последней итерации программа печатает «gamma».

Bild8_ru.PNG

Schleifenabbruch (выход из цикла)

Блок schleifenabbruch служит для досрочного завершения цикла. Следующая программа при первой итерации выдает «alpha», а при второй итерации выходит из цикла, если переменная цикла принимает значение «beta». Программа не доходит до третьего пункта списка.

Bild9_ru.PNG

Математика

Блоки категории Mathematik (Математика) используются для выполнения вычислений. Результаты вычислений можно использовать, например, в качестве значений переменных. В основе большинства «математических» блоков лежат обычные математические действия, поэтому эти блоки должны быть понятны без разъяснений.

Блоки

Числа

Используй блок Zahl (число), чтобы добавить в свою программу любое число или присвоить какой-либо переменной значение в виде этого числа. Эта программа присваивает переменной Alter (возраст) число 12:

Bild1_ru.PNG

Простые вычисления

Этот блок имеет структуру «Значение-оператор-значение» Доступные операторы: +-÷× и ^. Оператор выбирают в выпадающем меню. Операторы можно применять как непосредственно к числам, так и к значениям переменных. Пример:

Bild2.PNG

Этот блок выдает результат 144 (12^2).

Специальные вычисления

Этот блок применяет счетную операцию, выбранную в выпадающем меню, к следующему за этим меню числу или к значению следующей за этим меню переменной. Доступные счетные операции:

где e — эйлерово число. Этот блок извлекает корень квадратный из 16 и присваивает этот результат переменной i.

Bild3_ru.PNG

Тригонометрические функции

Этот блок работает аналогично описанному выше с тем отличием, что в качестве счетных операций используются тригонометрические функции: синус, косинус, тангенс и их подфункции. Указанное число или значение указанной переменной вставляется в функцию, выбранную в выпадающем меню. Полученный результат можно продолжать обрабатывать в программе. Еще есть блок arctan2 of X: ... Y: ..., который позволяет при помощи двух вещественных чисел (подставляемых вместо X и Y) получить значение функции arctan2 в области 360°.

Часто используемые константы

Этот блок работает аналогично блоку Zahl (число) с тем отличием, что здесь не надо самостоятельно указывать численное значение. Вместо него применяются уже сохраненные часто используемые константы (напр., π). Константу выбирают в выпадающем меню.

Rest einer Division (остаток от деления)

Блок Rest von … (остаток от ...) используется для вывода остатка от деления. Эта программа присваивает переменной Rest (остаток) остаток от деления 3:2, т. е. 1:

Bild4_ru.PNG

Runden (округление)

При помощи блока runde … (округлить ...) указанные десятичные числа или значение указанной переменной можно округлить до целого числа. В выпадающем меню предусмотрены три опции:

Анализ списков

При помощи блока ... der Liste (... списка) можно получить следующее: 

Любую из этих опций можно выбрать в выпадающем меню блока:

Bild5_ru.PNG

Ограничение входных величин

Блок beschränke ... von ... bis … (ограничить ... от … до ...) позволяет ограничить входные величины определенным интервалом. Перед дальнейшей обработкой входной величины программа проверяет, принадлежит ли она заданному интервалу. В зависимости от входной величины программа может поступать одним из трех способов:

В следующем примере этот блок используется для ограничения значения переменной Geschwindigkeit (скорость) диапазоном частоты вращения, поддерживаемым двигателем:

Bild6_ru.PNG

Генерирование случайных значений

И блок zufällige Zahl von ... bis... (случайное число от … до ...), и блок zufälliger Bruch (случайная дробь) выдают случайное значение. При этом блок zufällige Zahl von ... bis...  выдает число из заданного интервала, а блок zufälliger Bruch — значение от 0,0 (включая) до 1,0 (исключая).

Тексты

Примеры текстов:

«Вещь 1»
«12 марта 2010 года»
«» (пустой текст)
Текст может содержать буквы (нижнего и верхнего регистров), числа, знаки препинания, другие символы и пробелы.

Блоки

Создание текста

Следующий блок генерирует текст «Hallo» («Привет») и сохраняет его в переменной с именем Gruß (приветствие):

Bild1_ru.PNG

Блок erstelle Text aus (создать текст из) создает из значения переменной Gruß и нового текста «Welt» («мир») текст «HalloWelt» («Приветмир»). Обрати внимание на то, что два исходных текста не разделены пробелом, т. к. его не было ни в одном из них.

Bild2_ru.PNG

Чтобы увеличить количество текстов, щелкни по символу «+». Чтобы удалить последний текст, щелкни по символу «-».

Изменение текста

Блок an ... anhängen (к … добавить) добавляет указанный текст к указанной переменной. В этом примере он изменяет текст переменной Gruß с «Hallo» на «Hallo, da!» («Эй, привет!»):

Bild4_ru.PNG

Длина текста

Блок Länge von (длина) считает количество символов (букв, чисел и т. д.), содержащихся в тексте. Длина выражения «Wir sind #1!» равна 12, длина пустого текста равна 0.

Bild5_ru.PNG

Bild6_ru.PNG

Проверка на пустой текст

Блок ist leer (пустой) проверяет, пуст ли указанный текст (равна ли его длина 0). В первом примере результат проверки — wahr (истина), во втором примере — falsch (ложь).

Bild7_ru.PNG

Bild8_ru.PNG

Поиск текста

Эти блоки можно использовать, чтобы проверить, встречается ли текст в другом тексте, и если да, то где. Например, здесь программе задается вопрос о месте первой буквы «a» в слове «Hallo», результат — 2:

Bild9_ru.PNG

Здесь задается вопрос о месте последней буквы «a» в слове «Hallo», результат — тоже 2:

Bild10_ru.PNG

Вне зависимости от того, первое или последнее место выбрано, этот блок выдает результат 0, т. к. в слове «Hallo» нет буквы «z».

Bild11_ru.PNG

Извлечение текста

Извлечение отдельного символа

Этот блок выдает «b» — вторую букву выражения «abcde»:

Bild12_ru.PNG

Этот блок выдает «d» — предпоследнюю букву выражения «abcde»:

Bild13_ru.PNG

Этот блок выдает «a» — первую букву выражения «abcde»:

Bild14_ru.PNG

Этот блок выдаст «e» — последнюю букву выражения «abcde»:

Bild15_ru.PNG

Этот блок с одинаковой вероятностью выдает любую из пяти букв выражения «abcde»:

Bild16_ru.PNG

Ни один из этих блоков не изменяет текст, из которого извлекается символ.

Извлечение области текста

При помощи блока im Text ... liefer Zeichenkette (из текста … выдай цепочку символов) можно извлечь область текста, которая начинается на:

и заканчивается на:

В следующем примере извлекается цепочка «abc»:

Bild17_ru.PNG

Переключение между верхним и нижним регистрами

Этот блок генерирует версию введенного текста, которая написана

Результатом выполнения следующего блока будет «HALLO»:

Bild18_ru.PNG

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

Удаление пробелов

Следующий блок в зависимости от того, что выбрано в выпадающем меню (маленький треугольник), удаляет пробелы:

Результатом выполнения следующего блока будет «Hi  du»:

Bild19_ru.PNG

Пробелы внутри текста не удалились.

Вывести текст

Блок gib aus (вывести) выдает входную величину в окне консоли:

Bild20_ru.PNG

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

Вывести текст с форматированием

Блок formatiere text (форматировать текст) форматирует выводимый текст, содержащий переменные. При этом все подстановочные знаки {} в тексте заменяются на содержимое переменной, приведенной после текста. В фигурных скобках можно указать форматирование. Например, форматирование {:.1f} выводит только первый знак после запятой в переменной t.

image-1638882988865.png

Списки

Как и в повседневной жизни, в ROBO Pro Coding под списком тоже понимается упорядоченный набор элементов, например список дел или список покупок. Элементы списка могут принадлежать любому типу. Одно и тоже значение может встречаться в списке более одного раза.

Создание списка

Создать список из

При помощи блока erstelle Liste mit (создать список из) можно указать начальные значения нового списка. В этом примере создается список слов и сохраняется в переменной с именем Buchstaben (буквы):

Bild1_ru.PNG

Мы назовем этот список [«alpha», «beta», «gamma»].

Ниже показано создание списка чисел:

Bild2_ru.PNG

Так создается список цветов:

Bild3_ru.PNG

Хотя этот вариант и встречается не так часто, можно создать список значений разных типов:

Bild4_ru.PNG

Изменение количества входов

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

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

Создание списка с определенным количеством экземпляров элемента

При помощи блока erstelle Liste mit Element (создать список с … элементами(-ом)) ты можешь создать список, содержащий указанное количество экземпляров элемента. Например, следующие блоки присваивают переменной Wörter (слова) значение в виде списка [«sehr», «sehr», «sehr»] ([«очень», «очень», «очень»]).

Bild5_ru.PNG

Проверка длины списка

ist leer (пустой)

Значение блока ist leer (пустой) является истиной, если он содержит пустой список, и ложью, если он содержит что-либо другое. Будет ли следующее выражение истиной? Следующий блок будет иметь значение ложь, т. к. переменная «Цвета» не пустая: она содержит три элемента.

Bild6_ru.PNG

Обрати внимание на схожесть этого блока с блоком ist leer (пустой) для текста.

Длина

Значением блока Länge von (длина) является количество элементов списка, подставленного в блок. Например, значением следующего блока было бы 3, т. к. список Farbe содержит три элемента:

Bild7_ru.PNG

Обрати внимание на то, что блок Länge von (длина) считает общее количество элементов в списке, а не количество разных элементов в списке. Например, следующий блок имеет значение 3, хотя список Wörter состоит из трех одинаковых слов:

Bild8_ru.PNG

Обрати внимание на схожесть этого блока с блоком Länge von (длина) для текста.

Поиск элементов в списке

Эти блоки находят положение элемента в списке. В следующем примере блок, находящий положение первого экземпляра элемента, имеет значение 1, т. к. первое слово «sehr» стоит в начале списка слов ([«sehr», «sehr», «sehr»]).

Bild9_ru.PNG

Результатом выполнения следующего блока, находящего положение последнего экземпляра элемента, будет 3, т. к. последнее слово «sehr» в списке Wörter стоит на 3 месте.

Bild10_ru.PNG

Если элемент не встречается в списке, результатом выполнения блока будет 0, как в следующем примере:

Bild11_ru.PNG

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

Вызов элементов из списка

Вызов одного элемента

Вспомни определение списка Farben (цвета):

Bild3_ru.PNG

Следующий блок содержит синий цвет, т. к. он является вторым элементом в списке (если считать слева):

Bild13_ru.PNG

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

Bild14_ru.PNG

Этот блок содержит первый элемент — красный цвет:

Bild15_ru.PNG

Этот блок содержит последний элемент — желтый цвет:

Bild16_ru.PNG

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

Bild17_ru.PNG

Вызов и удаление элемента

При помощи выпадающего меню блок aus Liste ... abrufen (вызвать … из списка) превращается в блок aus Liste ... abrufen und entfernen (вызвать … из списка и удалить), который выдает такое же значение, но изменяет список:

Bild18_ru.PNG

В этом примере переменной erster Buchstabe (первая буква) присваивается значение «alpha», остальные буквы ([«beta», «gamma»]) остаются в списке.

Bild19_ru.PNG

Удаление элемента списка

Если в выпадающем меню выбрать entfernen (удалить), выступ на блоке слева исчезает:

Bild20_ru.PNG

Первый элемент из списка Buchstaben удаляется.

Вызвать подсписок

Блок aus Liste … Subliste abrufen (вызвать из списка... подсписок) похож на блок aus Liste ... abrufen (вызвать … из списка) с тем отличием, что он извлекает подсписок, а не один элемент. Существует несколько возможностей указать начало и конец подсписка:

Bild21_ru.PNG

Bild22_ru.PNG

В этом примере создается новый список erster Buchstabe (первая буква). Этот новый список содержит два элемента: [«alpha», «beta»].

Bild23_ru.PNG

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

Добавление элементов в список

Замена элементов списка

Блок in Liste ... ersetze (заменить … в списке) заменяет элемент в определенном месте списка на другой элемент.

Bild24_ru.PNG

Значение пунктов выпадающего меню см. в предыдущем разделе.

В следующем примере выполняются два действия:

  1. Создается список Wörter (слова) с 3 элементами: [«sehr», «sehr», «sehr»] ([«очень», «очень», «очень»]).
  2. Третий элемент списка заменяется на «gut» («хорошо»). Новым значением переменной Wörter является [«sehr», «sehr», «gut»] ([«очень», «очень», «хорошо»]).

Bild25_ru.PNG

Вставка элементов в определенное место списка

Блок in Liste ... einfügen bei (вставить в список … на место) вызывается через выпадающее меню блока заменить ... в списке:

Bild26_ru.PNG

Этот блок вставляет новый элемент в указанное место списка, а именно перед элементом, ранее находившимся на этом месте. В следующем примере (основанном на предыдущем примере) выполняются три действия:

  1. Создается список Wörter (слова) с 3 элементами: [«sehr», «sehr», «sehr»] ([«очень», «очень», «очень»]).
  2. Третий элемент списка заменяется на «gut» («хорошо»). Таким образом, новым значением переменной Wörter является [«sehr», «sehr», «gut»] ([«очень», «очень», «хорошо»]).
  3. В начало списка вставляется слово «Sei» («будь»). Таким образом, окончательным значением переменной Wörter будет [«Sei», «sehr», «sehr», «gut»] ([«Будь», «очень», «очень», «хорошим»]).

Bild27_ru.PNG

Разделение цепочек символов и объединение в списки

Создание списка из текста

Блок erstelle Liste aus Text (создать список из текста) разбивает на части указанный текст при помощи ограничителя:

Bild28_ru.PNG

В вышеприведенном примере возвращается новый список, содержащий три фрагмента текста: «311», «555» и «2368».

Создание текста из списка

Блок erstelle Text aus Liste (создать текст из списка) создает из списка единый текст при помощи разделителя:

Bild29_ru.PNG

В вышеприведенном примере возвращается новый текст со значением «311-555-2368».

Родственные блоки

Печать списка

Блок drucken (напечатать) в категории Text (Текст) может выдавать списки. В результате выполнения следующей программы на консоль выводятся показанные данные:

Bild30_ru.PNG

Konsole_ru.PNG

Выполнение какого-либо действия для каждого элемента списка

Блок für-jeden (для каждого) в категории «Управление» выполняет ту или иную операцию для каждого элемента списка. Например, этот блок отдельно выводит каждый элемент списка:

Bild31_ru.PNG

При этом из исходного списка элементы не удаляются.

См. также примеры блоков для выхода из цикла.

Пользование

Категория «Benutzung» («Пользование») программы ROBO Pro Coding содержит следующие блоки:

Выбор цвета

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

Ожидание

Ожидание до истечения времени

Блок warte [] … (ждать [] ...) приостанавливает выполнение программы на указанное время ожидания. При этом в выпадающем меню (маленький треугольник) можно выбрать единицу измерения времени, а в поле ввода за ним — нужную длину перерыва.

Ожидание с условием

Блок warte bis (ждать, пока не) привязывает перерыв не ко времени, а к выполнению какого-либо условия (напр., нажатию какой-либо клавиши). Условие вставляется после блока warte bis.

Код на Python

Если ты хочешь интегрировать в ROBO Pro Coding имеющийся код на языке Python, его можно вставить в блок Python Code (код на Python). Тогда программа выполнит все, что указано в блоке на языке Python. 

Запустить

Блок starte wenn (запустить, если) тоже привязан к выполнению условия. Программа, указанная в теле блока, запускается только при выполнении этого условия.

Выполнение функции

При помощи блока führe Funktion ... in einem Thread aus (выполнить функцию ... в отдельном потоке) выбранная функция выполняется в отдельном потоке. В некоторых случаях благодаря этому программа может продолжать реагировать на ввод данных и выполняться быстрее.

Обработка

Переменные

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

Выпадающее меню

При щелчке по символу выпадающего меню (маленький треугольник) переменной появляется следующее меню:

Bild1_ru.PNG

Это меню содержит следующие опции:

Блоки

Задать

Блок присвоить присваивает переменной какое-либо значение и создает эту переменную, если она еще не существует. Например, здесь переменной Alter (возраст) присваивается значение 12:

Bild2_ru.PNG

Вызвать

Блок rufe ab (вызвать) выдает значение, сохраненное в переменной, не изменяя его:

Bild3.PNG

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

Изменить

Блок ändere (изменить) прибавляет к переменной число.

Bild4_ru.PNG

Блок изменить является сокращением следующей конструкции:

Bild5_ru.PNG

Пример

Посмотри на следующий пример кода:

Bild6_ru.PNG

Первый ряд блоков создает переменную под названием Alter (возраст) и присваивает ей начальное значение 12. Второй ряд блоков вызывает значение 12, прибавляет к нему 1 и сохраняет полученную сумму (13) в переменной. В последней строке выдается сообщение: «Herzlichen Glückwunsch! Du bist jetzt 13» (Поздравляю! Тебе исполнилось 13 лет»).

Функции

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

Простая функция

Блок простой функции позволяет создать функцию с именем, введенным в текстовое поле. Функция может содержать любое количество переменных, добавляемых щелчком по значку шестеренки. Эта функция Altern (старение) прибавляет 1 к переменной Alter (возраст):

Bild1_ru.PNG

Функцию можно использовать в основной программе:

Bild2_ru.PNG

Функция с возвращаемым значением

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

Bild3_ru.PNG