17. Мова Arena. Блок перевірки та розгалуження. Приклади використання

За структурою алгоритми поділяють на лінійні,розгалужувані та циклічні.

При складанні схем алгоритмів часто виникаєнеобхідність проведення аналізу вихідних даних абопроміжних результатів обчислень та визначенняподальшого порядку виконання обчислювального процесу узалежність від результатів цього аналізу. Алгоритми, в якихзалежно від виконання деякої логічної умовивідбувається розгалуження обчислень по одному з декількохможливих напрямків, називаютьрозгалуженими .Подібні алгоритми передбачають вибір одного зальтернативних шляхів продовження обчислень. Коженможливий напрямок обчислень називаєтьсягілкою.Логічна умова називаютьпростою,якщо розгалужуєтьсяпроцес має дві гілки, іскладним,-якщо процес розгалужуєтьсяна три і більше гілки.

Будь-яка складна логічна умова може бути представлена ​​у вигляді простих.

Розглянемо приклад алгоритму, що розгалужується, з простою логічною умовою.

Приклад 1.2.Дані два числа а іb.

Очевидно, що для визначення гілки , за яким необхідноздійснювати процес обчислення значеннях,досить перевіритивиконання однієї з умов, наприклада>b.Якщо умоваа>bневиконується, то очевидно і без додаткової перевірки, що буде виконано умовуа

блок

перевірки

Транзакт, який потрапляє в блок, направляється в одну з 2 або N гілок. Розгалуження може бути умовним (гілка вибирається за деякою умовою) або імовірнісним (задані можливості переходу в кожну з гілок).

мова

приклади

розгалуження

Name – ім'я блоку.

Type - тип розгалуження:

2-way by Chance - ймовірнісне розгалуження, вибір однієї з двох гілок. У полі Percent True записується можливість переходу транзакту на гілку True (у відсотках);

2-way by Condition - умовне розгалуження, вибір однієї з двох гілок. У полі If записується те, що підлягає перевірці:

Variable – змінна. Визначається у масштабах всієї моделі;

Attribute - атрибут. Визначається у масштабах конкретного транзакту;

Entity Type – тип сутності, до якої належить транзакт. Якщо тип сутності збігається із зазначеним у полі Named, то умова вважається виконаною;

Expression - виконання умови визначається виразом, що записується в полі Expression.

N-way by Chance - ймовірнісне розгалуження, вибір однієї з N гілок. У поле Percentages за допомогою кнопок Add, Edit та Delete заносяться ймовірності переходу до кожної гілки. Імовірність переходу на галузь Else дорівнює 100% -Sum, деSum- сума всіх заданих значень ймовірностей переходу.

N-way by Condition - умовне розгалуження, вибір однієї з N гілок. У полі Conditions заносяться умови переходів у кожну з гілок. Набір умов у разі той самий, як і умовного розгалуження з двома гілками. Транзакт переходить у гілку Else, якщо жодна з умов не виконана.

Усі числові значення може бути як константами, і висловлюваннями.