- •Основи алгоритмізації процесів обробки інформації Етапи розробки програм
- •Визначення алгоритму Основні поняття теорії алгоритмів
- •Формальне визначення алгоритму
- •Способи опису алгоритмів
- •Базові структури алгоритмів
- •Лінійні алгоритми.
- •Розгалужені алгоритми.
- •Циклічні алгоритми.
- •Структурний підхід до проектування алгоритмів
Структурний підхід до проектування алгоритмів
Однією із технологій розробки процедурних програм є структурний підхід до їх проектування. Він заснований на наступних принципах:
-
Проектування зверху-вниз. При проектуванні програм використовується метод покрокової деталізації, коли складна задача розбивається на декілька простих, які, у свою чергу, можуть розбиватися на серію ще простіших і т. д. Процес покрокової деталізації вважається закінченим, коли задачі чергового рівня стають досить простими для незалежного розв’язання (кожній із них буде відповідати один модуль або окрема команда мови програмування).
-
Модульність. Увесь проект повинен бути розбитий на модулі з одним входом і одним виходом. Оптимальний розмір модуля — кількість рядків на екрані дисплея.
-
Структурне кодування. Логіка алгоритму і програми повинна допускати використання тільки базових алгоритмічних структур (послідовне виконання, розгалуження й повторення) та їх різновидів. Неприпустимим є оператор передачі керування в будь-яку точку програми (оператор GOTO). Структурована програма складається із базових алгоритмічних структур (блоків) за двома правилами: пакетування (вихід одного блоку з'єднується із входом наступного) і вкладення (будь-який блок може бути замінений на керуючу структуру вибору або повторення).
-
Документування. При розробці програм документація повинна створюватися одночасно із програмуванням, зокрема, у вигляді коментарів до програми. Документування програмного тексту дозволяє будь-якому програмісту легко читати, розуміти програмний текст у процесі розробки та подальшого супроводу.
Мета структурного програмування — підвищення надійності програм, забезпечення їх супроводу й модифікації, полегшення й прискорення розробки. Такі програми легко створюються і тестуються. Розробка програм займає менше часу. Програми більш прозорі і легко піддаються переробці.
Ідеї структурного програмування з'явилися на початку 70-х рр. XX в. у компанії IBM. У їхній розробці брали участь відомі вчені Дейкстра, Милі, Батіг, Хоор.
Приклад низхідного проектування. Розробити алгоритм визначення типу трикутника і його площі за заданими сторонами.
Етап 1. Задача представляється у виді єдиного блоку (А), що містить її постановку:
Етап 2. Декомпозиція задачі на підзадачі: введення вхідних даних (В) і власне її вирішення (С):
Етап 3. Подальша деталізація структури програми в частині аналізу введених даних (блок С):
Етап 4. Деталізація структури програми в частині введення даних (блок В).
Етап 5. Деталізація структури програми в частині задання умов аналізу (блок D) та визначення площі трикутника (блок F).
Етап 6. Деталізація структури програми в частині визначення типу трикутника (блок М):
1 Операція конкатенації – операція зі словами у певному алфавіті, яка об’єднує слова в одне слово (конкатенує) A+B=AB. Операція конкатенації є не комутативною A+B≠B+A і асоціативною (A+B)+C=A+(B+C)