Студопедия
Новини освіти і науки:
МАРК РЕГНЕРУС ДОСЛІДЖЕННЯ: Наскільки відрізняються діти, які виросли в одностатевих союзах


РЕЗОЛЮЦІЯ: Громадського обговорення навчальної програми статевого виховання


ЧОМУ ФОНД ОЛЕНИ ПІНЧУК І МОЗ УКРАЇНИ ПРОПАГУЮТЬ "СЕКСУАЛЬНІ УРОКИ"


ЕКЗИСТЕНЦІЙНО-ПСИХОЛОГІЧНІ ОСНОВИ ПОРУШЕННЯ СТАТЕВОЇ ІДЕНТИЧНОСТІ ПІДЛІТКІВ


Батьківський, громадянський рух в Україні закликає МОН зупинити тотальну сексуалізацію дітей і підлітків


Відкрите звернення Міністру освіти й науки України - Гриневич Лілії Михайлівні


Представництво українського жіноцтва в ООН: низький рівень культури спілкування в соціальних мережах


Гендерна антидискримінаційна експертиза може зробити нас моральними рабами


ЛІВИЙ МАРКСИЗМ У НОВИХ ПІДРУЧНИКАХ ДЛЯ ШКОЛЯРІВ


ВІДКРИТА ЗАЯВА на підтримку позиції Ганни Турчинової та права кожної людини на свободу думки, світогляду та вираження поглядів



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

 

Термін «структурне програмування» був введений в історичній статті «Structured Programming», представленої Едсжером Дейкстрою на конференції НАТО з розробки ПЗ в 1969 році [26]. З тих самих пір термін «структурний» застосовувався до будь-якої діяльності в області розробки ПЗ, включаючи структурний аналіз, структурний дизайн і структурний валяння дурня. Різні структурні методики не мали між собою нічого спільного, крім того, що всі вони створювалися в той час, коли слово «структурний» надавало їм більшої значущості.

Суть структурного програмування полягає в простій ідеї: програма повинна використовувати керуючі конструкції з одним входом і одним виходом. Така конструкція являє собою блок коду, в якому є тільки одне місце, де він може починатися, і одне - де може закінчуватися. У нього немає інших входів і виходів. Структурне програмування - це не те ж саме, що і структурне проектування зверху вниз. Воно відноситься тільки до рівня кодування.
Структурна програма пишеться в упорядкованій, дисциплінованою манері і не містить непередбачуваних переходів з місця на місце. Ви можете читати її зверху вниз, і практично так само вона виконується. Менш дисципліновані підходи призводять до такого вихідного коду, який містить менш зрозумілу і зручну для читання картину того, як програма виконується. Менша читабельність означає гірше розуміння і врешті гіршу якість програми.
Головні концепції структурного програмування, що стосуються питань використання break, continue, throw, catch, return та інших тем, застосовуються до теперішнього часу.

Три базових компонента структурного програмування:

· Послідовність - це набір операторів, що виконуються по порядку. Типові послідовні оператори містять присвоювання і виклики методів.

· Вибір - це така керуюча конструкція, яка змушує оператори виконуватися вибірково. Найбільш частий приклад - вираз if-then-else. Виконується або блок if-then, або else, але не обидва одразу. Один з блоків «вибирається» для виконання. Оператор case - інший приклад керуючого елемента вибору. Оператор switch в C + + і Java, оператор select - все це приклади case. У кожному разі для виконання вибирається один з варіантів. Концептуально оператори if та case схожі. Якщо ваша мова не підтримує оператори case, ви можете емулювати їх за допомогою набору інших операторів

· Ітерація - це керуюча структура, яка примушує групу операторів виконуватися кілька разів. Ітерацію зазвичай називають «циклом». До ітерацій відносяться структури For-Next у Visual Basic і while та for в C + + і Java.

Основна теза структурного програмування свідчить, що будь-яка керуюча логіка програми може бути реалізована за допомогою трьох конструкцій: послідовності, вибору та ітерації [24]. Програмісти іноді надають перевагу мовним конструкціям, що збільшують зручність, але програмування, схоже, розвивається багато в чому завдяки обмеженню того, що ми можемо робити на наших мовах програмування. До введення структурного програмування використання goto вважалось дуже зручним, але код, написаний таким чином, виявився малозрозумілим і не піддавався супроводу. Вважається, що використання будь-яких керуючих структур, відмінних від цих трьох стандартних конструкцій, тобто break, continue, return, throw-catch і т. д., повинні розглядатися під критичним кутом зору.

Одна з причин, з якої стільки уваги приділялося керуючим структурам, полягає в тому, що вони вносять великий внесок у загальну складність програми. Неправильне застосування керуючих структур збільшує складність, правильне - зменшує її.

Дослідники в області обчислювальної техніки вже протягом двох десятиліть усвідомлюють важливість проблеми складності. Багато років тому Дейкстра попереджав про небезпеку складності: «Компетентний програміст повністю усвідомлює суворо обмежені розміри свого черепа, тому підходить до завдань програмування з усією можливою скромністю» [25]. Складність керуючої логіки має велике значення, тому що вона корелює з низькою надійністю і частими помилками [29].


Читайте також:

  1. Алгебраїчне та інсерційне програмування
  2. Алгоритм розв’язування задач цілочислового програмування
  3. Безпосереднє програмування відеопам'яті
  4. Безробіття: фракційне, структурне, циклічне
  5. Виконання програми - реалізація мови програмування
  6. Використання пакету Maple для розв’язування задач лінійного програмування
  7. Вступ до мови програмування
  8. Геометрична інтерпретація задачі лінійного програмування
  9. Геометрична інтерпретація задачі нелінійного програмування
  10. Геометрична інтерпретація розв’язків цілочислових задач лінійного програмування на площині
  11. Графічний метод розв’язування задач лінійного програмування
  12. Графічний спосіб вирішення задачі лінійного програмування




Переглядів: 2898

<== попередня сторінка | наступна сторінка ==>
Принципи вибору імен змінних | Удосконалення програмного забезпечення.

Не знайшли потрібну інформацію? Скористайтесь пошуком google:

  

© studopedia.com.ua При використанні або копіюванні матеріалів пряме посилання на сайт обов'язкове.


Генерація сторінки за: 0.303 сек.