Проектування алгоритмів - студопедія

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

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

Цей метод інакше називається низхідним проектуванням алгоритмів (зверху-вниз). Покрокова деталізація автоматично змушує формувати зрозумілу структуру програми. При цьому потрібно відстежувати правильність деталізації, створюючи набір контрольних точок і прораховуючи значення даних в них. Зупинимося на достоїнствах методу покрокової деталізації:

1. Зберігається концептуальна цілісність програми: від складного до простого.

2. Проектування програми, кодування, перевірку та документування можна робити паралельно.

3. У кожен момент часу (навіть на початку розробки) є працюючий варіант програми.

Існує також висхідний метод, який, навпаки, спираючись на деякий, заздалегідь обумовлений коректний набір подалгорітма, будує функціонально завершені підзадачі більш загального призначення, від них переходить до більш загальним, і так далі, до тих пір, поки не дійдемо до рівня, на якому можна записати рішення поставленого завдання. Цей метод відомий як метод проектування "знизу вгору".

Питання для самоперевірки

1. Що розуміють під алгоритмом?

2. Які способи запису алгоритмів?

3. В чому полягають основні властивості алгоритму?

4. Як визначається властивість масовості алгоритму?

5. Які існують основні алгоритмічні структури (опишіть їх)?

6. Які є основні блоки, які використовуються в графічному поданні алгоритму?

7. Що таке псевдокод? Для яких цілей він використовується?

8. Як реалізується цикл з передумовою? Як реалізується цикл з умовою поста?

9. Які основні принципи розробки алгоритмів?

10. Які основні етапи вирішення завдань за допомогою ЕОМ? Дайте характеристику кожному етапу.

Схожі статті