adfun.ru
| |
BIGLIB |
| большущая библиотека (9812 книг), можно не только прочитать но и скачать бесплатно |
|
| |
ФАНТАСТИКА |
| фентези,
фантастика, фантастические повести |
|
| |
ФИЛОСОФИЯ |
книги, которые заставляют
задуматься над окружающим тебя миром.
|
|
| |
МЕДИЦИНА |
медицинские книги,
методички,
народные лечебники |
|
| |
КУЛИНАРИЯ |
рецепты
тортов, консервирование,
все о спиртных
напитках. |
|
| |
СТИХИ |
| стихи популярных
и не очень авторов |
|
| |
ТВОРЧЕСТВО |
| народное творчество,
стихи, песни и т.д. |
|
| |
ЮМОР |
| анекдоты, приколы,
смешные истории |
|
| |
ЭРОТИКА |
| эротические рассказы,
книги о технике секса,
кама-сутра и др. |
|
|
| |
 |
62
ГЛАВА 6. РЕДАКТИРОВАНИЕ ДЕРЕВА РЕШЕНИЙ
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
В предлагаемой главе Вы создадите и модифицируете дерево
принятия решений для поля Discount (Скидка). Это дерево принятия
решений содержит большое число ветвей и узлов выводов. Вам предстоит
выполнить следующие процедуры системы ObjectVision:
- Добавить новое поле с помощью инструментального окна дерева
(Tree Tool) и создать для него новую форму;
- Осуществить прокрутку дерева принятия решений;
- Скопировать и вклеить части дерева посредством команд Edit|
Copy (Редактировать| Копировать) и Edit| Paste (Редактировать|
Вклеить);
- Записать условия и выводы с помощью команд Objects| Condition
(Объекты| Условие) и Objects| Conclusion (Объекты| Вывод);
- Изменить размер дерева с помощью команд View| Expand (Вид|
Увеличить) и View| Reduce (Вид| Уменьшить);
- Распечатать дерево.
Дерево принятия решений поля Discount (Скидка)
--------------------------------------------------------------------
Представленный далее рисунок показывает завершенное дерево
принятия решений для поля Discount (Скидка). Заметьте, что оно
содержит узел для нового поля, Distributor Size (Размер
дистрибьютора), которое не включено в форму Sales Order (Заказ на
покупку). (В дальнейшем Вам предстоит создать другую форму с именем
Distributor Information (Информация о дистрибьюторе) для поля
Distributor Size.)
Рис.6.1 Дерево принятия решений поля Discount (Скидка):
1 - Тип клиента; 2 - Дистрибьютор (Агент по продаже); 3 - Дилер; 4 -
Преподаватель; 5 - Другой; 6 - Размер дистрибьютора; 7 - Количество;
8 - Большой; 9 - Средний; 10 - В ином случае
Дерево принятия решений показывает, что значение поля Discount
(Скидка) зависит от значений полей Customer Type (Тип клиента),
Distributor Size (Размер дистрибьютора) и Quantity (Количество).
Представленный далее текст описывает часть той логики, которая
графически отображена в дереве принятия решений. Следует помнить,
что каждый шаг в этой последовательности (за исключением первого)
отрабатывается только в том случае, если условие, использованное в
предшествующем шаге, является ложным
Если значением поля Customer Type (Тип клиента) является
Distributor (Дистрибьютор), то значение поля Discount (Скидка)
зависит от значения поля Distributor Size (Размер дистрибьютора)
следующим образом:
1. Если значением поля Distributor Size (Размер дистрибьютора)
является large (большой), то поле Discount (Скидка) получает
значение 60 процентов.
63
2. Либо, если значением поля Distributor Size (Размер
дистрибьютора) является medium (средний), а значение поля
Quantity (Количество) больше или равно 100, то поле Discount
(Скидка) получает значение 50 процентов.
3. Либо, если значением поля Distributor Size (Размер
дистрибьютора) является medium (средний), а значение поля
Quantity (Количество) меньше (то есть, НЕ "больше или равно")
100, то поле Discount (Скидка) получает значение 40 процентов.
Если значением поля Customer Type (Тип клиента) является dealer
(дилер), то значение поля Discount (Скидка) зависит от значения
поля Quantity (Количество):
- Если значение поля Quantity (Количество) больше чем либо равно
100, то значение поля Discount (Скидка) равно 40 процентам.
- Либо, если значение поля Quantity (Количество) меньше (то есть,
НЕ "больше или равно") 100, то значение поля Discount (Скидка)
равно 25 процентам.
Аналогичные вычисления производятся в случае, если значение
поля Customer Type (Тип клиента) равно educator (преподаватель)
или other (другой).
Логика дерева принятия решений развивается по тем же самым
линиям в направлении слева направо и сверху вниз. На каждом шаге
сначала рассматривается значение поля Customer Type (Тип клиента).
Если значением поля Customer Type (Тип клиента) является Distributor
(Дистрибьютор), то следующим рассматривается значение поля
Distributor Size (Размер дистрибьютора). Наконец, рассматривается
значение поля Quantity (Количество). На каждом шаге формируется
значение true (истинно) или false (ложно). Если условие является
истинным, то система ObjectVision следует по маршруту от этого
условия. Если условие является ложным, то система ObjectVision
проверяет следующее условие, которое расположено ниже. Этот процесс
продолжается до тех пор, пока ObjectVision не достигнет узла вывода.
После этого осуществляется присвоение значения полю Discount
(Скидка).
Добавление первых узлов
--------------------------------------------------------------------
Создание дерева принятия решений поля Discount (Скидка)
начинается с добавления узлов, которые реализуют первый шаг логики
принятия решений:
+++> Ваши дальнейшие действия:
1. Откройте прикладную задачу Myorder и селектируйте поле Discount
(Скидка).
2. Выберите команду Tools| Tree (Инструментарий| Дерево).
3. Выберите команду Objects| Branch (Объекты| Ветвь), селектируйте
в списке имен полей имя поля Customer Type (Тип клиента), а
затем выберите кнопку OK.
64
4. Вновь выберите команду Objects| Branch (Объекты| Ветвь). На
экране появляется блок диалога Condition (Условие).
5. В качестве условия поля Customer Type (Тип клиента) введите
distributor (дистрибьютор) и нажмите клавишу Enter. На экране
появляется блок диалога Field Name (Имя поля).
Поскольку Вы создаете новый узел ветви (а не узел вывода),
система ObjectVision подразумевает имя некоторого поля. Однако,
необходимое Вам поле еще не было создано. Вам необходимо
создать новое поле Distributor Size (Размер дистрибьютора) для
того, чтобы подразделить типы дистрибьюторов, с которыми Вы
ведете дела. В перечисленных далее шагах Вам предстоит создать
новое поле и назначить его новому узлу ветви.
6. Селектируйте вариант (Добавить новое поле),
затем выберите кнопку OK. На экране появляется блок диалога Add
New Field| Field Name (Добавить новое поле| Имя поля).
7. В качестве имени нового поля введите Distributor Size (Размер
дистрибьютора) и нажмите клавишу Enter.
8. Выберите команду Objects| Conclusion (Объекты| Вывод) для того,
чтобы создать узел вывода. На экране появляется блок диалога
Condition (Условие). Это связано с тем, что Вы должны задать
условие для добавляемого Вами узла вывода.
Узел вывода должен формировать значение для поля Discount
(Скидка), которое возвращается в случае, если предшествующие
условия истинны. В данном случае Вы хотите присвоить конкретное
значение полю Discount (Скидка), если значением поля Customer
Type (Тип клиента) является distributor (дистрибьютор) а
значением Distributor Size (Размер дистрибьютора) является
large (большой). Поскольку Вы сейчас описываете поле
Distributor Size (Размер дистрибьютора), необходимо ввести
значение в блок диалога условия для поля Distributor Size
(Размер дистрибьютора).
|
adfun.ru
|
|
|
|