Обхват на идентификаторите
Обхват на идентификаторите - Лекция, раздел Програмиране, Интегрирана среда и Композиция на обект Паскал. Процедурите или функциите за езиков състав, както беше казано по-горе, могат да съдържат описание.
Процедурите или функциите, както бе споменато по-горе, могат да съдържат описание на други променливи. Освен това процедурите и функциите могат да съдържат описание на други процедури и функции, а тези, от своя страна, описания на други променливи, процедури и функции и т.н. Това повдига проблема с обхвата на променливите. Нека дадем определение: обхватът на описанието на конкретен идентификатор се нарича негов обхват. Представяме следните правила за определяне на обхвата на идентификатори (променливи).
1. Глобалните променливи са променливите, описани в главната програма. Те са достъпни навсякъде и във всички негови съчетания.
2. Подпрограмата е описана в някакъв описателен раздел, нека го наречем външен и самият той има описателен раздел - нека го наречем вътрешен. Локалните променливи са променливи, описани в процедури и функции, те са налични във всички части на тази подпрограма и във всякакви вътрешни описателни раздели, но не са налични в тези програмни блокове, които съответстват на външни описателни раздели.
Фигура 11.1 показва структурата на програма с вложени подпрограми: процедура 1 и процедура 2 са вложени в главната програма. На свой ред функция 1 е вложена в процедура 1.
Във всички процедури и функции на тази програма глобалните променливи на основната програма ще бъдат видими и могат да бъдат използвани. Локалните променливи на функция 1 и процедура 2 няма да бъдат видими в процедура 1 и в основната програма. Обаче локалните променливи, описани в процедура 1, ще бъдат видими, както и глобалните променливи, във функция 1 (тя е вложена в процедура 1).
В следващия пример процедурата prog1 е вложена в програмата за глави p11_2. Тази процедура от своя страна съдържа процедурата prog2.
var x: Цяло число; < глобална променлива >
процедура prog1; < Начало на описанието на процедурата prog1>
var y: Цяло число; < локална променлива >
процедура prog2; < Начало на описанието на процедурата на prog2 >
var z: Цяло число; < локална променлива >
< Тялото на процедурата prog2: налични променливи x, y, z >
< тяло на процедурата prog1: налични са променливи x, y >
< програма на тялото на главата: налична е променлива x >
Задача: напишете функция за повишаване на цели числа до естествена степен.
< Описание на процедурата Istep >
процедура Istep (x, n: цяло число; Var p: Longint);
< x е цяло число, n е естествена степен, p е резултат от
процедури, т.е. x към мощността n. Този параметър се предава чрез препратка >
var i: цяло число; < локална променлива >
за i: = 2 до n направете p: = p * x;
край; < край на процедурата на Istep >
вар < описание на глобални променливи >
започнете < глава на тялото на програмата >
Istep (3, 3, k); < позовавайки се на процедурата Istep. Първите две действителни
параметрите са равни на 3. Предаваната действителна променлива k
в процедурата чрез препратка, след като процедурата е приключила
съдържат резултата: 3 в степен 3. >
Writeln ('3 в степен 3 =', к);
pstep (5, 6, k); < достъп до процедурата Istep >
Writeln ('5 в степен 6 =', к);
pstep (7, 4, k); < достъп до процедурата Istep >
Writeln ('7 към мощност 4 =', к);
Тази тема принадлежи към раздела:
Интегрирана среда и композиция на обектите Pascal. Езиков състав
Съдържание . Лекция Интегрирана среда и композиция на Object Pascal . Работа с прозорци Редактиране в Object Pascal.
Какво ще направим с получения материал:
Всички теми в този раздел:
Работа с прозорци
Почти цялата работа в средата Object Pascal се извършва в прозорци. Прозорецът е правоъгълна област на екрана, която можете да премествате, преоразмерявате, припокривате, затваряте и отваряте. Активен