Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Ответы на модуль 1 ОП.docx
Скачиваний:
8
Добавлен:
24.11.2019
Размер:
926.17 Кб
Скачать

15) Блок

Блок (block) – це обмежена спеціальними роздільниками (відокремлювачами) частина програми, яка неодмінно містить описи об'єктів. Як відокремлювачі блока в алголоподібних мовах зазвичай використовувалися позначення begin, end. Проте в мові С з цією метою використовуються позначення “{ “ і “}”. У сучасних мовах програмування блоки є основою закритих підпрограм, модулів і пакетів. Мови програмування, що ґрунтуються на понятті блока, називаються блок-орієнтированими мовами (block oriented language) і є представниками класичних мов відгалуження мови Algol-58. До цих мов належать С, Pascal, Modula-2, 3, Аdа, C++, C#, Java. Уся програма зазвичай є блоком, і якщо в програмі більше блоків немає, то вона складається з єдиного блоку. Проте частіше програма складається з декількох блоків. Блоки можуть міститися поряд або бути вкладеними один в одній.

Нумерація, номер і глибина вкладеності блока

Кожний блок у програмі має нумерацію, номер (number) і глибину вкладеності (nesting depth).

Нумерація блоку (numeration) – це набір чисел, відокремлених крапками. При цьому (n–1), де n – кількість чисел в наборі – це число дорівнює кількісті блоків, що охоплюють даний блок. Останнє число в нумерації дорівнює порядковому номеру блока, або номеру блока. Передостаннє число вказує на номер охопного блока. Перше число в нумерації, зазвичай дорівнює одиниці, що являє собою номер блока, що подає всю програму. Кількість чисел у нумерації називається глибиною вкладеності блоків.

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

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

Межі блоків фіксуються розділовими позначеннями begin (початок блока) і end (кінець блока). Програма складається з чотирьох блоків. Нумерацію блоків зазначено в правому верхньому куті кожного блока. У наведеному прикладі, блок із нумерацією 1 містить два вкладені блоки, а блок із нумерацією 1.3, у свою чергу, містить вкладений блок із нумерацією 1.3.4. Глибина вкладеності блоку з номером 3 дорівнює двом, блока з номером 4 – трьом.

Мембранний ефект. Регулювання області дії

Межі блока мають властивості мембрани – «пропускають» дію об'єктів лише в одному напрямі, у даному разі із зовні всередину блока. Цю властивість називають ще мембранним ефектом. Вона використовується для регулювання області дії об'єктів програми.

На основі мембранного ефекту будується механізм регулювання області дії за такими правилами:

  • областю дії об'єкту є блок, в якому об'єкт оголошено;

  • область дії об'єкта являють собою також усі блоки, вкладені в даний блок, за винятком тих блоків, в яких оголошено об'єкти з точно такими самими позначеннями;

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

  • усі об'єкти, оголошені у блоці, «невидимі» поза цим блоком, а отже не можуть там діяти.