русс | укр

Мови програмуванняВідео уроки php mysqlПаскальСіАсемблерJavaMatlabPhpHtmlJavaScriptCSSC#DelphiТурбо Пролог

Компьютерные сетиСистемное программное обеспечениеИнформационные технологииПрограммирование


Linux Unix Алгоритмічні мови Архітектура мікроконтролерів Введення в розробку розподілених інформаційних систем Дискретна математика Інформаційне обслуговування користувачів Інформація та моделювання в управлінні виробництвом Комп'ютерна графіка Лекції


Розгалужені алгоритми (5.2)


Дата додавання: 2014-11-28; переглядів: 2919.


У тих випадках, коли перетворення інформації може здійснюватись за різними схемами, залежно від властивостей вхідних даних або проміжних результатів, використовуються розгалужені алгоритми. Тобто в алгоритмі передбачаються всі можливі варіанти обробки інформації, кожний з яких розробляється як окрема гілка алгоритму, а вибір однієї з них для виконання здійснюється за допомогою перевірки деякої умови, що відображає властивості інформації, використовуваної у процесі перетворення. В алгоритмічних системах для цього є розпізнавачі. Залежно від того, на скільки гілок розгалужується алгоритм, він може бути простим або складним. Для простого розгалуженого процесу перевіряється одна умова (один розпізнавач), для складного — дві чи більше умов, кожна з яких відокремлює одну гілку.

Просте розгалуження відбувається за схемою 5.2. Умова формулюється таким чином, щоб відповідь перевірки була «так» чи «ні» (рис. 5.4).

Рис. 5.4. Схема простого розгалуженого процесу 5.2

Приклад 2а. Дано дійсні числа х та у. Обчислити max(x, y). Алгоритм розв’язання на рис. 5.5:

Рис. 5.5. Приклад простого розгалуженого алгоритму а)

Приклад 2б. Дано дійсні числа х, у, z. Обчислити min(x + y + z, xyz). (рис. 5.6):

Рис. 5.6. Приклад простого розгалуженого алгоритму б)

Складне розгалуження 5.3 відбувається послідовно, з відокремленням гілок за схемою (рис. 5.7).

 

 

Рис. 5.7 Схема складного розгалуженого процесу 5.3

Розгалужень може бути скільки завгодно.

Приклад 3. Дано три додатних числа x, y, z. Визначити, чи існує трикутник, що має сторони такої довжини. Алгоритм — на рис. 5.8.

 

Рис. 5.8. Приклад складного розгалуженого алгоритму 5.3

Вже з цього прикладу видно, що збільшення кількості умов робить алгоритм більш заплутаним, він втрачає наочність, перевірити його правильність досить складно. У таких випадках необхідно перехід до будь-якої гілки розгалуженого алгоритму пов’язати з деякою змінною, кожне значення якої відповідатиме одній із гілок розгалуження, тобто одному з варіантів обробки інформації. Це можуть бути не тільки окремі значення, а й проміжки значень, до яких належатиме конкретне значення змінної. Тоді всі логічні блоки алгоритму об’єднуються в один блок аналізу цієї змінної, який матиме не два виходи, а стільки, скільки існує варіантів обробки.

Нехай К-змінна вибору варіантів може приймати значення
а1, а2, ..., аn, ... Нехай існують варіанти обробки інформації, відповідні деяким переліченим значенням змінної чи їх сукупностям. Обов’язково необхідно передбачити варіант обробки, коли зна-чення змінної не належить до перелічених значень. Тоді розгалужений алгоритм матиме вигляд схеми 5.4 на рис. 5.9.

Рис. 5.9. Схема розгалуженого процесу вибору варіанта 5.4

Приклад 4. Визначити Y за умов:

Алгоритм визначення у матиме вигляд (рис. 5.10):

Рис. 5.10. Приклад розгалуженого алгоритму вибору варіанта 5.4


<== попередня лекція | наступна лекція ==>
Лінійні алгоритми (5.1) | Прості циклічні процеси з параметром (5.5)


Онлайн система числення Калькулятор онлайн звичайний Науковий калькулятор онлайн