Структурне програмування

Структурне програмування

Структурне програмування являє собою найбільше досягнення в цій області на даний момент. При тому, що майже всі мають спільне поняття про нього, майже ніхто не може дати конкретного і чіткого визначення даному терміну. Структурне програмування ставить основною метою писати програми найменшої складності, змушуючи програміста ясно мислити, полегшуючи сприйняття програми. Текст її необхідно робити таким, щоб він був читаємо зверху-вниз. Ця умова порушується, якщо в програмному коді зустрічаються оператори go to, оскільки вони порушують структуру всього відрізка програми. При тому, що цей показник не можна вважати найзручнішим, все ж можна сказати, що наявність в програмному коді даного оператора є найбільш кидається в очі типом порушення структури. Тіла додатків і базові конструкції повинні мати стійкість до апаратних збоїв, помилок у програмах і спотворень вихідних даних.


Основні принципи структурного програмування полягають у наступному. Будь-яка програма може бути легко синтезована на базі елементарних конструкцій трьох основних типів:


- простої послідовності;

- умов або альтернатив;

- повторень, тобто циклів та ітерацій.

Можна використовувати один або два будь-які види одночасно. Кожній структурі притаманна єдина риса - єдина точка передачі управління в структуру і єдина точка входу в структуру. Такий вид конструкції має дисциплінуюче і систематизуюче значення.

Простота початкових конструкцій у структурному програмуванні запобігає виникненню інформаційних зв 'язків, а також заплутаних передач управління. Складність програм помітно знижується при підвищенні структурованості модулів, зростає їх наочність, а це сприяє скороченню кількості помилок. Однак у структурування є і недолік - за красу і наочність програмного коду доводиться розплачуватися додатковою пам 'яттю, а також часом, необхідним на їх реалізацію на ЕВМ.

Структурне програмування, тобто структурність програмних текстів, цілком залежить від того, яка для цього використовується мова. Звичайно, виникає питання, а яке ж з них підходить найкраще. Сучасні засоби програмної розробки вважаються найкращими мовами, що реалізують структурний підхід до програмування. Серед найбільш поширених можна виділити Basic, Паскаль і FoxBASE. Наприклад, мовою Ассемблер практично неможливо реалізувати принципи, закладені в концепцію структурного програмування. Ця мова орієнтована на написання програмного коду на низькому рівні.


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

Якщо говорити про позицію щодо раніше згаданого оператора go to, то його варто уникати використовувати скрізь, де тільки можливо, проте це ніяк не повинно відбиватися на ясності програми. Іноді використання цього оператора виявляється просто необхідним для виходу з якогось відрізка програми або циклу, а також для того, щоб уникнути появи занадто поглиблених розвилок, тим більше, що перехід пов 'язаний з більш нижніми рівнями програм. При цьому структура програми так і залишається легко читається зверху вниз. Найгірший варіант використання цього оператора пов 'язаний з переходом знизу вгору.

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