Мы поможем в написании ваших работ!



ЗНАЕТЕ ЛИ ВЫ?

Некоторые сведения о логическом типе данных.

Логические (булевы) константы, переменные и выражения могут принимать только два значения: true (истина) и false (ложь).

Логические переменные описываются в разделе описания как boolean, например:

var p,q: boolean;

 

Под них выделяется 1 байт памяти. В седьмой версии Turbo Pascal для обеспечения программной совместимости с оболочкой Windows введены еще три булевских типа ByteBool, WordBool и LongBool, под которые отводится в памяти 1, 2 и 4 байта соответственно.

Логический тип является перечисляемым, причем

 

true > false;

Ord(false)=0; Ord(true)=1;

Succ(false)=true; Pred(true)=false.

Odd(1)=true; Odd(2)=false;

 

В языке Turbo Pascal введены четыре логические операции:

 

not - НЕТ (отрицание; математическое обозначение: );

and - И (логическое умножение, конъюнкция; математическое обозначение: ^, &);

or - ИЛИ (логическое сложение, дизъюнкция; );

xor - исключающее ИЛИ (сложение по модулю 2, жигалкинское сложение; ).

 

Результаты выполнения логических операций задаются следующей таблицей истинности:

 

Значения операнда Результаты операций

А B not A A and B A or B A xor B

false false true false false false

false true true false true true

true false false false true true

true true false true true false

Операция отрицания not меняет значение операнда на противоположные. Для того чтобы результат операции логического умножения and был истинен, все операнды должны быть истинны. Для того чтобы логическое сложение or дало истину, нужно, чтобы хотя бы один операнд был истинен, а жигалкинское сложение xor дает истину, только если операнды имеют разные значения (выбор альтернативы).

 

 

Над данными целого и вещественного типов, изученных нами ранее, определены операции отношений:

 

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

<> - не равно, < - меньше, <= - меньше или равно.

 

Результат сравнения имеет логический тип. Он равен true, если отношение удовлетворяется для значений входящих в него операндов, и false – в противном случае. Например, значение 7 > 3 есть true, а 7 < 3 - false.

В операциях сравнения должны участвовать величины одного типа, за исключением типов integer и real, которые могут сравниваться друг с другом. Не следует применять операцию отношения “ = “ (равно) к операндам вещественного типа, т.к. из-за неточного их представления в памяти компьютера неизбежны ошибки округления.

В языке Turbo Pascal можно выводить значения логического типа с помощью оператора write, но нельзя их вводить с помощью read.

 

Логические выражения.

Значения, к которым применяются операции, принято называть операндами. Последовательность выполнения операций над операндами задает процесс вычисления значения выражения. Принят следующий приоритет операций:

 

Приоритет Название операций Символы операций

 

1 Унарные not

2 Мультипликативные *, /, div, mod, and, shl, shr

3 Аддитивные +, -, or, xor

4 Отношение =, <>, <, >, <=, >=, in

 

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

 

1 6 4 2 5 3

(1 > 3) or not (7 < 9) and (4 <= 5)

 

имеет значение false. Цифрами вверху показан порядок выполнения операций: результат выполнения операции 1 – false, операции 2 – true, операции 3 – true, операции 4 – false, операции 5 – false, операции 6 – false.

 



Поделиться:


Последнее изменение этой страницы: 2017-01-24; просмотров: 185; Нарушение авторского права страницы; Мы поможем в написании вашей работы!

infopedia.su Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Обратная связь - 3.137.200.139 (0.006 с.)