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). Головна ж перевага структурного програмування - це зменшення кількості помилок унаслідок застосування тільки допустимих структур.


 

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

71974. ВІВАТ, МАТЕМАТИКА! 81.5 KB
  Доброго дня дорогі друзі Я рада вітати всіх хто знає математику хто любить математику хто в майбутньому спиратиметься на знання одержані в школі. Ведучий: Сьогодні будуть незвичайні уроки математики.
71975. Счастливый случай в математике 67.5 KB
  Цели: Повышение интереса к изучению математики, развитие творческих способностей учащихся, логического мышления. Обучение решению арифметических задач различного типа. Формирование приемов умственной и исследовательской деятельности. Воспитание интереса навыков учебного труда.
71976. Неделя математики. Брейн – ринг для учащихся 9-х классов 45.5 KB
  Первыми садятся за игровой стол команды, которым досталась фишка с номером 1. После игры проигравшие покидают игровой стол, а их место занимает команда № 2. И так далее. Жюри фиксирует количество выигранных боёв и количество отгаданных вопросов, определяет победителей.
71977. МАТЕМАТИЧНИЙ КВК (для 5-6 кл.) 120 KB
  Мета: розвивати логічне мислення, кмітливість, культуру математичного мовлення, пам’ять, виховувати вміння і навички міркування, самостійність, інтерес до предмета, впевненість у собі. Формувати соціальні, полікультурні, комунікативні та інформаційні компетентності.
71978. Математична мозаїка 52.5 KB
  Людина із задоволенням працює, якщо захоплена роботою та любить її. Уміння бачити цікаве і дивуватися приносить дітям радість, стимулює до творчих пошуків, розвиває уяву, що особливо важливо на уроках математики. Таке вміння потрібно виховувати і розвивати в учнів систематично як на уроках, так і в позакласній роботі.
71979. Вправи і задачі на засвоєння таблиці множення числа 8 52.5 KB
  Давайте дітки допоможемо берізці скинути листя Завдання Щоб побачити берізку треба перевірити д з ІІІ. Завдання Давайте дітки попросимо допомоги у сил природи. Слайд № 1 Сонечко сонечко допоможи виконати завдання: Усний рахунок Записати добутки з таблиці мал.
71980. Одиниці вимірювання маси. Кілограм. Знаходження невідомого від’ємника. Додавання та віднімання в межах 100 без переходу через десяток 57.5 KB
  Мета: Ознайомити учнів із задачами на знаходження невідомого від’ємника; довести до свідомості учнів, що задачі на знаходження невідомого від’ємникам розв’язуються дією віднімання; формувати вміння розв’язувати рівняння; повторити одиницю вимірювання маси – кілограм...
71981. Переставна властивість дії множення. Розв’язування нерівностей. Складені задачі 41.5 KB
  Мета: ознайомити учнів з переставною властивістю дії множення та розв’язанням нерівностей із зміною способом добору, закріпити вміння розв’язувати складені задачі, розвивати уважність, вміння абстрагувати від конкретного змісту задачі, виховувати інтерес до астрономії.
71982. Нумерація чисел 21-100. Запис чисел під диктовку. Порівняння чисел і знаходження значень виразів 56.5 KB
  Мета: вчити учнів записувати під диктовку числа першої сотні; вправляти в порівнюванні чисел і знаходженні значень виразів; розвивати обчислювальні навички; виховувати інтерес до вивчення математики. Обладнання: геометрічний роздатковий матеріал, таблиця першої сотні чисел...