Выражения и операции языка Паскаль

 

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

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

Примеры:

Y

(a + b) / c

sin (t)

a > 2

not Flag and (a = b)

NIL

 

Операции

В Турбо Паскале определены следующие операции:

– унарные not, @;

– мультипликативные *, /, div, mod, and, shl, shr;

– аддитивные +, -, or, xor;

– отношения =, <>, <, >, <=, >=, in.

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

Правила использования операций с операндами различного типа приводятся в табл. 3.

 

Таблица 3

Правила использования операций

Операция Действие Тип операндов Тип результата
not Отрицание Логический Логический
not То же Любой целый Тип операнда
@ Адрес Любой Указатель
* Умножение Любой целый Наименьший целый
* То же Любой вещественный Extended (или Real)

Продолжение табл. 3

* Пересечение множеств Множественный Множественный
/ Деление Любой вещественный Extended (или Real)
div Целочисленное деление Любой целый Наименьший целый
mod Остаток от деления То же То же
and Логическое И Логический Логический
and То же Любой целый Наименьший целый
shl Левый сдвиг То же То же
shr Правый сдвиг То же То же
+ Сложение То же То же
+ То же Любой вещественный Extended (или Real)
+ Объединение множеств Множественный Множественный
+ Сцепление строк Строковый Строковый
- Вычитание Любой целый Наименьший целый
- То же Любой вещественный Extended (или Real)
or Логическое ИЛИ Логический Логический
or То же Любой целый Наименьший целый
= Равно Любой простой или строковый Логический
<> Не равно То же То же
< Меньше Логический Логический
<= Меньше или равно То же То же

 

Окончание табл. 3

> Больше То же То же
>= Больше или равно То же То же

 

При действии с вещественным типом одним из операндов может быть значение любого целого типа. Результат операций имеет указанный в таблице тип Extended только для установленного в среде Турбо Паскаля режима генерации кода, рассчитанного на арифметический сопроцессор или на его эмуляцию. Если этот режим не установлен, результат будет иметь значение типа Real.

В Турбо Паскале имеются следующие логические операции:

not – логическое НЕ;

and – логическое И;

or – логическое ИЛИ;

xor – исключающее ИЛИ.

Логические операции применимы к операндам целого и логического типов. Если операнды – целые числа, то результат логической операции есть тоже целое число, биты которого (двоичные разряды), формируются из битов операндов по правилам, приведенным в табл. 4.

 

Таблица 4

Логические операции над данными типа INTEGER

Операнд 1 Операнд 2 not and or xor
- - - -
- - - -
-
-
-
-

 

 

К логическим также относятся операции сдвига, применяемые к целым числам:

i shl j – сдвиг содержимого i на j разрядов влево – освободившиеся младшие разряды заполняются нулями;

i shr j – сдвиг содержимого i на j разрядов вправо – освободившиеся старшие разряды заполняются нулями.

i и j – выражения целого типа.

Логические операции над логическими данными дают результат логического типа согласно правилам, указанным в табл. 5.

Таблица 5

Логические операции над данными логического типа

Операнд 1 Операнд 2 not and or xor
True - False - - -
False - True - - -
False False - False False False
False True - False True True
True False - False True True
True True - True True False

 

Операция отношения in применяется к двум операндам. Первым (левым) операндом должно быть выражение любого порядкового типа, вторым – множество, состоящее из элементов того же типа, или идентификатор множественного типа. Операция дает true, если левый операнд принадлежит множеству.

 








Дата добавления: 2017-01-29; просмотров: 1098;


Поиск по сайту:

При помощи поиска вы сможете найти нужную вам информацию.

Поделитесь с друзьями:

Если вам перенёс пользу информационный материал, или помог в учебе – поделитесь этим сайтом с друзьями и знакомыми.
helpiks.org - Хелпикс.Орг - 2014-2024 год. Материал сайта представляется для ознакомительного и учебного использования. | Поддержка
Генерация страницы за: 0.007 сек.