Переменные (PascalABC.NET): различия между версиями

Материал из Информационная безопасностя
Перейти к навигации Перейти к поиску
м (Безуглов Сергей переименовал страницу Переменные (PascalABC.NET) в Переменные и арифметические операции (PascalABC.NET) без оставления перенаправления)
 
(не показаны 2 промежуточные версии этого же участника)
Строка 1: Строка 1:
{{TOCRight}}
 
== Переменные ==
 
 
Величины, значение которых разрешено изменять в процессе выполнения программы называются переменными. Каждой переменной программист назначает имя (идентификатор), по которому затем обращается к ней. Тут все, как в алгебре. Каждая переменная имеет тип, который определяет тип хранимого в ней значения. Например, основные числовые типы данных это 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 и т.д.
 
 
== Арифметические операции ==
 
Числовые литералы и переменные в арифметическом выражении могут связываться между собой при помощи знаков арифметических операций. При этом образуются конструкции вида:
 
A ЗнакОперации В
 
ЗнакОперации В
 
 
 
Здесь A и B называются операндами, а знак операции принято называть операцией. Если операция используется с двумя операндами, она называется бинарной. Существуют также операции с одним операндом, называемые унарными. Есть также операция с тремя операндами, она называется тернарной, но в PascalABC.NET используется термин условная операция.
 
 
 
К бинарным арифметическим операциям относятся сложение, вычитание, умножение, деление, возведение в степень, деление нацело и получение остатка от целочисленного деления. Арифметическая унарная операция фактически одна – изменение знака числа, для чего перед операндом указывается знак минус. Может быть также указан и плюс, но он не выполняет никаких действий. Рассмотрим пример.
 
<syntaxhighlight lang="pascal" line>
 
##
 
var (a, b) := (30, 8);
 
var c := a + b;
 
var d := c * a + 2 * b;
 
var (e, f) := (a div b, a mod b);
 
var g := -e + f;
 
Print(a, b, c, d, e, f, g)
 
</syntaxhighlight>
 

Текущая версия на 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 и т.д.