Условные операторы занимают центральное место в программировании. Они позволяют организовывать ветвления, например:
Простейшим условием является блок «если»:
При выполнении этого блока значение переменной x сравнивается с 100. Если значение переменной x превышает 100, выдается фраза «Was für eine große Zahl!» («Какое большое число»)! В противном случае ничего не происходит.
Также можно указать, что в случае невыполнения условия что-либо не должно происходить, как в этом примере:
Как и в случае с предыдущим блоком, если x > 100, выдается фраза «Was für eine große Zahl!». В противном случае выдается фраза «Das ist nicht sehr groß.» («Это не очень большое число.»).
Блок «если» может иметь не более одной ветки «иначе».
Ты можешь протестировать несколько условий при помощи одного блока «если», добавив к нему ветку «иначе-если»:
Сначала блок проверяет, больше ли x 100, и выдает «what a great number!», если это так. Если это не так, блок проверяет, равен ли x 42. Если да, он выдает «this is my lucky number!» («Это мое счастливое число!»). В противном случае ничего не происходит.
Блок «если» может иметь любое количество ветвей «иначе-если». Условия анализируются сверху вниз, пока не будет выполнено какое-либо условие или пока не останется ни одного условия.
Блоки «если» могут иметь как ветви «иначе-если», так и ветви «иначе»:
Ветвь «иначе» обеспечивает выполнение действия, даже если не выполняется ни одно из предшествующих условий.
Ветвь «иначе» может стоять после любого количества ветвей «иначе-если», включая ноль; в последнем случае ты получишь обычный блок «если-иначе».
В панели инструментов отображается только простой блок «если» и блок «если-иначе»:
Чтобы добавить ветви «иначе-если» и «иначе», щелкни по символу «+». Символ «-» удаляет ветви «иначе-если»:
Обрати внимание на то, что формы блоков допускают добавление любого количества подблоков «иначе-если», однако только одного блока «если».
Булевская логика — это простая математическая система, в которой существуют два значения:
Как правило, логические блоки в программе ROBO Pro Coding предназначены для контроля условий и циклов.
Приведем пример:
Если значение переменной x больше 100, условие является истиной и выдается текст «Was für eine große Zahl!». Если значение переменной x не больше 100, условие является ложью и выдается текст «Das ist nicht sehr groß.». Булевские значения могут наподобие числам, текстам и спискам сохраняться в переменных и передаваться в функции.
Если блок ожидает ввода булевского значения, отсутствие такого ввода интерпретируется как ложь. Небулевские значения нельзя напрямую вставить туда, где ожидаются булевские значения, но можно (хотя и не рекомендуется) сохранить небулевское значение в переменной и потом вставить ее в условие. Мы не советуем использовать этот способ, и в следующих версиях ROBO Pro Coding возможности его использования могут быть изменены.
Для вызова булевского значения можно использовать один-единственный блок с выпадающим списком, в котором (списке) указано wahr (истина) или falsch (ложь).
Существует шесть операторов сравнения Каждый из них сравнивает две введенные величины (как правило, два числа) и возвращает wahr или falsch в зависимости от того, как сравниваются эти величины.
Шесть операторов сравнения — это равно, не равно, меньше, больше, меньше или равно, больше или равно.
Блок und (и) возвращает wahr (истина) тогда и только тогда, когда оба его входных значения являются истиной.
Блок oder (или) возвращает wahr, если как минимум одно из двух его входных значений является истиной.
Блок nicht (не) превращает введенное булевское значение в противоположное. Например, результатом
будет falsch (ложь).
Если не вводится никакое значение, программа исходит из значения wahr, поэтому следующий блок генерирует значение falsch:
Не рекомендуем оставлять поле для ввода значения пустым.
Тернарный оператор — это блок «если-иначе» в миниатюре. Тернарный оператор принимает три входных значения. Первое из них — проверяемое булевское условие, второе — значение, возвращаемое, если проверка даст результат wahr (истина), третье — значение, возвращаемое, если проверка даст результат falsch (ложь). В следующем примере переменной Farbe (цвет) присваивается значение rot (красный), если переменная x меньше 10, иначе переменной Farbe присваивается значение grün (зеленый).