Студопедия

КАТЕГОРИИ:

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


Принцип локалізації




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

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

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

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

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

При цьому об'єкти, що описуються в основній програмі глобальні і доступні в будь-якому місці програми, у тому числі і у підпрограмах..

Відповідно підпрограма в загальному випадку може містити:

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

Під усі глобальні дані пам'ять виділяється на етапі компіляції і її розмір залишається незмінним протягом всього часу роботи програми. За допомогою глобальних ідентифікаторів здійснюється постійний і безпосередній зв'язок підпрограми з охоплюючим її блоком.

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

Поняття "глобальності" і "локальності" варто розуміти відносно - стосовно конкретного блоку: дані, описані в блоці, вважаються глобальними по відношенню до усіх внутрішніх блоків.

 

 


Поделиться:

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





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