Студопедия

КАТЕГОРИИ:


Архитектура-(3434)Астрономия-(809)Биология-(7483)Биотехнологии-(1457)Военное дело-(14632)Высокие технологии-(1363)География-(913)Геология-(1438)Государство-(451)Демография-(1065)Дом-(47672)Журналистика и СМИ-(912)Изобретательство-(14524)Иностранные языки-(4268)Информатика-(17799)Искусство-(1338)История-(13644)Компьютеры-(11121)Косметика-(55)Кулинария-(373)Культура-(8427)Лингвистика-(374)Литература-(1642)Маркетинг-(23702)Математика-(16968)Машиностроение-(1700)Медицина-(12668)Менеджмент-(24684)Механика-(15423)Науковедение-(506)Образование-(11852)Охрана труда-(3308)Педагогика-(5571)Полиграфия-(1312)Политика-(7869)Право-(5454)Приборостроение-(1369)Программирование-(2801)Производство-(97182)Промышленность-(8706)Психология-(18388)Религия-(3217)Связь-(10668)Сельское хозяйство-(299)Социология-(6455)Спорт-(42831)Строительство-(4793)Торговля-(5050)Транспорт-(2929)Туризм-(1568)Физика-(3942)Философия-(17015)Финансы-(26596)Химия-(22929)Экология-(12095)Экономика-(9961)Электроника-(8441)Электротехника-(4623)Энергетика-(12629)Юриспруденция-(1492)Ядерная техника-(1748)

Структурне програмування. Тема 3. Теорія і методи структурного програмування

Самостійна робота

План лекції

Тема 3. Теорія і методи структурного програмування.

Лекція № 3

1. Загальна характеристика і компоненти проектування.

2. Еволюція розробки програмного продукту.

3. Структурне програмування. Об'єктно-орієнтоване проектування.

4. Збирані метрики, використовувані методи, стандарти і шаблони.

Зміст лекції

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

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

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

З цієї точки зору уся історія математики тісно пов'язана з розробкою тих або інших алгоритмів рішення актуальних для своєї епохи завдань. Більше того, само поняття "алгоритм" стало предметом відповідної теорії - теорії алгоритмів, яка займається вивченням їх загальних властивостей. З часом зміст цієї теорії став настільки абстрактним, що відповідні результати розуміли тільки фахівці. Як данина цієї традиції якийсь період часу мови програмування називалися алгоритмічними, а перший графічний засіб документування програм дістав назву "Блок-схема алгоритму". Відповідна система графічних позначень була зафіксована в ГОСТ 19.701 - 90, який регламентував використання умовних позначень в схемах алгоритмів, програм, даних і систем.

Проте потреби практики не завжди вимагали встановлення вычислимости конкретних функцій або вирішуваної окремих завдань. У мовах програмування виникло і закріпилося нове поняття - "процедура", яке конкретизувало загальне поняття "алгоритм" стосовно рішення завдань на комп'ютерах. Так само, як і алгоритм, процедура є закінченою послідовністю дій або операцій, спрямованих на рішення окремої задачі. У мовах програмування з'явилася спеціальна синтаксична конструкція, яка дістала назву "процедура".

З часом розробка великих програм перетворилася на серйозну проблему і зажадала їх розбиття на дрібніші фрагменти. Основою для такого розбиття і стала процедурна декомпозиція, при якій окремі частини програми, або модулі, були сукупністю процедур для вирішення деякої сукупності завдань. Головна особливість процедурного програмування полягає в тому, що програма завжди має початок в часі, або початкову процедуру (початковий блок), і закінчення (кінцевий блок). При цьому уся програма може бути представлена візуально у вигляді спрямованої послідовності графічних примітивів, або блоків

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

''обчислювального процесу залежно від проміжних результатів рішення задачі.

Поява і інтенсивне використання умовних операторів і оператора безумовного переходу стала предметом гострих дискусій серед фахівців з програмування. Річ у тому, що безконтрольне застосування в програмі оператора безумовного переходу go to здатне серйозно ускладнити розуміння коду. [Відповідні програми стали порівнювати із спагетти, називаючи їх bowl of spaghetti, маючи на увазі численні переходи від одного фрагмента програми до іншого або, що ще гірше, [повернення від кінцевих операторів програми до це початковим операторам.

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

Розглянуті ідеї сприяли становленню деякої [системи поглядів на процес розробки програм і написання програмних кодів, яка дістала назву методологія |структурного програмування. Основою цієї методології є процедурна декомпозиція програмної системи і організація окремих модулів у вигляді сукупності виконуваних процедур. У рамках цієї методології отримало розвиток низхідне проектування програм, або програмування зверху "вниз". Період найбільшої популярності ідей структурного програмування доводиться на кінець 1970-х - початок 1980-х років.

Як допоміжний засіб структуризації програмного коду було рекомендовано використання відступів на початку кожного рядка, які повинні виділяти вкладені цикли і умовні оператори. Усе це покликане сприяти розумінню або читабельності самої програми. Це правило з часом було реалізоване в сучасних інструментаріях розробки програм.

 

<== предыдущая лекция | следующая лекция ==>
Динамічні структури даних | Загальна характеристика і компоненти проектування
Поделиться с друзьями:


Дата добавления: 2014-01-04; Просмотров: 832; Нарушение авторских прав?; Мы поможем в написании вашей работы!


Нам важно ваше мнение! Был ли полезен опубликованный материал? Да | Нет



studopedia.su - Студопедия (2013 - 2024) год. Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав! Последнее добавление




Генерация страницы за: 0.01 сек.