Выражения, операнды, операции
При выполнении программы осуществляется обработка данных, в ходе которой с помощью выражений вычисляются и используются различные значения. Выражение представляет собой конструкцию, определяющую состав данных, операции и порядок выполнения операций над данными. Выражение состоит из операндов, знаков операций и круглых скобок. В простейшем случае выражение может состоять из одной переменной или константы. Тип значения выражения определяется типом операндов и составом выполняемых операций. Операнды представляют собой данные, над которыми выполняются действия. В качестве операндов могут использоваться константы, переменные, элементы массивов и функции. Операции – это действия, которые выполняются над операндами. Операции бываю унарными и бинарными. Унарная операция относится к одному операнду, и ее знак записывается перед операндом, например, - 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 дес . Примечание 1. Кроме перечисленных побитовых операций существуют одноименные логические операции, применяемые к данным логического типа. Примечание 2. В Object Pascal отсутствует операция возведения в степень. Для возведения числа (выражения) в целую степень можно применять многократное умножение на данное число в цикле. Возведение положительного ненулевого числа x в любую степень a можно выполнить с помощью выражения exp (a * Ln (x)). Примечание 3. К данным целочисленного типа применима также функция Odd (x): Boolean, которая анализирует четность выражения x. Задание 4. а). a=12, b=22, a and b =? b). a=5, b=9, a or b =? c). a=12, b=22, a or b =? Логические выражения (ЛВ). Результатом выполнения ЛВ является логическое значение True или False. Такие выражения чаще всего используются в условных операторах и операторах цикла. Логические выражения могут содержать:
o логические константы True и False; o логические переменные типа Boolean; o операции сравнения (отношения); o логические операции; o круглые скобки. Для установления отношения между двумя значениями, заданными выражениями, переменными или константами, используются следующие операции сравнения: =, <, >, <=, >=, <>. Операции сравнения выполняются после вычисления соответствующих выражений. Результатом операции сравнения является значение False, если соответствующее отношение не имеет место, и значение True в противном случае. Примечание. Приоритет операций сравнения ниже, чем приоритет логических операций. Поэтому, если логическое выражение, содержащее операцию сравнения, является операндом логической операции, его нужно заключит в круглые скобки. Результат выполнения логических операций при применении их к логическим выражениям (операндам логического типа) будет логического типа (Boolean). Логические операции And, Or, Xor являются бинарными, операция Not – унарной.
Воспользуйтесь поиском по сайту: ©2015 - 2024 megalektsii.ru Все авторские права принадлежат авторам лекционных материалов. Обратная связь с нами...
|