Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Высокоуровневые методы информатики и программир...docx
Скачиваний:
25
Добавлен:
12.11.2019
Размер:
6.53 Mб
Скачать

1.2.4. Логические поразрядные операции

Результат логической операции над целыми числами есть целое число, биты которого формируют из битов операндов по правилам, указанным в таблице истинности (п.1.2.3).

And ‑ логическое умножение (63 And 16 =16).

Or ‑ логическое сложение (4 Or 2 =6).

Xor ‑ исключающее или (12 Xor 22 =26).

X Shl N ‑ циклический сдвиг влево на N позиций числа X (2 Shl 7 =256). Умножение числа на два в степени N.

X Shr N ‑ циклический сдвиг вправо на N позиций числа X (90 Shr 2 =22). Деление числа на два в степени N.

1.2.5. Операции со строками

Для строк применимы операции сравнения и операция сцепления (кон­катенации) двух строк или символов (+). Если одна из строк типа WideChar, то и вторая строка должна быть того же типа. Если обе строки ко­рот­кие, то и результат сцепление будет короткой строкой и может быть усечен до 255 символов.

1.2.6. Операции над множествами

A*B ‑ пересечение множеств А и В: результат содержит элементы, общие для обоих множеств.

A+B ‑ объединение множеств А и В: результат содержит элементы первого множества и недостающие элементы из второго множества.

A‑B ‑ разность множеств А и В: результат содержит элементы из первого множества, которые отсутствуют во втором множестве.

A=B ‑ равенство множеств А и В: результат True, если все элементы первого множества есть во втором, и наоборот, иначе ‑ результат False.

A<>B ‑ неравенство множеств А и В: результат True, если есть хотя бы один элемент множества, отсутствующий в другом.

A<=Bесли все элементы множества A есть во множестве B, то результат True, иначе ‑ False.

A>=Bесли множества B есть подмножество A, то результат True, иначе - False.

A In B ‑ если элемент А из множества В, то возвращается True, иначе ‑ False (If 9 In [1,3,5,8,9,0,123,56] Then ... Else ...).

Include(S,I) ‑ процедура включает новый элемент I в множество S.

Exclude(S,I) ‑ процедура исключает элемент I из множества S.

1.2.7. Операции с указателями

P=Q равно True, если оба указателя указывают на один адрес.

P<>Q равно True, если оба указателя указывают на разные адреса.

P+I возвращает указатель на адрес, отстоящий от P на I символов для указателя на символ (строку).

PI возвращает указатель на адрес, предшествующий P на I символов.

PQ определяет число символов между указателями на символы P и Q.

P^ возвращается значение переменной по адресу P (разадресация, разы­ме­но­вание указателя).

@X или Addr(X) ‑ возвращает адрес операнда X: переменной, функции или процедуры (адрес входа), метода.

1.2.8. Порядок вычисления выражений

При вычислении выражения приоритет вычислений определяется скобками, а при их отсутствии ‑ приоритетами операций в порядке убывания приоритета: 1) @, Not 2) *, /, Div, Mod, And, Shl, Shr, As

3) +, ‑, Or, Xor 4) =, <>, <, >, <=, >=, In, Is. При равенстве приоритета, операции выполняются слева направо. Операции сравнения нужно заключать в круглые скобки, если их результаты используются в логических операциях.

1.2.9. Преобразование типов

Неявное преобразование типов операндов производится автоматически компилятором в выражениях, составленных из операндов различных типов; при этом операнд переводится в соответствующий тип, имеющий больший диапазон значений.

Явное преобразование типов реализуется с использованием функций преобразования (Int, Ord, Trunc, Round, Chr, Ptr) или применением стандартного типа или типа, определенного пользователем как имени функции преобразования к выражению преобразуемого типа.

Пример: A=LongInt(B)+1211.

Р екомендуется, чтобы операнды были одного типа, а для научно‑ тех­нических задач удобным является вещественный тип.