Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
delphi.pdf
Скачиваний:
191
Добавлен:
24.02.2016
Размер:
6.84 Mб
Скачать

type

TFileName = type string;

Различие между таким способом создания типа и обычным (без слова type) проявится при изучении массивов, записей и классов. Чтобы подготовленный читатель уже сейчас понял, в чем оно состоит, забежим вперед и приведем поясняющий пример (новичкам советуем пропустить пример и вернуться к нему позже после изучения массивов):

type

TType1 = array [1..10] of Integer; TType2 = type TType1;

var

A:TType1;

B:TType2; begin

B := A; // Ошибка! end.

Впримере переменные A и B оказываются несовместимы друг с другом изза слова type в описании типа TType2. Если же переменные A и B принадлежат простым типам данных, то оператор присваивания будет работать:

type

TType1 = Integer; TType2 = type TType1;

var

A:TType1;

B:TType2; begin

B := A; // Работает end.

2.4.Операции

2.4.1. Выражения

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

(X + Y) / 2;

54

X, Y, 2 — операнды; '+', '/' — знаки операций; скобки говорят о том, что сначала выполняется операция сложения, потом — деления.

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

Операции в языке Delphi подразделяются на арифметические, операции отношения, логические (булевские), строковые, операцию получения адреса и другие. Выражения соответственно называются арифметическими, отношения, булевскими, строковыми и т.д. в зависимости от того, какого типа операнды и операции в них используются.

2.4.2. Арифметические операции

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

Операция

Действие

Тип операндов

Тип результата

+

Сложение

Целый, вещественный Целый, вещественный

Вычитание

Целый, вещественный Целый, вещественный

*

Умножение

Целый, вещественный Целый, вещественный

/

Деление

Целый, вещественный Вещественный

div

Целочисленное деление

Целый

Целый

mod

Остаток от деления

Целый

Целый

Таблица 2.5. Арифметические операции

Операции сложения, вычитания и умножения соответствуют аналогичным операциям в математике. В отличие от них операция деления имеет три формы: обычное деление (/), целочисленное деление (div), остаток от деления (mod). Назначение каждой из операций станет понятным после изучения следующих примеров:

Выражение

Результат

6.8

– 2

4.8

7.3

* 17

124.1

–(5 + 9)

–14

–13.5 / 5

–2.7

55

–10 div 4

–2

27 div 5

5

5 div 10

0

5 mod 2

1

11 mod 4

3

–20 mod 7

–6

–20 mod 7

–6

2.4.3. Операции отношения

Операции отношения выполняют сравнение двух операндов и определяют, истинно значение выражения или ложно (таблица 2.6). Сравниваемые величины могут принадлежать к любому порядковому типу данных. Результат всегда имеет булевский тип.

Эта группа операций специально разработана для реализации алгоритмических элементов типа “больше”, “больше или равно” и т.п., которые имеются практически в каждой программе.

Операция

Действие

Выражение

Результат

=

Равно

A = B

True, если A = B

<>

Не равно

A <> B

True, если A < B или A > B

<

Меньше

A < B

True, если A < B

>

Больше

A > B

True, если A > B

<=

Меньше или равно

A <= B

True, если A < B или A = B

>=

Больше или равно

A >= B

True, если A > B или A = B

Таблица 2.6. Операции отношения

 

Типичные примеры операций отношения:

Выражение Результат

 

 

123 = 132

False

 

 

123 <> 132

False

 

 

17 <= 19

True

 

 

17 > 19

False

 

 

7 >= 7

True

 

 

2.4.4. Булевские операции

56

Результатом выполнения логических (булевских) операций является логическое значение True или False (таблица 2.7). Операндами в логическом выражении служат данные типа Boolean.

Операция

Действие

Выражение

A

B

Результат

not

Логическое

not A

TrueFalse

 

FalseTrue

отрицание

 

 

 

 

 

 

and

Логическое И

A and B

TrueTrueFalseFalse

TrueFalseTrueFalse

TrueFalseFalseFalse

or

Логическое

A or B

TrueTrue

TrueFalseTrueFalse

TrueTrueTrueFalse

ИЛИ

 

FalseFalse

 

 

 

 

 

xor

Исключающее

A xor B

TrueTrue

TrueFalseTrueFalse

FalseTrueTrueFalse

 

ИЛИ

 

 

FalseFalse

 

 

Таблица 2.7. Логические операции

 

 

 

Результаты выполнения типичных логических операций:

 

Выражение

Результат

 

 

 

not (17 > 19)

True

 

 

 

 

(7 <= 8) or (3 < 2)

True

 

 

 

 

(7 <= 8) and (3 < 2)

False

 

 

 

 

(7 <= 8) xor (3 < 2)

True

 

 

 

 

2.4.5. Операции с битами

Если операнды в булевской операции имеют целочисленный тип, то операция выполняется над битами операндов и называется побитовой. К побитовым операциям также относятся операции сдвига битов влево (shl) и вправо (shr).

Операция

Действие

Тип операндов

Тип результата

not

Побитовое отрицание

Целый

Целый

and

Побитовое И

Целый

Целый

or

Побитовое ИЛИ

Целый

Целый

xor

Побитовое исключающее ИЛИ Целый

Целый

shl

Сдвиг влево

Целый

Целый

shr

Сдвиг вправо

Целый

Целый

Таблица 2.8. Побитовые операции

Примеры побитовых операций:

Выражение Результат

57

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]