Структурне програмування
Структурне програмування це методологія й технологія розробки серйозних програмних комплексів, заснована на наступних принципах:
– програмування повинне здійснюватися зверху-униз;
– увесь проект повинен бути розбитий на модулі з одним входом і одним виходом (оптимальний розмір модуля — кількість рядків на екрані дисплея);
– логіка алгоритму й програми повинна допускати тільки три основні структури: послідовне виконання, розгалуження й повторення. Неприпустимий оператор передачі керування в будь-яку крапку програми;
– при розробці документація повинна створюватися одночасно із програмуванням, у вигляді коментарів до програми.
Ціль структурного програмування — підвищення надійності програм, забезпечення супроводу й модифікації, полегшення й прискорення розробки.
Структурне програмування – це така методологія програмування, яка дозволяє за умови дотримання певних правил зменшити час розробки програми і полегшити можливість її модифікації. Ця методика була запропонована у сімдесятих роках минулого століття дослідником з Голландії Дейкстром та була доповнена Ніклаусом Віртом. Її основні поняття описані в теоремі Бьома-Якопіні, яку опублікували у 1966р.
Ціллю структурного програмування є підвищення надійності програм, прискорення і полегшення їх створення. У програмах з використанням структурного програмування добре простежується основний алгоритм, вони більш зручні в налагодженні і менш чутливі до помилок програмування. Це забезпечується за допомогою підпрограм, кожна з яких є майже самостійним фрагментом програми, який пов’язаний з основною програмою декількома параметрами. Самостійність підпрограм дає можливість локалізувати в них усі деталі програмної реалізації і, змінюючи ці деталі, не відбувається змін у основній програмі. Взагалі, алгоритм має такі властивості, як дискретність (подільність усього процесу), визначеність (кожний крок повинен бути однозначним), зрозумілість (усе має бути в межах, зрозумілих виконавцю алгоритму), універсальність (алгоритм повинен працювати за умови введення будь-яких даних), скінченність (алгоритм повинен мати скінченну кількість кроків та початкових значень) та результативність (в кінці алгоритму повинен бути деякий результат).
Існує декілька важливих моментів структурного програмування:
- Вихідний код повинен мати модульну структуру. Тобто, програма розділяється на дрібніші одиниці – процедури і функції. Ці частини або підпрограми, можуть викликатися з будь-якого місця у ній. Процедури – окремі ділянки коду, які виконують певні дії, задані алгоритмом та мають власну назву. Функції також можуть обчислювати деякі змінні, мають значення, яке повертається, і можуть використовуватись в основній частині програми і в інших підпрограмах. Деякі підпрограми можуть мати рекурсивну структуру, тобто виклик з «самої себе». Це може допомогти вирішити задачу, але і призвести до зациклювання.
- Кодування програми повинно виконуватися зверху-вниз чи знизу вгору. Схема «зверху-вниз» добре зрозуміла для дослідження написаної програми і пошуку помилок. Схема «знизу-вгору» використовується, коли алгоритм програми не розроблений, але вже написані деякі підпрограми, які реалізують певні дії.
- Наявність керуючих елементів. На відміну від деяких «асемблерних» підходів, у яких використовується безумовний перехід (go to), який важко відстежити, у структурному підході використовуються цикли, умови і послідовності.
Отже, структурне програмування дозволило зробити великий крок у розвитку мов програмування. Воно поліпшило загальне сприйняття коду та сприяло легшому написанню програм. Слідуючи методам структурного програмування, алгоритм програми стає універсальним і за рахунок цього будь-який інший розробник зможе його змінити або використати у своїй програмі.