Логические данные используются при проверки правильности условия и при сравнении величин. Результат может оказаться истинным TRUE (истина) или ложным FALSE (ложно). Значения занимают 1 байт памяти.
Для сравнения величин используются операции отношения: <, <=, =, <>, >=, >, причем FALSE <TRUE. Например: 5>3 дает истину (true), 5=3 – ложь (false).
Определены функции преобразования:
ORD(FALSE)=0 ORD(TRUE)=1
Применимы функции PRED (S) и SUCC(S):
SUCC(FALSE)= TRUE PRED(TRUE)=FALSE
SUCC(TRUE)= неопределенно PRED(FALSE)=TRUE
Определены логические операции: AND,OR, NOT
OR или AND выполняются над двумя величинами, NOT – над одной.
операция | действие | выражение |
NOT | Логическое отрицание | Not(A)_ |
AND | Логическое умножение | (А)And(B) |
OR | Логическое сложение | (А)Or(b) |
A | B | (A) and (B) | (A) or (B) | Not (A) | Not (B) |
Результат операции OR – истина, если хотя бы одна из величин имеет значение истина. Результат операции AND – истина, если истины обе величины.
4.6 Перечисляемый тип.
Перечисляемый тип определяется как упорядоченный набор идентификаторов, заданных путем их перечисления. При этом список идентификаторов, разделенных запятой, указывается в круглых скобках.
Например: перечисляемый тип DAY(день недели) содержит идентификаторы Monday (понедельник),Tuesday (вторник),..., Sunday (воскресенье). Объявление перечисляемого типа DAY будет выглядеть следующим образом:
Type
Day = (Monday, Tuesday, Wednesday, Thursday, Friday, Saturday, Sunday);
Каждое значение в списке получает свой порядковый номер, начиная с нуля, поэтому к этому типу применима функция Ord
Ord (Monday)=0, Ord (Tuesday)=1 и т.д.
Существенным недостатком перечисляемых типов данных является то, что их значения не могут вводится оператором ReadLn и выводится оператором WriteLn. Чтобы устранить этот недостаток, приходится объявлять дополнительные служебные переменные.
4.7 Интервальный тип.
Интервальный тип данных определяется посредством задания подмножества значений одного из ранее определенных типов. Диапазон значений переменной интервального типа задается с помощью любого простого типа данных за исключением вещественного.
При задании диапазона указывается наименьшее и наибольшее значения, которые может принимать переменная соответствующего типа (обе константы должны быть одного типа). Так с помощью объявления:
TYPE
MyType = 0..1000; мы объявили новый тип с диапазоном значений от 0 до 1000.
При выполнении программы попытка присвоить такой переменной значение, не входящее в интервал допустимых значений, квалифицируется как ошибка и приводит к прекращению работы программы и выдаче соответствующего сообщения.