Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Паскаль / tp3 / tp3 / 6.doc
Скачиваний:
28
Добавлен:
10.12.2013
Размер:
110.59 Кб
Скачать

15 { Константа без знака }

(Х+Y+Z) { подвыражение }

SIN(Х/2) { вызов функции }

['0..''9','А'..'Z'] { описатель множества }

not Done { отрицание булевской переменной }

сhar(Digit+48) { назначение типа }

Термы используются в операциях умножения на множитель:

┌───────────┐

терм ─────────────────│ множитель │───────┬───────────────────

‑ └───────────┘ │

│ ╒═══╕ │

├──────────────┤ * │──────────┤

│ ╘═══╛ │

│ ╒═══╕ │

├──────────────┤ / │──────────┤

│ ╘═══╛ │

│ ╒═══╕ │

├──────────────┤div│──────────┤

│ ╘═══╛ │

│ ╒═══╕ │

├──────────────┤mod│──────────┤

│ ╘═══╛ │

│ ╒═══╕ │

├──────────────┤and│──────────┤

│ ╘═══╛ │

│ ╒═══╕ │

├──────────────┤shl│──────────┤

│ ╘═══╛ │

│ ╒═══╕ │

└──────────────┤shr│──────────┘

╘═══╛

Приведем несколько примеров термов:

Х*Y

Z/(1-Z)

Done or Error

(Х <= Y) and (Y < Z)

В простых выражениях к термам применяются операции сложения и присваивания знака:

┌──────┐

простое выражение────────────────────────│ терм ├───┬─────────

‑ └──────┘ │

│ │

│ ╒═══╕ │

├─────┤ + │───┤

│ ╘═══╛ │

│ ╒═══╕ │

├─────┤ - │───┤

│ ╘═══╛ │

│ ╒═══╕ │

├─────┤ or│───┤

│ ╘═══╛ │

│ ╒═══╕ │

└─────┤xor│───┘

╘═══╛

Приведем несколько примеров простых выражений:

Х+Y

Hue1 + Hue2

I*J + 1

В выражениях к простым выражениям применяются операции отношения.

Приведем некоторые примеры выражений:

Х = 1.5

Done <> Error

(I < J) = (J < К)

C in Huel

┌───────────────────┐

выражение─│ простое выражение ├─┬───────────────────────────────

└───────────────────┘ │ ‑

│ ╒═══╕ ┌───────────┐ │

├─│ < ├──────│ простое ├─┘

│ ╘═══╛ ‑ │ выражение │

│ ╒═══╕ │ └───────────┘

├─│ <=├─│

│ ╘═══╛ │

│ ╒═══╕ │

├─│ > ├─│

│ ╘═══╛ │

│ ╒═══╕ │

├─│ >=├─│

│ ╘═══╛ │

│ ╒═══╕ │

├─│ = ├─│

│ ╘═══╛ │

│ ╒═══╕ │

├─│ <>├─│

│ ╘═══╛ │

│ ╒═══╕ │

└─│ in├─┘

╘═══╛

Операции

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

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

В следующей таблице приведены типы операндов и результаты для бинарных и унарных арифметических операций:

Таблица 6.2 Бинарные арифметические операции

───────────────────────────────────────────────────────────

Операция Действие Типы операндов Тип результата

───────────────────────────────────────────────────────────

+ Сложение Целый Целый

Вещественный Вещественный

- Вычитание Целый Целый

Вещественный Вещественный

* Умножение Целый Целый

Вещественный Вещественный

div Деление Целый Вещественный

Вещественный Вещественный

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

деление Целый Целый

Остаток Целый Целый

──────────────────────────────────────────────────────────

Примечание: Операция + используется также, как операция для работы со строками и множествами. Операции +, - и * используются также для операций над множествами.

Таблица 6.3 Унарные арифметические операции

──────────────────────────────────────────────────────────

Операция Действие Тип операнда Тип результата

──────────────────────────────────────────────────────────

+ Сохранение знака Целый Целый

Вещественный Вещественный

- Отрицание знака Целый Целый

Вещественный Вещественный

──────────────────────────────────────────────────────────

Любая операция, включающая операнд, тип которого является подмножеством перечислимого типа, обрабатывается также, как если бы он был перечислимого типа.

Если оба операнда в операциях +, -, *, div или моd являются операндами целого типа, то тип результата будет таким же, как общий тип обоих операндов. (Определение общего типа см. в разделе "Целый тип" в Главе 3).

Если один или более операндов в операциях +, -, или * имеют вещественный тип, то тип результата будет вещественным, если использована директива компилятора {$N-}, или типом с повышенной точностью при использовании директивы компилятора {$N+}.

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

Значение выражения x/y всегда будет вещественного типа (real) или с повышенной точностью (extended), независимо от типов операндов. Если y равно 0, то результат будет ошибочным.

Значение выражение i div j представляет собой математическое частное от i/j, округленное в меньшую сторону до значения целого типа. Если j равно 0, результат будет ошибочным.

Операция mod возвращает остаток, полученный путем деления двух ее операндов, то есть:

i mod j = i - (i div j) * j

Знак результата операции mod будет тем же, что и знак i. Если j равно нулю, то результатом будет ошибка.

Логические операции

Типы логических операций показаны в Таблице 6.4.

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

──────────────────────────────────────────────────────────

Операция Действие Типа операндов Тип результата

──────────────────────────────────────────────────────────

not Отрицание (битовое) Целый Целый

and И (битовое) Целый Целый

or ИЛИ (битовое) Целый Целый

Соседние файлы в папке tp3