Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Программирование Методичка.doc
Скачиваний:
0
Добавлен:
01.04.2025
Размер:
5.33 Mб
Скачать

«Перед тим, як увійти, подумай, як вийти» (Китайське прислів'я) Техноогії проектування алгоритмів

Властивості алгоритму забезпечуються за рахунок застосування при роз­робці принципу модульної побудування алгоритму та методів: струк­тур­ного, низхідного і висхідного проектування алгоритмів.

Принцип модульного побудування алгоритму полягає в розподілі ал­го­ритму на функціонально-самостійні частини-«модулі» і організації їх взаємодії за допомогою однієї з типових архітектур:

модульно-монолітної з одним основним модулем, що виконує пере­важ­ну кількість «кроків», і сукупністю підпорядкованих йому модулів, що ви­ко­нують допоміжні дії:

модульно-послідовної з послідовним виконанням модулів, рівноправ­них по використовуваних ресурсах комп'ютера:

модульно-ієрархічної з багатоярусним підпорядкуванням модулів за принципом «один предок - багато нащадків»:

модульно-хаотичної зі зв'язками модулів за принципом «багато хто з багатьма»:

Основні модулі (ті, що викликають інші) і допоміжні модулі (ті, що ви­кликаються основними) зв'язуються між собою за допомогою апарату «фактич­ні - формальні парамет­ри»8 .

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

Метод структурного проектування алгоритму передбачає в моду­лях будь-яких рівнів архітектури алгоритму використання тільки наступних основних керуючих структур:

послідовність, тобто таку форму організації дій, яка передбачає вико­нання дій одна за одною:

Алгоритм, який містить тільки керуючі структури «послідовність», називається лінійним.

рівнобіжність, тобто таку форму організації дій, яка передбачає після виконання деякого «кроку» алгоритму одночасне і незалежне виконання декіль­кох послідовностей дій («каналів»):

злиття, тобто таку форму організації дій, при якій після виконання де­якого кроку декілька каналів об'єднуються в один:

Алгоритм, який містить хоча б одну керуючу структуру «рівнобіжність» чи «злиття», називається рівнобіжним, або ж алгоритмом реального часу.

переключення, тобто таку форму організації дій, при якій в залежності від виконання деякого «умови» відбувається або та, або інша послідовність дій:

Алгоритм, що містить хоча б одну керуючу структуру «переключення», назива­ється розгалуженим.

цикл, тобто таку форму організації дій, при якій деяка послідовність дій (тіло циклу) може відбуватися багаторазово, поки деяка «умова» приймає зна­чення «істина» («Так»):

Алгоритм, що містить хоча б одну керуючу структуру «цикл», називається цик­лічним. Якщо «умова» перевіряється до виконання «тіла циклу», то алгоритм називається циклічним із передумовою. Якщо «умова» перевіряється після ви­конання «тіла циклу», то алгоритм називається циклічним із післяумовою.

Алгоритм із вкладеними друг у друга керуючими структурами «цикл» на­зивається складним циклічним. Однократне виконання «тіла циклу» називає­ться ітерацією. Змінна, область значень якої визначає кількість ітерацій, нази­вається параметром циклу.

Алгоритм, що містить не менше двох різних керуючих структур, називає­ться комбінованим.

М

етоди низхідного і висхідного проектування алгоритму застосовую­ться при розробці алгоритмів зі складною модульно - ієрархічною архітектурою.

Метод низхідного проектування алгоритму9 передбачає конкретизацію алгоритмічних рішень від загальної постановки задачі до розв'язання допоміж­них задач. Спочатку розробляється основний модуль, а потім допоміжні.

Метод висхідного проектування алгоритму передбачає «складання» ос­новного алгоритму з окремих модулів, що виконують допоміжні функції і які розроблено незалежно один від одного. Спочатку розробляються допоміжні мо­дулі, а потім основний модуль.