double arrow

Выражения, операнды, операции



Тема 11

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

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

Операции – это действия, которые выполняются над операндами. Операции бываю унарными и бинарными. Унарная операция относится к одному операнду, и ее знак записывается перед операндом, например, - x. Бинарная операция выражает отношение между двумя операндами, и знак ее записывается между операндами, например, x + y.

Круглые скобки используются для указания порядка выполнения операций.

Если в операциях используется несколько данных, то их типы должны быть либо идентичными, либо совместимыми.




В зависимости от типов операций и операндов выражения могут быть арифметическими, логическими и строковыми.

Арифметические выражения (АВ). Результатом выполнения АВ является число, тип которого зависит от типов операндов, составляющих это выражение. В АВ можно использовать числовые типы (целочисленные и вещественные), арифметические операции и функции, возвращающие числовое значение.

Тип значения АВ определяется типом операндов и операциями. Если в операции участвуют целочисленные операнды, то результат операции также будет целочисленного типа. Если хотя бы один из операндов принадлежит к вещественному типу, то результат также будет вещественным. Исключением является операция деления, результат которой всегда вещественный.

Унарные арифметические операции + (Сохранение знака) и (Отрицание знака) относятся к знаку числа и не меняют типа числа.

Примеры. Пусть в программе есть строки:

var a, b, c, d: integer; x, y: real;

. . .

a:=40; b:=13 ;

c:= a div b; d:= a mod b; //c=3, d=1

y:=sin(a) + b/exp(x) - 12.5; // y=sin a + b/ e x – 12,5

Над данными целочисленного типа можно выполнять также следующие побитовые (поразрядные) операции:

o Shl– сдвиг влево;



o Shr– сдвиг вправо;

o And– И (арифметическое умножение);

o Or– ИЛИ (арифметическое сложение);

o Xor– арифметическое исключающее ИЛИ;

o Not– Не (арифметическое отрицание).

Особенностью побитовых операций является то, что они выполняются над операндами поразрядно.

Примеры. Пусть в программе есть строки:

var a, b, c, d: integer;

. . .

a:=5; b:=9 ;

c:= Not a; // a= 0101, Not (0101) = 1010 =10 дес .

d:= a And b; // b=1001, 0101 And 1001 = 0001 = 1 дес .

Логические выражения (ЛВ). Результатом выполнения ЛВ является логическое значение Trueили False. Такие выражения чаще всего используются в условных операторах и операторах цикла. Логические выражения могут содержать:

o логические константы Trueи False;

o логические переменные типа Boolean;

o операции сравнения (отношения);

o логические операции;

o круглые скобки.

Для установления отношения между двумя значениями, заданными выражениями, переменными или константами, используются следующие операции сравнения: =,<,>, <=,>=,<>. Операции сравнения выполняются после вычисления соответствующих выражений. Результатом операции сравнения является значение False, если соответствующее отношение не имеет место, и значение Trueв противном случае.

Результат выполнения логических операций при применении их к логическим выражениям (операндам логического типа) будет логического типа (Boolean). Логические операции And, Or, Xor являются бинарными, операция Not– унарной.