Блок «Если ... то»

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

Пример
В нижеописанной программе робот говорит «Касание» и затем проверяет, нажат ли датчик касания. Если да, то выполняется вариант «Истина» (вверху), и робот покажет «Большой палец вверх» и скажет «Да». Если датчик касания не нажат, выполняется вариант «Ложь» (снизу), и робот покажет «Большой палец вниз» и скажет «Нет». После «Если ... то» робот скажет «Спасибо».
Пример
Вариант «Истина»
Вариант «Ложь»

Проверка датчика касания запускается сразу после того, как робот закончит говорить «Касание». Если в это время переключатель находится в удержанном положении, то «Если ... то» будет вариантом «Истина», в противном случае оно будет вариантом «Ложь».
Советы и подсказки
«Если ... то» не ждет, пока значение данных датчика или шины данных достигнет определенного значения. Проверка выполняется при запуске блока «Если ... то», сразу после проверки выбирается и запускается один из вариантов.
В вышеуказанной программе вы можете нажать датчик касания перед проведением проверки (или даже до запуска программы) и удерживать его во время проведения проверки для того, чтобы «Если ... то» было вариантом «Истина». Посмотрите, сколько нужно ждать перед нажатием датчика, чтобы робот все-таки сказал «Привет».
Вы можете оставить любой вариант в «Если ... то» незаполненным, если вы не хотите, чтобы робот делал что-либо в данной ситуации. Попробуйте убрать два блока из варианта «Ложь» в программе выше, посмотрите, что произойдет.
Вид с вкладками
«Если ... то» может отображать в плоском виде, как показано в примере выше, или в виде с вкладками, как показано ниже. В плоском виде все варианты видимы в разных строках. В виде с вкладками одновременно виден только один вариант.

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



Переключатель представлений «плоский вид/с вкладками»
Вариант «Истина»
Вариант «Ложь»

Для переключения «Если ... то» между плоским видом и видом с вкладками щелкните на переключателе представлений «плоский вид/с вкладками».

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


Выбор режима
Выбор порта
Вводы

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

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

Доступные вводы будут меняться в зависимости от режима. В некоторых режимах вы можете сравнивать значение датчика с пороговым значением, а в некоторых режимах вы можете проверять определенные значения датчиков. Режимы описаны ниже.
Проверка порогового значения датчика
Блок «Если ... то» имеет несколько режимов, в которых числовое значение датчика считывается и сравнивается с пороговым значением для получения истинного или ложного результата. Например, в режиме «Датчик цвета – Сравнение – Яркость отраженного света» вы можете проверить, что яркость отраженного света из датчика цвета составляет менее 50.

В этих режимах блок «Если ... то» имеет два варианта. Если результат проверки является «истиной», то будет выполнен вариант «Истина», в противном случае, будет выполнен вариант «Ложь».
Советы и подсказки
Вариант «Истина» – это верхний вариант в плоском виде, отмеченный галочкой. Вариант «Ложь» – это нижний вариант, отмеченный «Х».
Для использования режима с пороговым значением датчика, выберите тип сравнения (например, менее чем) и введите пороговое значение (например, 50), с которым будут сравниваться данные датчика. Блок «Если ... то» возьмет одно показание датчика и сравнит его с пороговым значением для получения истинного или ложного результата.
Пример
В этой программе блок «Если ... то» использует режим «Датчик цвета – Сравнение – Яркость отраженного света» для проверки того, что яркость отраженного света составляет менее 50. Если это так, он отображает «Низкая», в противном случае, он отображает «Высокая». «Если ... то» повторяется в виде цикла, и экран постоянно обновляется на основании новых проверок датчика.
Советы и подсказки
Проверки датчика выполняются очень быстро. Если бы в вышеприведенном примере не было цикла, то программа бы тестировала датчик только один раз и заканчивалась бы так быстро, что вы даже бы не замечали.
Проверка указанных значений датчика
Следующие режимы позволяют «Если ... то» проверять указанные значения датчика. Вы можете создать два или более вариантов «Если ... то», соответствующих разным значениям, которые вы хотите проверить, и блок «Если ... то» будет выбирать подходящий вариант.
РежимИспользованиеСм.
Кнопки управления модулем – Измерение Выберите между двумя или более вариантами в зависимости от того, какая кнопка управления модулем нажата.Использование кнопок управления модулем
Кнопки управления модулем – Сравнение Выберите между двумя вариантами в зависимости от того, в каком положении находятся выбранные кнопки управления модулем («Нажатие», «Освобождение» или «Щелчок»).Использование кнопок управления модулем
Датчик цвета – Измерение – Цвет Выберите между двумя или более вариантами в зависимости от определенного цвета.Использование датчика цвета
Датчик цвета – Сравнение – Цвет Выберите между двумя вариантами в зависимости от того, определился ли или нет один из определенных цветов.Использование датчика цвета
Инфракрасный датчик – Измерение – Дистанционное управление Выберите между двумя или более вариантами в зависимости от того, какая кнопка (кнопки) управления модулем нажата на ИК-маяке.Использование инфракрасного датчика в режиме «Дистанционное управление».
Инфракрасный датчик – Сравнение – Дистанционное управление Выберите между двумя вариантами в зависимости от того, нажата ли указанная кнопка на ИК-маяке (или нажата ли одна из указанных кнопок набора).Использование инфракрасного датчика в режиме «Дистанционное управление».
Датчик касания Выберите между двумя вариантами в зависимости от положения датчика касания (нажат или нет, отпущен или нет, щелкнут или нет).Использование датчика касания
Ультразвуковой датчик – Сравнение – Присутствие Выберите между двумя вариантами в зависимости от того, определяется ли ультразвуковой сигнал в режиме «только прослушивание».Использование ультразвукового датчика
Обмен сообщениями Выберите между двумя вариантами в зависимости от значения сообщения.Обмен сообщениями
Проверка множественных значений
Режимы измерения датчика блока «Если ... то» позволяют вам указать несколько (два или более) разных значений датчика для проверки. Вы можете указать каждое значение в разном варианте «Если ... то». Например, в режиме «Датчик цвета – Измерение – Цвет» вы можете проверить черный, белый и красный цвета, и создать три разных варианта, по одному для каждого цвета.




