русс | укр

Мови програмуванняВідео уроки php mysqlПаскальСіАсемблерJavaMatlabPhpHtmlJavaScriptCSSC#DelphiТурбо Пролог

Компьютерные сетиСистемное программное обеспечениеИнформационные технологииПрограммирование


Linux Unix Алгоритмічні мови Архітектура мікроконтролерів Введення в розробку розподілених інформаційних систем Дискретна математика Інформаційне обслуговування користувачів Інформація та моделювання в управлінні виробництвом Комп'ютерна графіка Лекції


Класифікація способів передачі параметрів


Дата додавання: 2014-02-04; переглядів: 1025.


Область дії ідентифікаторів при використанні процедур і функцій

Структура процедур і функцій

При створенні програми для розв’язування складного завдання виконується декомпозиція (поділ) цього завдання на підзадачі, підзадачі – на ще менші під задачі, і так далі, до елементарних під задач, що легко програмуються.

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

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

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

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

Відмітимо, що поняття "глобальні" і "локальні" варто розуміти відносно – стосовно конкретної процедури або функції.

Локальні дані створюються при виклику процедури/функції й існують тільки під час її виконання. Виділення пам’яті для локальних даних відбувається автоматично на початку виконання процедури/функції, а звільнення цієї пам’яті – як тільки виконання процедури/функції закінчується.

Оператори, розташовані в тілі процедури/функції можуть звертатися до її локальних даних (констант і змінних) і змінювати їхні значення.

Однак варто пам’ятати, що значення локальних даних існують поки процедура/функція працює. Як тільки вона закінчується, всі зміни значень локальних даних, зроблені операторами процедури/функції, зникнуть разом зі звільненням пам’яті.

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

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

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

Багато процедур мають кілька параметрів. Завдання програміста – переконатися, що параметри, які він вказує при виклику (фактичні параметри), відповідають за змістом формальним параметрам. Компілятор може перевірити тільки очевидні випадки – неправильне число параметрів або несумісність типів.


<== попередня лекція | наступна лекція ==>
Створення власних процедур | Інтегроване середовище програмування.


Онлайн система числення Калькулятор онлайн звичайний Науковий калькулятор онлайн