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