Студопедия

КАТЕГОРИИ:

АстрономияБиологияГеографияДругие языкиДругоеИнформатикаИсторияКультураЛитератураЛогикаМатематикаМедицинаМеханикаОбразованиеОхрана трудаПедагогикаПолитикаПравоПсихологияРиторикаСоциологияСпортСтроительствоТехнологияФизикаФилософияФинансыХимияЧерчениеЭкологияЭкономикаЭлектроника


Поняття підпрограми




Блочна організація програм

Принцип модульності програм

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

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

1) відповідає лише одній задачі;

2) має єдиний вхід і єдиний вихід (деякі мови програмування дозволяють існування декількох входів або виходів);

3) має порівняно невеликий розмір (до 100 операторів);

4) доступний за своїм ідентифікатором (ім’ям);

5) може викликати інший модуль (не в усіх мовах програмування);

6) повинен повертати керування тому, хто його викликав;

7) не повинен зберігати історію своїх викликів (інакше може виникати так званий побічний ефект);

8) підтримує незалежність функціонування (заміна модуля на аналогічний не впливає на всю програму).

Механізм блокової або модульної організації програм допускає вкладеність блоків. Оскільки блоки можуть вкладатися один в інший, то кожному з них можна приписувати деякий рівень вкладеності. Якщо самий зовнішній блок (програма) відноситься до рівня 0, то блок, визначений всередині цього блоку, повинен ставитися до рівня 1 і т. д.). Вкладеність блоків, в загальному випадку, не обмежена.

Переваги модульності програм:

- полегшується налагодження і тестування програми;

- внесення змін може привести до зміни окремих модулів, а не програми в цілому;

- програмний продукт може розроблятися кількома виконавцями (кожен виконавець розробляє свій модуль).

Поняття підпрограми

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

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

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

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

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

Рис. 1. Схема взаємодії програми і підпрограми

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

Рис. 2. Реалізація вкладеності підпрограм

Тут А - основна програма; В, Е - підпрограми, описані в основній програмі; С, D - підпрограми, вкладені в підпрограму B; F - підпрограма, вкладена в підпрограму E.

Переваги використання підпрограм:

1) в програмі немає дублювання коду, що скорочує трудомісткість створення програми;

2) поліпшується "читабельність" програми і, як наслідок, істотно полегшується процес її налагодження;

3) значно підвищується надійність програми.

 


Поделиться:

Дата добавления: 2015-08-05; просмотров: 92; Мы поможем в написании вашей работы!; Нарушение авторских прав





lektsii.com - Лекции.Ком - 2014-2024 год. (0.005 сек.) Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав
Главная страница Случайная страница Контакты