Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
LR№4_LV_Структуры и Циклы.doc
Скачиваний:
0
Добавлен:
01.03.2025
Размер:
321.02 Кб
Скачать

3 Структура выбора Case

Структура Case имеет две или более поддиаграммы вариантов. Только одна поддиаграмма варианта видима в данный момент времени и только одна поддиаграмма варианта работает при обращении к этой структуре. Входное значение терминала селектора структуры определяет, какая поддиаграмма будет выполняться в данный момент времени. В простейшем случае структура Case аналогична логическим операторам (if...then...else) в текстовых языках программирования.

Элементы структуры выбора:

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

терминал селектора варианта. Значение, подаваемое на терминал селектора варианта, определяет, какая именно поддиаграмма структуры (вариант) будет выполняться. Допустимо использовать целочисленный, логический, строковый типы, а также тип перечисления в качестве значения, подаваемого на терминал варианта. Терминал варианта может располагаться в любом месте левой границы структуры Case. Если терминал варианта логического типа, то структура состоит из двух логических вариантов True и False. Если терминал варианта имеет один из следующих типов: целочисленный, строковый или перечисления, то количество вариантов может достигать 231-1 вариантов.

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

Структура Case допускает использование входных и выходных терминалов данных. Терминалы входных данных доступны во всех поддиаграммах, но их использование поддиаграммой структуры необязательно. Создание выходного терминала на одной поддиаграмме приводит к его появлению на других поддиаграммах в том же самом месте границы структуры. Если хотя бы в одной поддиаграмме выходной терминал не определен, то поле этого терминала окрашивается в белый цвет, что говорит об ошибке создания структуры. Необходимо определять значения выходных терминалов во всех вариантах (поддиаграммах). Кроме того, выходные терминалы должны иметь значения совместимых типов.

Пример 7. Ввод пароля

Рассмотрим пример использования структуры Case в качестве распределения доступа к каким-либо функциям программы.

Поместите на лицевую панель строковый элемент управления String (String & Path=>String Control). Измените его метку на следующую: «Введите пароль».

Поместите на блок-диаграмму структуру Case (Structures => Case Structure).

Соедините терминал элемента управления String с терминалом селектора варианта структуры Case. По умолчанию в структуре было два варианта: «True» и «False», Default. Применительно к выбору одного из этих двух вариантов по тексту, введенному в поле элемента управления String, это означает, что блок-диаграмма первого варианта будет выполняться тогда, когда будет введено слово True, вторая блок-диаграмма будет выполняться в остальных случаях.

Вместо «True» введите предполагаемый пароль, например 123. На обе блок-диаграммы поместите стандартное диалоговое окно с одной кнопкой (Time & Dialog=>One Button Dialog).

Создайте строковую константу для входной величины message обоих диалоговых окон (в контекстном меню указанного входа выберите Create=>Constant). На блок-диаграмме «123» в поле строковой константы введите «Пароль правильный», на второй блок-диаграмме – «Пароль неправильный».

Лицевая панель и блок-диаграмма (оба варианта) представлены на рисунке 17.

Рисунок 17 – Реализация задачи ввода пароля

Таким образом, при вводе в поле элемента управления String цифр 123 выпадает диалоговое окно с текстом «Пароль правильный». При вводе любых других символов выпадает диалоговое окно с текстом «Пароль неправильный». Дополнив блок-диаграммы обоих вариантов какими-либо выполняемыми функциями, вы ограничиваете доступ к одной из них паролем «123».

Пример 8. Калькулятор

Создайте ВП в виде калькулятора. Входные значения задавайте двумя элементами управления. В зависимости от выбора арифметической операции на выходе эти два числа будут складываться, вычитаться, умножаться или делиться. Создайте два числовых элемента управления а и b. Создайте нумерованный элемент управления Controls=>Ring&Enum=>Enum. В его свойствах (чтобы попасть на страницу свойств, в контекстном меню выберите пункт Properties) перейдите на вкладку редактирования пунктов Edit Items. И в таблице в колонку меток Label введите четыре строки: «a+b», «a-b», «a*b», «а/b». Каждой метке соответствует число от нуля до трех.

Перейдите на блок-диаграмму и поместите на нее структуру варианта Case. При подключении терминала элемента управления Enum к терминалу селектора варианта он поменяет свой цвет на синий (целочисленный тип), а в селекторе структуры заголовки вариантов «True» и «False» поменяются на «а+b» и «а-b». Выберите в контекстном меню структуры Add Case For Every Value. LabVIEW добавит вариант для каждого пункта элемента управления Enum. При этом название варианта, отображаемое в селекторе структуры, будет взято из пунктов элемента управления Enum. Для выполнения программы решающую роль имеют номер варианта: 0,1, 2 или 3, на что и указывает синий цвет терминала элемента управления Enum, проводника данных и терминала селектора варианта. Однако для удобства как конечных пользователей ВП, так и программистов, варианты маркируются названиями.

Наберите в каждой поддиаграмме структуры соответствующую блок-диаграмму и выведите результат на элемент индикации. Здесь следует подчеркнуть, что все поддиаграммы структуры вариант находятся внутри одной структуры. Готовая блок-диаграмма представлена на рисунке 18, а лицевая панель на рисунке 19. Пусть то, что на рисунке блок-диаграммы показаны четыре структуры варианта рядом друг с другом, вас не вводит в заблуждение. На самом деле все четыре поддиаграммы находятся внутри первой структуры. Видна может быть всего лишь одна поддиаграмма, а остальные три как в колоде карт сложены позади первой. Переключение между ними осуществляется с помощью стрелок.

Рисунок 18 – Реализация задачи Калькулятор. Блок-диаграмма

Рисунок 19 – Реализация задачи Калькулятор. Лицевая панель

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

  • Add Case After – добавляет вариант, следующий за текущим вариантом.

  • Add Case Before – добавляет вариант до текущего варианта.

  • Duplicate This Case – дублирует текущий вариант. Этим пунктом целесообразно пользоваться, когда поддиаграмма еще одного варианта очень похожа за исключением некоторых деталей.

  • Delete This Case – удаляет текущий вариант.

  • Remove Empty Cases - удаляет пустые варианты.

  • Show Case – показывает вариант. Этот пункт аналогичен стрелке рядом с названием варианта в селекторе вариантов.

  • Swap Diagram With Case – меняет поддиаграмму текущего варианта на поддиаграмму другого варианта.

  • Rearrange Case – вызывает диалоговое окно, в котором вы сможете поменять порядок расположения вариантов.

  • Remove Default – убирает из структуры вариант по умолчанию, но сам вариант по умолчанию со своей поддиаграммой не удаляется. Если в структуре не назначен вариант по умолчанию, то этот пункт меню отсутствует.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]