ОпределениеПеременными называются параметры программы, значения которых изменяются во время выполнения программы. Все переменные, используемые в программе, должны быть определены с указанием типов. Переменные определяются в:
- разделе объявления переменных программы;
- разделе объявления переменных подпрограммы;
- разделе объявления переменных модуля;
- заголовке подпрограммы.
Раздел объявления переменных начинается зарезервированным словом var, за которым следуют объявления конкретных переменных, состоящие из имени переменной (имени через запятую), двоеточия и типа переменной (переменных). Каждое объявление завершается точкой с запятой.
var
<список переменных 1>:<тип 1>;
………………………………………...
<список переменных N>:<тип N>;
В разделе объявления переменных наряду с предопределенными типами можно использовать типы, объявленные в разделе объявления типов, а также новые, вводимые только для конкретных переменных.
Описание переменной должно содержать два элемента: имя переменной и её тип. Имя задается идентификатором.
Пример
var
a: integer; {стандартный (предопределенный) целый тип }
index: 0…5; { тип переменной Index задан типом-диапазоном,
включающим целые числа от 0 до 5}
s: Char; {стандартный (предопределенный) символьный тип }
Semaphore: (Opened, Closed);{тип переменной Semaphore задан путем
перечисления всех возможных
значений (двух), которые обозначены
идентификаторами Opened и Closed}
Пример
var
x, y, z: real;
Ind 1, Ind 2: 1…100;
Det 1, Det 2, Det 3: (Wood, Steel, Glass);
Синтаксис описания переменной не позволяет задать её начальное значение. Для задания затем в программе с помощью оператора присваивания устанавливается её начальное значение (недостаток Турбо Паскаля, который часто ведёт к появлению ошибок, связанных с использованием неинициированных переменных).
Каждая переменная, описанная в блоке, должна указываться в описании не более одного раза.
Пример
type
Index = 1…100;
Det = (Wood, Steel, Glass);
var
x, y, z: real;
Ind 1, Ind 2: Index;
Det 1, Det 2, Det 3: Det;
В заголовке подпрограммы при определении переменных можно использовать лишь стандартный или ранее определенный тип.
Пример
type
Operat = (Plus, Minus, Multiply, Divide);
var
x, y, z: real; {предопределенный тип}
i, y, k: integer;
Operator: Operat; {ранее определенный тип}
Digit: 0…9; {объявление нового типа}
Переменные, объявленные не в подпрограмме, называются глобальными, так как они доступны во всех частях программы, в том числе и в подпрограмме.
Переменные, объявленные в подпрограмме называются локальными, то есть они доступны только этой подпрограмме.
Глобальные переменные постоянно располагаются в памяти, локальные размещаются в стеке лишь на время выполнения подпрограммы, затем область стека освобождается.