Переменные (PascalABC.NET): различия между версиями
м (Безуглов Сергей переименовал страницу Переменные (PascalABC.NET) в Переменные и арифметические операции (PascalABC.NET) без оставления перенаправления) |
|||
(не показаны 2 промежуточные версии этого же участника) | |||
Строка 1: | Строка 1: | ||
− | |||
− | |||
Величины, значение которых разрешено изменять в процессе выполнения программы называются переменными. Каждой переменной программист назначает имя (идентификатор), по которому затем обращается к ней. Тут все, как в алгебре. Каждая переменная имеет тип, который определяет тип хранимого в ней значения. Например, основные числовые типы данных это integer и real. | Величины, значение которых разрешено изменять в процессе выполнения программы называются переменными. Каждой переменной программист назначает имя (идентификатор), по которому затем обращается к ней. Тут все, как в алгебре. Каждая переменная имеет тип, который определяет тип хранимого в ней значения. Например, основные числовые типы данных это integer и real. | ||
Строка 32: | Строка 30: | ||
Имеется еще одна разновидность описания переменных, объединенного с присваиванием начального значения и автовыведением типов. | Имеется еще одна разновидность описания переменных, объединенного с присваиванием начального значения и автовыведением типов. | ||
var (Имя1, Имя2, … ИмяN) := (Значение1, Значение2, … ЗначениеN); | var (Имя1, Имя2, … ИмяN) := (Значение1, Значение2, … ЗначениеN); | ||
− | Здесь переменная Имя1 получает Значение1 (и соответствующий тип), Имя2 получает Значение2 и т.д. | + | Здесь переменная Имя1 получает Значение1 (и соответствующий тип), Имя2 получает Значение2 и т.д. |
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− |
Текущая версия на 11:42, 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 и т.д.