Глобальні і локальні змінні

§ 5.11. Глобальні і локальні змінні

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

У наступному прикладі основна програма виводить на екран значення висоти підйому, дальності і часу польоту тіла, кинутого під кутом до горизонту для різних кутів alpha. Значення висоти підйому і дальності польоту тіла обчислюються в підпрограмі.

procedure polet (alpha, v: real; var H, L: real);

var v0, alpha, h, l: real; i: integer;

writeln ( 'alpha L H t');

for i: = 0 to 18 do

writeln (alpha: 4: 0, l: 10: 2, h: 10: 2, 2 * sqrt (2 * h / g): 10: 2);

У даній програмі глобальної є константа g. яка використовується (а, отже, доступна) у всіх модулях програми. Змінні al. v 0 є локальними. Мінлива al доступна лише в підпрограмі, а v 0 - тільки в основній програмі, де використовується як фактичний параметр.

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

У наступному параграфі покажемо приклад допустимого використання глобальних констант і типів.

Схожі статті