69746

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

Домашняя работа

Информатика, кибернетика и программирование

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

Украинкский

2014-10-09

35.5 KB

3 чел.

Самостійне вивчення

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

План:

  1.  Компоненти структурного програмування
  2.  Структурне програмування

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

На початкових етапах не було конкретних теоретичних концепцій та технологій програмування. Результат створення програм залежав, головно, від мистецтва програміста й ефективності застосованих ним хитрощів. Такі програми важко налагоджувати, вони мало придатні для вдосконалення. Особливо важко компонувати складні програми з частин, розроблених колективом програмістів.

Як уже зазначено, методологією сучасного програмування є програмування структурне. Дехто вважає, що це просто програмування згідно з чіткими канонами, інші - що це написання підпрограм (модулів) та об'єднання їх у програму, ще інші -що це програмування "без goto". Можна сказати, що структурне програмування - це проектування, написання і тестування програм згідно з наперед визначеною дисципліною.

Мета структурного програмування - створювати програми чіткої структури, тобто такі, які можна було б без великих затрат розуміти, супроводжувати і модифікувати без участі авторів, оскільки на сучасному етапі затрати на супровід і модифікацію програм становлять близько 70% усіх затрат на їхнє створення та експлуатацію.

Структурний підхід до програмування передбачає таке:

низхідне проектування (проектування зверху вниз);

модульне програмування;

структурне кодування.

Розглянемо реальну економічну задачу керування запасами на підприємстві (рис. 1.1). Розв'язати таку задачу можна двома шляхами - шляхом висхідного та низхідного проектування. З'ясуємо недоліки першого підходу і переваги другого.

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

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

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

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

рис 1.1

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

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

одним входом;

одним виходом;

не містять недосяжних фрагментів програми (або точок);

не містять безконечних циклів. У цьому розумінні головні структури є простими програмами.

У мові Паскаль головні структури виконують оператори: послідовність - складений оператор, розгалуження - умовний оператор if-then-else, повторення - оператор циклу з передумовою while-do.

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


 

А также другие работы, которые могут Вас заинтересовать

10614. Аналоговые (непрерывные) и дискретные регуляторы. Дискретная модель ПИД-регулятора 225.4 KB
  Аналоговые непрерывные и дискретные регуляторы. Дискретная модель ПИДрегулятора. Позиционный алгоритм. Определение частоты выборки в системах управления. Предотвращение интегрального насыщения. Регуляторы можно строить на основе как аналоговой так и цифровой те...
10615. Комбинационное и последовательностное управление. Управление на основе переключательных схем 73.32 KB
  Комбинационное и последовательностное управление. Управление на основе переключательных схем. Аппаратные и программные средства. Программируемые логические контроллеры. Эта глава посвящена бинарному комбинационному и последовательностному т. е. управление порядк...
10616. Шина VMEbus. Другие стандарты шин 61.46 KB
  Шина VMEbus. Другие стандарты шин Аббревиатура VME означает VERSA Module Eurocard. Соответственно VERSA это название более ранней версии шины разработанной компанией Моторола для процессора серии 68000 а платы Eurocard это стандарт формата плат раздел 8.2.2. Шина VMEbus была разработана г
10617. Программирование систем реального времени. Методы программирования: параллельное программирование, мультипрограммирование и многозадачность 123.5 KB
  Программирование систем реального времени. Методы программирования: параллельное программирование мультипрограммирование и многозадачность. Приоритеты процессов и производительность системы. Управление ресурсами. Обмен информацией между процессами. Последовате...
10618. Основные идеи софистов и учение Сократа 140 KB
  Основные идеи софистов и учение Сократа Жизнь Сократа и проблема источников. Открытие сущности человека (человек - это его душа). Парадоксы сократовской этики..
10619. Философия Платона. Учение о бытии и небытии 204.23 KB
  Философия Платона Введение В истории мировой культуры Платон –великое явление. Он жил в древнегреческом обществе но как деятель –философ учёный писатель –принадлежит всему человечеству. Платон один из учителей философии. Учителем его делает не только то что в...
10620. Философия Аристотеля. Аристотелевский вопрос 114 KB
  Философия Аристотеля 1. Аристотелевский вопрос 1.1. Жизнь Аристотеля Аристотель родился в 384/383 гг. до н. э. в Стагире на границе с Македонией. Его отец по имени Никомах был врачом на службе у македонского царя Аминта отца Филиппа. Вместе с семьей молодой Аристотель...
10621. Плотин и философия неоплатонизма. Биография Плотина 59 KB
  Плотин и философия неоплатонизма Биография Плотина Неоплатонизм это обширное философское направление конца античного мира III–VI вв. н. э. основным содержанием которого являлось учение Платона и Аристотеля в сплаве с элементами пифагорейства и стоицизма о диалект...
10622. Предпосылки средневековой западноевропейской философии 237.15 KB
  Предпосылки средневековой западноевропейской философии 1. Средневековая западноевропейская философия как синтез античной философской и религиозных традиций Средневековая западноевропейская философия развивалась на базе античной философии испытывая мощное в...