Добавить вариант
Значение варианта
Вариант по умолчанию
Удалить вариант

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

Щелкните на кнопке «Вариант по умолчанию» для того, чтобы отметить один вариант как вариант по умолчанию. Вариант по умолчанию выполняется, если датчик определяет значение, которое не соответствует ни одному из вариантов в блоке «Если ... то».

См. программный пример: Скажи «Красный», «Зеленый» и «Синий» при определении, используя датчик цвета.

См. программный пример: Панель управления кнопками управления модулем в использовании кнопок управления модулем.
Проверка значения шины данных
В режимах «Логическое значение», «Текст» и «Числовое значение» блок «Если ... то» может выбирать, какой вариант выполнить на основании входящего значения из шины данных.
Режимы
Логический режим
В логическом режиме блок «Если ... то» выбирает между вариантом «Истина» или вариантом «Ложь» на основании значения в логическом вводе. Вы можете отсоединить логический вывод от любого программного блока и подсоединить к логическому вводу, используя шину данных.

Программные примеры: См. «Блок сравнения».
Режим «Текст»
В режиме «Текст» блок «Если ... то» сравнивает значение ввода «Текст» с двумя или более текстовыми значениями, которые вы указали, для каждого значения предусмотрен вариант. Будет выполняться вариант, имеющий значение, которое соответствует вводу «Текст». В случае несоответствия ни одного значения будет выполняться вариант по умолчанию.

См. раздел «Проверка множественных значений» выше для получения информации о создании нескольких вариантов. Каждый вариант в режиме «Текст» имеет текстовое значение, которое вы можете ввести непосредственно в поле «Значение варианта».
Пример
В этом примере блок «Если ... то» в режиме «Текст» использует вывод блока обмена сообщениями для выбора между тремя разными вариантами в зависимости от полученного сообщения.
Числовой режим
В числовом режиме блок «Если ... то» сравнивает значение ввода «Числовое значение» с двумя или более числовыми значениями, которые вы указали, для каждого значения предусмотрен вариант. Будет выполняться вариант, имеющий значение, которое соответствует вводу «Число». В случае несоответствия ни одного значения, будет выполняться вариант по умолчанию.

См. раздел «Проверка множественных значений» выше для получения информации о создании нескольких вариантов. Каждый вариант в числовом режиме имеет числовое значение, которое вы можете ввести непосредственно в поле «Значение варианта».
Пример
В этом примере блок «Если ... то» в числовом режиме использует вывод «Переменная» для выбора между тремя разными вариантами. Вариант по умолчанию блока «Если ... то» пуст, поэтому если значение переменной «Действие» не составляет 1, 2 или 3, то блок переключения не предпримет никаких действий.
Изменение размера блока «Если ... то»
Как правило, блок «Если ... то» автоматически расширяется для охватывания новых программных блоков, которые вы перетаскиваете в находящиеся внутри варианты. При необходимости вы можете изменить размер блока переключения вручную. Для изменения размера варианта в блоке «Если ... то» в плоском виде щелкните на левой или правой границе блока «Если ... то», рядом с вариантом, размер которого вы хотите изменить, затем перетащите маркеры изменения размера, расположенные снаружи.

Советы и подсказки
В режиме с вкладками все варианты имеют одинаковый размер. При увеличении размера одного варианта все варианты станут такого же размера.
Вводы
Вводы, доступные для блока «Если ... то», будут зависеть от выбранного режима. Вы можете вводить значения ввода прямо в блоке. Или же, как вариант, значения ввода можно передавать по шинам данных от выводов других программных блоков.
ВводТипПримечания
Логическое значение Логическое значениеИспользуется для выбора варианта в логическом режиме.
Число Числовое значениеИспользуется для выбора варианта в числовом режиме.
Текст ТекстИспользуется для выбора варианта в режиме «Текст».
Тип сравнения Числовое значениеТип сравнения для режима с вводом «Пороговое значение»
0: = (равно)
1: ≠ (не равно)
2: > (больше, чем)
3: ≥ (больше или равно)
4: < (меньше, чем)
5: ≤ (меньше или равно)
Пороговое значение Числовое значениеЗначение, с которым сравниваются данные датчика, для выбора варианта «Истина» или варианта «Ложь» на основании числового значения датчика.
(Вводы для определенных типов датчиков)Более подробную информацию о данных датчиков см. в разделах конкретных типов датчиков.
Если ... то
Быстрые ссылки