Обхват на идентификаторите

Обхват на идентификаторите - Лекция, раздел Програмиране, Интегрирана среда и Композиция на обект Паскал. Процедурите или функциите за езиков състав, както беше казано по-горе, могат да съдържат описание.

Процедурите или функциите, както бе споменато по-горе, могат да съдържат описание на други променливи. Освен това процедурите и функциите могат да съдържат описание на други процедури и функции, а тези, от своя страна, описания на други променливи, процедури и функции и т.н. Това повдига проблема с обхвата на променливите. Нека дадем определение: обхватът на описанието на конкретен идентификатор се нарича негов обхват. Представяме следните правила за определяне на обхвата на идентификатори (променливи).

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 се извършва в прозорци. Прозорецът е правоъгълна област на екрана, която можете да премествате, преоразмерявате, припокривате, затваряте и отваряте. Активен

Азбука и ключови думи
Следните символи се използват в азбуката Object Pascal: · букви от латинската азбука както в горните A . Z, така и в долните a . z случаи; Десетични цифри 0.

Структура на програмата
Всяка програма на езика Object Pascal се състои от две части: част за описание и изпълнителна част. Изпълнителната част започва с ключовата дума begin и завършва с ключовата дума

Тип характер
Наборът от стойности от този тип са символи, подредени според разширения набор от символи ASCII. Типът на тези променливи се определя от ключовата дума Char. Променлива

Реални типове
Object Pascal има пет вградени реални типа: Real, Single, Double, Extended и Comp. Реалните типове се различават по обхвата и точността на стойностите (виж таблицата

Описание на потребителските типове
Има няколко възможности за създаване (описване) на потребителски типове. Потребителските типове са описани в раздела, започващ с ключовата дума type. 1. Пълно съответствие с чл

Ред на операциите
Запис, съдържащ константи, променливи, извиквания на функции и операционни знаци, се нарича израз. В този случай константите, променливите и извикванията на функции се означават с общата дума операнд. В зависимост

Целочислени изрази
В целочислените изрази са разрешени следните операции: + - добавяне; - - изваждане; * - умножение; div - целочислено деление; мод - остатък

Реални изрази
Следните операции са разрешени в изрази от реален тип: + - добавяне; - - изваждане; * - умножение;/- деление. Заедно с истинските операнди

Булеви изрази
Концепцията за булев или булев израз се основава до голяма степен на концепцията за релационни операции. Object Pascal реализира следните операции на връзката: = - равен;

Форматиране на числови стойности
Операторите Write и Writeln предоставят възможност за форматиране на стойностите на изразите от различен тип, както се показват. Форматът за показване на числа се определя от следния ред:

Извеждане на реални стойности в експоненциален формат
Известно е, че всяко реално число може да бъде представено като:, където # е десетична цифра. Такова изображение на числото се нарича

Понятие за процедура и функция
Съгласно принципа на модулност, отделните части на програмата, предназначени за решаване на конкретни малки проблеми, се организират (формализират) под формата на подпрограма. Това позволява същата програма

Описание на някои стандартни процедури и функции
Когато изобразявахме графично алгоритми, често имахме нужда да завършим работата на алгоритъма в различни части от неговото изображение. По същия начин Object Pascal има специален професионалист

Докато Loop
Този цикъл се използва, ако условието за прекратяване на цикъла е известно, но броят на итерациите е неизвестен. Докато го правите;

Едномерни масиви
Описание на едномерните масиви изглежда така: array [] of;

Сортиране на едномерен масив
Сортирането е набор от операции, които подреждат елементите на масив според дадена релационна връзка. Например, във възходящ подреден масив A са изпълнени неравенствата на формата:

Масиви с по-големи размери
Възможна е следната организация на масива: всеки елемент от масива е различен масив. Описанието на масива в този случай може да изглежда така:. масив [. ] на масив .

Константи на масива
Много често има трудности, свързани с въвеждането на елементи на масив, особено по време на отстраняване на грешки. Трябва да въвеждаме големи количества информация няколко пъти. Това може да се избегне, като се опише масив

Описание на функцията Random
Object Pascal има вграден генератор на произволни числа, наречен Random функция. За да го използвате, трябва да свържете модула CRT библиотека. Ако е необходимо на всеки

Използване на произволни числа при работа с масиви
В Pascal масивът е описан предварително, преди да бъде използван и неговата дължина, размер и тип елемент не се променят по време на изпълнението на програмата. Такива масиви се наричат ​​статични. Друг под

Тип низ
Обектните символни низове Pascal имат всички характеристики и свойства на едномерните масиви от символи (. Array. Of Char). Могат да бъдат включени символни масиви

Комплектите
Наборът принадлежи към структурните типове данни. Типът "set" указва интервал от стойности, който е набор от всички подмножества на базовия тип. Основният тип е изброен тип, различен от wo

Описание на функцията и процедурата
Заглавката на функцията се записва по следния начин: Функция ():;

Понятието за формални и действителни параметри
Когато работите с функции и процедури, трябва да правите разлика между формални и действителни параметри. Формалните параметри са променливи, използвани при описване на подпрограма в заглавката и f

Методи за предаване на параметри към подпрограма чрез заглавка
Връзката между програмата head (т.е. програмата, която се отнася до друга подпрограма) и подпрограмата (процедура или функция) се осъществява чрез списъка с параметри, посочени в заглавката

Набрани файлове
Типизираният файл се състои от поредица от подобни или идентични компоненти и може да съдържа различен брой от тях (вероятно нито един). Почти всеки тип файлов компонент, но той

Текстови файлове
В DOS текстовите файлове не се различават физически от други, но в Object Pascal разликите са значителни. Елементите на текстовите файлове са символи, обединени в низове, но текстовият файл не е