методології програмування

Підходи до створення алгоритмів зазнали змін в ході еволюції комп'ютерів.

В епоху 1-го і 2-го поколінь програми складалися з команд, безпосередньо або майже безпосередньо виконувалися комп'ютером (процесором). Такий підхід в програмуванні, орієнтований на безпосередньо виконувані комп'ютером операції, можна назвати операційним.

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

З появою масових ЕОМ 3-го покоління застаріла технологія програмування виявилася основним фактором, що стримує розвиток і поширення комп'ютерних (інформаційних) технологій, що підштовхнуло провідні в цій сфері діяльності фірми, в першу чергу IBM, до розробки нових методологій програмування. З'явився на початку 1970-х років новий підхід до розробки алгоритмів отримав назву структурного. Ця методологія виявилася настільки життєздатною, що і до сих пір є основною у великій кількості проектів. Основу цієї технології складають наступні положення:

Складне завдання розбивається на більш дрібні, функціонально краще керовані завдання. Кожне завдання має один вхід і один вихід. У цьому випадку керуючий потік програми складається з сукупності елементарних підзадач з ясним функціональним призначенням.

Простота керуючих структур, які у завданню. Логічна структура програми може бути виражена комбінацією трьох базових структур: слідування, розгалуження і циклу.

Р

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

Дотримання - найважливіша зі структур. Вона означає, що дії можуть бути виконані один за одним (рис. 1).

Ці прямокутники можуть представляти як одну єдину команду, так і безліч операторів, необхідних для виконання складної обробки даних.

Розгалуження - це структура, що забезпечує вибір між двома альтернативами. Виконується перевірка, а потім вибирається один із шляхів (рис. 2).

Ця структура називається також «ЯКЩО - ТО - ІНАКШЕ», або «розвилка». Кожен із шляхів (ТО або ІНАКШЕ) веде до спільної точки злиття, так що виконання програми триває незалежно від того, який шлях був обраний.

Може виявитися, що для одного з результатів перевірки нічого робити не треба. В цьому випадку можна застосовувати тільки один обробляє блок (рис. 3).

Цикл (або повторення) передбачає повторне виконання деякого набору команд програми. Якби цикли не існували, навряд чи заняття програмуванням було б виправданим: цикли дозволяють записати довгі послідовності операцій обробки даних за допомогою невеликого числа повторюваних команд. Різновиди циклу зображені на рис. 4 і рис. 5.

методології програмування

методології програмування

Цикл «Поки» починається з перевірки логічного виразу. Якщо воно істинне. то виконується «Виконати а», потім все повторюється знову, поки логічне вираження зберігає значення «істина». Як тільки воно стає хибним. управління передається за програмою далі (див. рис. 4).

У циклі «До» перевірка умови виконується після операторів циклу ( «Виконати а»). Цикл повторюється, якщо умова помилкова. Як тільки воно стає справжнім. управління передається за програмою далі (див. рис. 5).

Ці три структури можна комбінувати одну з іншого - як шляхом організації їх слідування, так і шляхом створення суперпозиций (вкладень однієї структури в іншу) - як завгодно різноманітно для вираження логіки алгоритму розв'язання будь-якої задачі. Використовуючи описані структури, можна повністю виключити використання безумовного переходу. що є важливою ознакою структурного програмування.

Напрямок виконання команд часто зображують зверху вниз.

У

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

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