Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Учебник_Final.doc
Скачиваний:
59
Добавлен:
09.11.2019
Размер:
10.39 Mб
Скачать

9.1.12. Компонент MultipleListBox

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

Рис. 9.14. Панель свойств объекта класса MultipleListBox

9.1.13. Компонент CheckBox

Объект класса CheckBox представляет собой кнопку с независимой фиксацией (кнопку-флажок) и позволяет изменять значение однозначного булевого слота (рис. 9.15).

Рис. 9.15. Панель свойств объекта класса CheckBox

Примечание.

Объекты данного класса доступны только из меню Image окна сеанса. При установке флажка значение слота равно true, а при его снятии (поле флажка пустое) – false. Если объект CheckBox отображается в сером цвете, то значение его слота не определено (NULL). Следует также отметить, что окно Session позволяет установить только значения true или false. Значение NULL можно установить лишь при помощи KAL-функции ResetValue.

9.1.14. Компонент CheckBoxGroup

Позволяет установить и просмотреть значения многозначного слота. Для отображения нового значения в Image-объекте нужно воспользоваться функцией ResetImage. Допустимые типы слота – текст, объект.

Рис. 9.16 Панель свойств объекта класса CheckBoxGroup

9.1.15. Компонент RadioButtonGroup

Объект класса RadioButtonGroup представляет собой группу кнопок с зависимой фиксацией, т.е. в конкретный момент в нажатом состоянии может находиться только одна кнопка из группы (рис. 9.17). Он позволяет изменять значение однозначного слота, выбирая его из списка допустимых значений Allowable Values. Однако приоритет допустимых значений, определенных в соответствующем слоте, всегда будет выше, чем у допустимых значений, заданных в поле Allowable Values.

Примечание.

Изменение значения посредством объекта мгновенно влечет за собой изменение в ассоциированном с ним слоте. Однако в обратном направлении это правило не действует. Если значение переменной изменено программно (например, с помощью функции SetValue), то сам объект изменится только после применения к нему функции ResetImage.

Рис. 9.17. Панель свойств объекта класса RadioButtonGroup

9.2. Особенности русификации эо kappa

В ЭО KAPPA нельзя использовать русскоязычные символы как в написании имен переменных или объектов, так и в качестве значений переменных. Тем не менее, при оформлении пользовательского интерфейса в окне сеанса воспользоваться символами русского алфавита все-таки можно, причем при переносе KAPPA-продукта в формате *.bin настройки сохранятся.

Поскольку файл в двоичном формате, как правило, весьма громоздок, то в процессе отладки KAPPA-программы рекомендуется использовать только латинские символы. После завершения разработки последнюю версию KAL-файла необходимо транслировать в BIN-файл с добавлением русскоязычного интерфейса.

Контрольные вопросы

  1. Перечислите компоненты ЭО КАРРА.

  2. Назовите инструменты проектирования экспертных систем в ЭО КАРРА.

  3. Объясните понятия фрейм, объект и слот.

  4. Опишите необходимость использования методов при обработке значений слотов фрейма. Если необходимо, приведите пример.

  5. Представление таксономии систем в ЭО КАРРА.

  6. Каков принцип организации логического вывода в ЭО КАРРА?

  7. Какие цепочки организации логического вывода Вы знаете, и как они реализуются в ЭО КАРРА?

  8. Определите стратегии принятия решений в экспертных системах и в ЭО КАРРА.

  9. Что включает агенда?

  10. Опишите организацию работы с правилами в ЭО КАРРА.

  11. Определите последовательность проектирования экспертных систем в ЭО КАРРА.

  12. Как представляются декларативные и процедурные знания в ЭО КАРРА?

  13. Опишите инструментарий создания интерфейса пользователя в приложении, разрабатываемом в ЭО КАРРА.

  14. Чем отличаются файлы приложения, представленные с расширениями *.kal и *.bin?

  15. Чем отличаются приложения, разработанные только на основе функций, и приложения, разработанные на основе правил?