Переменные (PascalABC.NET)

Материал из Информационная безопасностя
Перейти к навигации Перейти к поиску

Величины, значение которых разрешено изменять в процессе выполнения программы называются переменными. Каждой переменной программист назначает имя (идентификатор), по которому затем обращается к ней. Тут все, как в алгебре. Каждая переменная имеет тип, который определяет тип хранимого в ней значения. Например, основные числовые типы данных это integer и real.

Перед тем, как первый раз использовать переменную, ее необходимо описать, дав возможность компилятору установить тип этой переменной. Ведь именно тип определяет, какой объем памяти нужно отвести для хранения значений переменной и какой код нужно строить при работе с этими значениями.

PascalABC.NET рекомендует описывать переменные непосредственно перед их использованием, а не в отдельном разделе описания переменных, как это требовалось в базовом Паскале. Переменные, описанные в некотором блоке, за его пределами не существуют.

Описание переменной имеет вид

var ИмяПеременной: тип; 

Если нужно описать несколько переменных одного типа, их имена перечисляются списком через запятую:

var ИмяПеременной1, ИмяПеременной2, … ИмяПеременнойN: тип;

При описании переменной можно присвоить ей начальное значение (это называется инициализацией), но лишь одной для каждого var:

var Имя переменной: тип := значение;

Конструкция := в языке Паскаль носит название знака операции присваивания. Она понимается следующим образом: следует вычислить значение выражения, помещенного справа от знака операции присваивания и поместить его в переменную, имя которой указано слева от этого знака.

В случаях, когда тип переменной можно установить из указанного или вычисленного значения, PascalABC.NET позволяет делать автовыведение типа. Чтобы его использовать, опустите указание типа в описании переменной, - и тип будет установлен автоматически по типу присваиваемого значения:

var Имя переменной := значение;

Примеры описаний переменных.

1 var a, b, gamma, w15: integer; // описание переменных списком
2 var bt: real; // описание одной переменной
3 var n: integer := 18; // описание, совмещенное с инициализацией
4 var s := 0.0; // описание с автовыведением типа real
5 var MyBytes := $C7; // шестнадцатиричное значение типа integer

Имеется еще одна разновидность описания переменных, объединенного с присваиванием начального значения и автовыведением типов.

var (Имя1, Имя2, … ИмяN) := (Значение1, Значение2, … ЗначениеN);

Здесь переменная Имя1 получает Значение1 (и соответствующий тип), Имя2 получает Значение2 и т.д.