Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Лекція 20-21.docx
Скачиваний:
0
Добавлен:
01.03.2025
Размер:
380.74 Кб
Скачать

Параметри закритої підпрограми. 3

Бачимо, що перший список – це лише зазначення позицій у першому списку позначень і типів для добавлених при виклиці правих частин, розміщених у другому списку. Тому позначення в першому списку називають позначеннями формальних параметрів, а іноді параметрами. А у другому – позначеннями фактичних значень параметрів або фактичними параметрами, іноді - аргументами, якщо фактичний параметр не використовується для повернення значення - результату.

Параметри закритої підпрограми. 4

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

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

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

Параметри закритої підпрограми. 5

Таким чином, для застосування підпрограми необхідно виконати наступне:

  • створити (описати) підпрограму, визначивши тіло підпрограми (послідовність операторів) та оболонку, виділивши інтерфейс, визначивши позначення підпрограми та вказавши список формальних параметрів (тип кожного параметра та його позначення, якщо список позиційний);

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

Параметри закритої підпрограми. 6

  • розмістити підпрограму на зберігання в програмі або у файловій системі (бібліотеці) операційної системи;

  • у програмі визначити місця виклику підпрограми і записати їх, вказавши позначення підпрограми і список фактичних параметрів.

Локальні об'єкти підпрограм. 1

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

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

Це дає змогу писати підпрограми, не дбаючи про контекст, наприклад, у сенсі вибору позначень об'єктів у програмі.

Локальні об'єкти підпрограм. 2

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

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

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

Першу стратегію реалізовано шляхом опису об’єктів static| в мові|язиці| С та типізованих констант в мові Pascal. Друга стратегія ґрунтується на блоці (розподіл пам’яті в стек).