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

Материал из Информационная безопасностя
Версия от 11:26, 27 апреля 2023; Безуглов Сергей (обсуждение | вклад) (Новая страница: «{{TOCRight}} == Переменные == Величины, значение которых разрешено изменять в процессе выполнен...»)
(разн.) ← Предыдущая | Текущая версия (разн.) | Следующая → (разн.)
Перейти к навигации Перейти к поиску

Переменные

Величины, значение которых разрешено изменять в процессе выполнения программы называются переменными. Каждой переменной программист назначает имя (идентификатор), по которому затем обращается к ней. Тут все, как в алгебре. Каждая переменная имеет тип, который определяет тип хранимого в ней значения. Например, основные числовые типы данных это 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 и т.д.

Арифметические операции

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

A ЗнакОперации В
ЗнакОперации В

Здесь A и B называются операндами, а знак операции принято называть операцией. Если операция используется с двумя операндами, она называется бинарной. Существуют также операции с одним операндом, называемые унарными. Есть также операция с тремя операндами, она называется тернарной, но в PascalABC.NET используется термин условная операция.

К бинарным арифметическим операциям относятся сложение, вычитание, умножение, деление, возведение в степень, деление нацело и получение остатка от целочисленного деления. Арифметическая унарная операция фактически одна – изменение знака числа, для чего перед операндом указывается знак минус. Может быть также указан и плюс, но он не выполняет никаких действий. Рассмотрим пример.

1 ##
2 var (a, b) := (30, 8);
3 var c := a + b;
4 var d := c * a + 2 * b;
5 var (e, f) := (a div b, a mod b);
6 var g := -e + f;
7 Print(a, b, c, d, e, f, g)