Презентация "Логический тип данных".

advertisement
Логический тип
данных
Операции сдвига
Логический тип данных
Переменные логического типа
описываются с помощью идентификатора
Boolean.
Диапазон значений – два: False (ложь) или
True (истина), размер выделяемой памяти
– 1 байт (False и True – стандартные
константы).
Тип является перечислимым, поэтому:
False < True, Ord (False) = 0, Ord(True) = 1,
Succ(False) = True, Pred(True = False).
Перечислим четыре логические
операции, реализованные в Турбо
Паскале: логическое сложение, или
дизъюнкция, - Or; логическое
умножение, или конъюнкция, - And;
от рицание - Not, исключающее «или»
(сложение по модулю два) – Xor.
Результаты выполнения операций над
переменными логического типа х и у
приведены в таблице.
Значение
операнда
x
y
Значение операции
Not x X And y X Or y X Xor y
False False True
False
False
False
False True True
False
True
True
True False False
False
True
True
True True False
True
True
False
• Здесь сведены в одну таблицу четыре
таблицы истинности, с помощью
которых в математической логике
обычно описываются значения
логических функций.
• Таблица истинности представляет собой
таблицу, устанавливающую
соответствие между возможными
значениями наборов переменных и
значениями операции.
Следует четко понимать, что
результатом выполнения операций
сравнения (отношения): < (меньше),
> (больше), <= (меньше или равно),
>= (больше или равно), <> (не равно),
= (равно) является величина
логического типа.
Ее значение равно True, если
отношение выполняется для
значений входящих в него
операндов, и False – в противном
случае.
В языке Турбо Паскаль
нет возможности ввода
логических данных с
помощью оператора
Read. Однако
предусмотрен вывод
значений логического
типа с помощью
оператора Write.
Операции сдвига
Существуют две операции сдвига:
Shl – сдвиг влево и Shr – сдвиг вправо.
Тип операндов и результата в операциях
сдвига Integer.
Итак,
m Shl n – значение m сдвигается влево на
n разрядов; а при
m Shr n - значение m сдвигается вправо
на n разрядов.
• При выполнении операции
разряды, вышедшие за пределы
области памяти, выделяемой для
типа данных теряются, а с другой
стороны добавляются нули.
• Например, если m равно 32, то
сдвиг влево на один разряд дает 64,
а сдвиг вправо – 16. Операции
равносильны умножению и
делению на два.
Пример 1
Program My4_1;
Uses Crt;
Var a, b: Boolean;
Begin
ClrScr;
a:=True;b:=True;Writeln (a:6, b:6, And b:6);
a:=True;b:=False;Writeln (a:6, b:6, And b:6);
a:=False;b:=True;Writeln (a:6, b:6, And b:6);
a:=False;b:=False;Writeln (a:6, b:6, And b:6);
Readln
End.
Download