Как обозначается команда присваивания в pascal abc
Перейти к содержимому

Как обозначается команда присваивания в pascal abc

  • автор:

Операторы. Оператор присваивания в Паскаль

Оператором называется предложение языка программирования, задающее полное описание некоторого, необходимого для исполнения, действия.

Последовательность операторов представляет собой основную часть программы на языке Паскаль. Разделителем операторов в программе является символ «точка с запятой».

Оператор присваивания

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

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

  • k := k + 10;

Рассмотрим работу оператора присваивания в данном примере пошагово:

  1. Из ячейки памяти с именем k выбирается текущее значение.
  2. К текущему значению прибавляется 10.
  3. Результат записывается в ту же самую ячейку памяти (предыдущее значение восстановить после новой записи невозможно!)

ВНИМАНИЕ: выражение должно быть совместимо по типу данных с переменной.

В PascalABC.NET определены также операторы присваивания со значками +=, -=, *=, /= . Действие этих операторов заключается в изменении значения переменной в правой части оператора с учетом обозначенной арифметической операции (перед знаком равенства) и значения в правой части. Например:

  • k += 100;
  • n -= 8;
  • m *= 10;
  • b /= 2;

Copyright © 2014-2021, Урок информатики
Все права защищены

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

В PascalABC.NET можно описывать переменные внутри составного оператора begin-end в специальном операторе описания переменной. Такие описания называются внутриблочными.

Внутриблочное описание имеет одну из форм:

var список имен : тип ;

var имя : тип := выражение ;

var имя : тип = выражение ; // Для совместимости с Delphi

var имя := выражение ;

Имена в списке перечисляются через запятую. Например:

begin
var
a1,a2,a3: integer;
var n: real := 5;
var s := ‘ ‘;
.
end
.

В последнем случае тип переменной автовыводится по типу выражения в правой части. Автовыведение типа активно используется при инициализации переменной вызовом конструктора или функции. возвращающей объект:

begin
var
l := new List;
var a := Seq(1,3,5); // тип a выводится по типу возвращаемого значения Seq: array of integer
end.

Кортежное присваивание с описанием переменных

Кортежное присваивание (распаковку кортежа в переменные) можно совмещать с описанием переменных:

var t := (1,2);
(var a, var b) := (1,2);

var (a,b) := (1,2);

Распаковка кортежа в переменные часто используется при возвращении функцией кортежа:

function SP(a,b: real) := (a*b,2*(a+b));
.
var (S,P) := SP(2,3);

Инициализация лямбда-выражением

Автовыведение типа при описании невозможно при инициализации переменной лямбда-выражением:

// var f := x -> x*x; // так нельзя!
var f : Func := x -> x*x;

Внутриблочные описания используются чтобы не захламлять раздел описаний описанием вспомогательных переменных. Кроме этого, внутриблочные описания позволяют вводить переменные именно в тот момент когда они впервые потребовались. Оба этих фактора существенно повышают читаемость программы.

Выражения и операции: обзор

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

В PascalABC.NET имеются следующие операции: @ , not , ^ , * , / , div , mod , and , shl , shr , + , — , or , xor , = , > , < , <>, = , as , is , in , а также операция new и операция приведения типа. Операции @ , — , + , ^ , not , операция приведения типа и операция new являются унарными (имеют один операнд), остальные являются бинарными (имеют два операнда), операции + и — являются и бинарными и унарными.

Справка по операциям PascalABC.NET

  • Арифметические операции
  • Логические операции
  • Операции сравнения
  • Строковые операции
  • Побитовые операции
  • Операции с множествами
  • Операция явного приведения типов
  • Операции is и as
  • Операция new
  • Операция @ получения адреса
  • Операции с указателями
  • Операции typeof и sizeof
  • Срезы
  • Условная операция

Порядок выполенения операций определяется их приоритетом. В языке PascalABC.NET имеется четыре уровня приоритетов операций, задаваемых таблицей приоритетов.

Ряд операций для определяемых пользователем типов можно перегружать. Можно также перегружать операции для .NET-типов если они не были перегружены.

Оператор присваивания

В качестве переменной может быть простая переменная, разыменованный указатель, переменная с индексами или компонент переменной типа запись. Символ := называется значком присваивания. Выражение должно быть совместимо по присваиванию с переменной.

Оператор присваивания заменяет текущее значение переменной значением выражения.

i := i + 1; // увеличивает значение переменной i на 1

В PascalABC.NET определены также операторы присваивания со значками += , -= , *= , /= . Для числовых типов действие данных операторов описано здесь. Кроме того, использование операторов += и *= для строк описано здесь и операторов += , -= и *= для множеств — здесь. Их действие для процедурных переменных описано здесь.

Операторы += , -= , *= , /= имеют следующий смысл: a #= b означает a := a # b , где # — знак операции + , — , * , / .

a += 3; // увеличить a на 3
b *= 2; // увеличить b в 2 раза

Опертор /= неприменим, если выражение слева — целое.

Операторы += , -= , *= , /= могут также использоваться со свойствами классов соответствующих типов в левой части.

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *