3. Типы данных
21
Например
:
 Succ(Friday) = Saturday, Pred(White) = Blue.
 В случаях, когда порядковый номер полученного результата выходит из
интервала [0, n], операции над объектами являются неопределенными или приводят к
ошибке (см. п. 9).
3.1.2. иогический тип
иогический тип формально описывается так:
type boolean = (false, true);
Поэтому все функции, определенные для перечисляемого типа, можно
применять и для логического типа. Кроме того, над переменными логического типа
определены и другие операции:
*
NOT - Отрицание - логическое 'не';
*
AND - Конъюнкция - логическое 'и';
*
OR - Дизъюнкция - логическое 'или';
*
XOR - Сумма по модулю 2 - исключающее 'или'.
Необходимо обратить внимание на то, что объект логического типа - это не
только переменная или константа типа BOOLEAN, но и любое выражение типа
BOOLEAN. Результат выполнения этих операций тоже логического типа.
Например:  55 < 77 = true
В Pascal-е принят следующий приоритет операций:
Самый высокий:
NOT и функции
*, /, div, mod, and, &
+, -, OR, |, XOR
Самый низкий:
=, <>, <, <=, >, >=, in
Операции одинакового приоритета выполняются слева направо. Если не
использованы скобки, то операции выполняются в порядке убывания их приоритетов.
Например:
not P and Q
=
(not P) and Q
P <= Q and R
=
P <= (Q and R)
A = B and C <= D
=
(A = (B and C)) <= D
Последний пример, обычно, считается ошибкой так, как имеется в виду совсем
другое: (A = B) and (C <= D).
В Pascal-е нельзя записывать двухсторонное неравенство. Например, вместо 0 <
X < 22 следует записать (0 < X) and (X < 22).
В UniPascal-е вычисление логического выражения прекращается сразу после
получения результата. Например, если нужно вычислить выражение P AND Q и значение
P = FALSE, то Q не будет вычисляться, потому что значение выражения уже известно -
FALSE.
3.1.3. Целые типы
В UniPascal-е есть несколько разных целых типов, представляющих целые числа
в разных диапазонах. Все они совместимы в интервале их пересечения.
<<  <  GO  >  >>

Вернуться к началу сайта