Выражения, операнды, операции
Тема 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– унарной.