Проектування алгоритмів і програм є виключно творчим процесом. Не існує універсального методу розроблення алгоритму розв’язування для будь-якого завдання. Для кожного завдання необхідно знайти свій, найбільш раціональний метод.
У процесі проектування алгоритму намагаються:
• забезпечити мінімальний час розв’язування задачі;
• використати мінімальний обсяг пам’яті;
• досягти потрібної точності й надійності обчислення;
• забезпечити ефективне використання можливостей наявних бібліотек, зокрема мінімізувати вартість розроблення алгоритму.
Методи проектування алгоритмів класифікуються за багатьма ознаками. Основними з них є ступінь автоматизації проектування алгоритмів і програм та методологія проектування програмних продуктів (рис. 5.1).
Неавтоматизовані методи використовуються у процесі розроблення невеликих і нескладних програмних продуктів за участю невеликої кількості розробників. Такі методи застосовуються, зокрема, у процесі розроблення програмних продуктів навчального призначення.
Автоматизовані методи застосовуються у великих компаніях і потребують додаткового апаратно-програмного забезпечення і високої кваліфікації працівників.
В основі структурного проектування програмних продуктів лежать послідовна декомпозиція і структурування програмного продукту на окремі складові. Структурне проектування програмних продуктів засноване на створенні алгоритмів із базових структурних алгоритмічних одиниць. Доведено, що такими одиницями є: слідування, розгалуження і повторення (цикли). Ці алгоритмічні структури послідовно з’єднуються або укладаються одна в одну з дотриманням певних правил. Алгоритм виконується послідовно зверху вниз.
Об’єктно-орієнтоване проектування програмних продуктів засноване на тому, що кожний об’єкт об’єднує дані й програми (методи) їх опрацювання в єдину конструкцію. Кожний об’єкт належить до відповідного класу. При цьому створюється ієрархія класів, визначаються властивості об’єктів і розробляються методи їх опрацювання, а також дотримуються специфічні принципи об’єктно-орієнтованого програмування.
Розглянемо типові методи структурного проектування програмних продуктів:
Згадаемо способи подання алгоритмів:
Увага! Під час роботи з комп'ютером дотримуйтеся вимог безпеки життєдіяльності та санітарно-гігієнічних норм.