Структурне програмування — Вікіпедія
Парадигми програмування |
---|
|
Структурне програмування— методологія програмування (модель конструювання програмного забезпечення), запропонована в 1970-х роках голландським науковцем Дейкстрою (Edsger Wybe Dijkstra), була розроблена та доповнена Ніклаусом Віртом. Ґрунтується на теоремі Бьома-Якопіні (Corrado Bohm, Giuseppe Jacopini), яка була опублікована у 1966 р.
Відповідно до цієї методології, будь-яку програму можна створити, використовуючи три конструкції:
- послідовне виконання — одноразове виконання операції в порядку запису їх (операцій) в тексті програми;
- розгалуження — виконання певної операції або декількох операцій залежно від стану певної, наперед заданої умови;
- цикл — багаторазове виконання операції або групи операцій за умови виконання деякої наперед заданої умови. Таку умову називають умовою продовження циклу.
Кожна конструкція є блоком із одним входом і одним виходом.
Блок Послідовне виконання передбачає послідовне (лінійне) виконання операторів програми.
Блок Вибір є точкою прийняття рішення про подальший перебіг виконання операторів програми. Вибір здійснюється однією із трьох структур:
- if (єдиний вибір)
- if…else (подвійний вибір)
- switch або case (множинний вибір)
Усі три структури можна звести до одного типу if.
Блок Повторення реалізується одним із трьох способів:
- структура while
- структура do/while
- структура for
Усі три структури можна звести до структури while.
Структурована програма складається із вищеназваних блоків за двома правилами: пакетування (вихід одного блоку з'єднується із входом наступного) і вкладення (будь-який блок може бути замінений на структуру керування вибору або повторення).
Таким чином, структуровані програми містять всього сім типів структур керування, які з'єднуються всього двома способами.
Переваги:
- такі програми легко створювати та тестувати;
- скорочується термін розробки програми;
- полегшується супровід програми
- скорочення варіантів побудови програми, що знижує складність програмного забезпечення;
- логічно зв'язані операції знаходяться ближче один до одного, що полегшує аналіз алгоритму, даючи змогу обходитись без блок-схем алгоритму (хоча наявність такої блок-схеми полегшує розуміння роботи алгоритму).
Недоліки:
- непропорційне зростання складності програми у разі збільшення об'єму коду програми;
- складність створення паралельних програм.
![]() | Це незавершена стаття про програмування. Ви можете допомогти проєкту, виправивши або дописавши її. |
Ця стаття не містить посилань на джерела. (листопад 2014) |