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


Тема 20. Конструювання програм

 

Традиційно конструювання програми пов’язано з створенням блок-схеми. Але фактично блок-схеми більш корисні при документовані ніж при проектуванні. Блок-схема корисна при описі структури програми та при поясненні її роботи. Тому на етапі проектування більш ефективні нові методи проектування програм. До них відносять:

1. Модульне програмування. Це метод при якому довгі програми розділяють на короткі, які називають модулями та можуть бути спроектовані, закодовані і відлагодженні окремо з застосуванням мінімальних відомостей про інші програми.

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

3. Структурне програмування.У відповідності до цього методу програми пишуть по спеціально розробленим правилам. Ці правила дозволяють використовувати тільки визначені типи програмних операторів.

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

1) послідовної, в якій команди або програми виконуються послідовно в тому порядку, в якому вони записані;

2) умовного типу IF-THEN-ELSE, тобто IF A THEN P1 ELSE P2 , де А – логічний вираз, а Р1 та Р2 – програми, що складено з трьох канонічних структур.

Приклад IF x≠0 THEN y=1/x ELSE y =0

Ця конструкція забезпечує запобігання ділення на нуль та визначення y в тому випадку коли x=0.

 

 
 

 

 


Рис.20.1 Блок-схема розгалуження

 

 

3) циклічного типу DO – WHILE, тобто DO P WHILE A (виконувати Р поки А), де А – логічний вираз, Р – програма, що складається тільки з дозволених структурних елементів.

 

Програма називається структурованою, якщо вона описана з використанням трьох розглянутих структур. Якщо при виконанні програми Р1 рис.20.1 виникає помилка, то буде точно відомо, як ЕОМ попала в цю точку. На рис.20.3 наведено приклад неструктурованої програми.

 

 
 

 


Рис.20.2 Блок-схема циклу

 

 

Рис.20.2 Блок-схема неструктурованої програми