Статья: Логический тип данных. Операции сравнения

Логические, или булевские, данные предназначены для хранения логических значений "истина" или "ложь". Логические переменные и константы имеют тип Boolean и занимают в памяти 1 байт. Существует всего две логические константы - TRUE и FALSE. Тип Boolean - это порядковый тип, поэтому для него определены функции Ord, Pred, Succ и процедуры Inc и Dec (впрочем, довольно редко применяемые), причем Ord(FALSE) =0, Ord(TRUE) =1. Прежде чем перейти к логическим операциям, рассмотрим операции сравнения, которых в Паскале существует шесть :

= равно;

<> не равно;

< меньше;

<= меньше или равно;

> больше;

>= больше или равно.

Операции сравнения определены для любых однотипных операндов (числовых, символьных, логических); для числовых данных, так же, как и в случае арифметических операций, сделано исключение - вы можете сравнивать два числовых выражения любых типов, но сравнивать число и символ, число и логическую величину, символ и логическую величину нельзя! Результат операции сравнения есть TRUE или FALSE, в зависимости от того, выполнено или не выполнено условие. Числа сравниваются между собой естественным образом, символы - в соответствии с их номерами, а для логических величин справедливо неравенство FALSE<TRUE. Логических, или булевских, операций в Паскале четыре :

NOT - логическое отрицание;

AND - логическое "и";

OR - логическое "или";

XOR - логическое исключающее "или".

Правила выполнения этих операций таковы :

NOT - унарная (т.е. применимая к одному операнду) операция :

NOT FALSE = TRUE , NOT TRUE = FALSE .

Правила выполнения бинарных операций AND, OR и XOR приведены в таблице 3.

Таблица

Правила выполнения бинарных операций

Операнд Результат операции

a

b a AND b a OR b a XOR b
FALSE FALSE FALSE FALSE FALSE
FALSE TRUE FALSE TRUE TRUE
TRUE FALSE FALSE TRUE TRUE
TRUE TRUE TRUE TRUE FALSE

Приоритет операции NOT (как и всякой унарной операции) наивысший, следующий приоритет у операции AND, и наинизший приоритет - у операций OR и XOR. Выражения могут содержать не только разные логические операции, но и операции сравнения и арифметические, поэтому отметим, что приоритет логических и арифметических операций выше, чем операций сравнения. Существует функция, определенная для целочисленных аргументов и имеющая логическое значение, - это функция

30. Odd(x).

Она возвращает TRUE, если значение x нечетное, и FALSE, если оно четное. Логические значения можно выводить процедурой WRITE, но вводить логические переменные процедурой READ нельзя. Теперь попробуем записать программу, использующую логические данные.

VAR a,b,c,d : INTEGER;

BEGIN WRITELN('Введите 4 целых числа, a,b,c и d, среди ',

'которых должно быть 2 и только 2 одинаковых!');

WRITE('a='); READ(a); WRITELN;

WRITE('b='); READ(a); WRITELN;

WRITE('c='); READ(a); WRITELN;

WRITE('d='); READ(a); WRITELN;

--> ЧИТАТЬ ПОЛНОСТЬЮ <--

К-во Просмотров: 116
Бесплатно скачать Статья: Логический тип данных. Операции сравнения