Программирование.
Логический тип данных.
Логические операции.
Логический тип данных
- Булевским типом называют тип данных, представляемый двумя значениями: True (истина) и False (ложь) . Он широко применяется в логических выражениях и выражениях отношения. При описании величин этого типа указывают слово boolean . Для размещения в памяти переменной булевского типа требуется 1 байт .
Логический тип данных
- Описание Var A, S : boolean;
- Присвоить значение булевской переменной можно так: A:= true; S:= false; A:= XY; S:= B
Логические операции
- NOT – логическое отрицание или инверсия
- AND – логическое умножение или конъюнкция
- OR - логическое сложение или дизъюнкция
- XOR – исключающее ИЛИ
Значение логических операций определяется таблицей истинности (таблица со всеми возможными значениями входных переменных и соответствующими им значениями логической операции)
NOT – инверсия ( не )
Меняет значение логической величины на противоположное .
А
А
not A
true
not A
1
false
0
false
0
true
1
Обозначим: true – 1, false – 0.
AND – конъюнкция ( и )
истина тогда и только тогда, когда истины оба операнда .
A
A
B
B
0
false
false
A and B
false
0
0
A and B
true
1
0
1
false
true
1
true
0
false
0
false
1
true
0
false
true
1
логическое умножение
OR – дизъюнкция ( или )
ложна тогда и только тогда, когда ложны оба операнда .
A
A
B
B
0
false
false
A or B
false
0
0
A or B
true
1
0
1
false
true
1
true
0
true
1
false
1
true
1
true
true
1
логическое сложение
XOR – исключающее или
Истина (true) , когда операнды имеют разные значения,
A
A
B
B
0
false
false
A xor B
false
0
0
A xor B
true
1
0
1
false
true
1
true
0
true
1
false
1
true
1
true
false
0
Ложь (false) , когда операнды имеют одинаковые значения .
Таблицы истинности
A
B
0
A and B
0
0
A or B
1
0
1
A xor B
0
1
0
0
1
1
0
0
1
1
1
1
1
0
1 – true,
0 – false.
A
0
not A
1
1
0
B ); сложные выражения, содержащие выражения двух описанных ранее типов, соединяемых знаками логических операций и скобками например: (ab) and (c 5) , (a10) . " width="640"
Логическое выражение – такое выражение, которое может принимать только два значения:
истина (true) или ложь (false)
Например: A and B, A and not C, D or C.
В языке Паскаль логическими выражениями могут быть:
- логические переменные типа boolean ;
- выражения, содержащие сравнения (например, A B );
- сложные выражения, содержащие выражения двух описанных ранее типов, соединяемых знаками логических операций и скобками например: (ab) and (c 5) , (a10) .
, =, Операции отношения имеют самый низкий приоритет, но обычно надо их вычислять первыми, поэтому выражения отношения заключают в скобки! " width="640"
Приоритеты операций
- NOT
- *, /, DIV, MOD, AND
- +, -, OR
- =, , , =,
Операции отношения имеют самый низкий приоритет, но обычно надо их вычислять первыми, поэтому выражения отношения заключают в скобки!
=5) or (-3 0) 2. x:= (03) 3. x:= (112=112) and (70) 4. x:= (75. x:= (234 mod 10)(2*2) 6. x:= not ((12 div 7) 7) and (27-3*9=0) true false true true false true " width="640"
Проверь себя:
Чему равно значение переменной Х после выполнения операции: 1. x:= (5=5) or (-3 0)
2. x:= (03)
3. x:= (112=112) and (70)
4. x:= (7
5. x:= (234 mod 10)(2*2)
6. x:= not ((12 div 7) 7) and (27-3*9=0)
true
false
true
true
false
true
=5) or (-3 0) 2. x:= (03) 3. x:= (112=112) and (70) 4. x:= (75. x:= (234 mod 10)(2*2) 6. x:= not ((12 div 7) 7) and (27-3*9=0) 7. x:= (pred (‘s’)=‘r’) xor (ord (‘w’) 32) true false true true false true false " width="640"
Проверь себя:
Чему равно значение переменной Х после выполнения операции: 1. x:= (5=5) or (-3 0)
2. x:= (03)
3. x:= (112=112) and (70)
4. x:= (7
5. x:= (234 mod 10)(2*2)
6. x:= not ((12 div 7) 7) and (27-3*9=0)
7. x:= (pred (‘s’)=‘r’) xor (ord (‘w’) 32)
true
false
true
true
false
true
false