- •Тюкачев н.А., Рыбак к.С., Михайлова е.Е. Основы программирования в Delphi Часть I: учебное пособие Воронеж: Издательско-полиграфический центр вгу, 2007. -286 с.
- •1. Элементы языка Паскаль
- •1.1. Имена (идентификаторы)
- •1.2. Зарезервированные слова
- •1.3. Правила оформления программ
- •1.4. Специальные символы
- •1.5. Программа в Delphi
- •1.6. Структура программы
- •1.7. Разделы описания
- •1.7.1. Описание переменных
- •I,k : integer; // I - счетчик
- •1.7.2. Описание типов
- •1.7.3. Описание констант
- •1.8. Исполняемые операторы
- •1.9. Выражение. Оператор присваивания
- •X { переменная }
- •15 { Целая константа }
- •X * y { произведение X и y }
- •1.9.1. Арифметические функции
- •1.10.2. Логические операции
- •1.10.3. Операторы отношения
- •1.10.4. Операторы для строк (String)
1.10.2. Логические операции
Логические оператороы not, and, or и xor работают с логическими опреандами (false..true) и возвращают значения логического типа.
Оператор |
операция |
Тип операндов |
Тип результата |
Пример |
not |
Отрицание |
Boolean |
Boolean |
not (C in MySet) |
and |
Конъюнкция |
Boolean |
Boolean |
Done and (x > 0) |
or |
Дизъюнкция |
Boolean |
Boolean |
A or B |
xor |
Исключающее «или» |
Boolean |
Boolean |
A xor B |
Таблица истинности логических операций
A |
false |
true |
False |
true |
B |
false |
False |
True |
true |
A and B |
false |
False |
False |
True |
A or B |
False |
True |
True |
true |
A xor B |
false |
True |
true |
False |
Табл.1. Возможные операции между атомарными предикатами.
А В |
0101 0011 |
Названия операций |
Речевая конструкция |
A,B: FALSE |
0000 |
|
для A,В - ложно |
AВ |
0001 |
конъюнкция, и |
A и В |
Не A В |
0010 |
|
не A и В |
В |
0011 |
|
В для любых A |
Не (АВ) |
0100 |
|
неверно, что AВ |
А |
0101 |
|
A для любых В |
Не (АВ) |
0110 |
исключающее или |
не верно, что AВ |
AВ |
0111 |
дизъюнкция, или |
A или В |
не А не В |
1000 |
стрелка Пирса
|
не A и не В |
AВ |
1001 |
эквивалентность |
A эквивалентно В |
не А |
1010 |
|
для любых В не A |
AВ |
1011 |
импликация, влечет |
из A следует В |
Не В |
1100 |
|
для любых A не В |
А не В
|
1101 |
|
A или не В |
не А не B |
1110 |
штрих Шеффера
|
не A или не В |
A,B: TRUE |
1111 |
|
для A,В - истино |
while (I <= Length(S)) and (S[I] <> ',') do
begin
...
Inc(I);
end;
Для операций and и or полезны правила Моргана:
not (A and B) = (not A) or (not B)
not (A or B) = (not A) and (not B)
1.10.3. Операторы отношения
Операторы отношения используются для сравнения двух операндов. Операторы =, <>, <= и >= могут применяться к множествам; = и <> могут применяться к указателям.
Оператор |
Операция |
Тип операндов |
Тип |
Пример |
= |
равно |
простые, string |
Boolean |
I = Max |
<> |
Не равно |
Простые, string |
Boolean |
X <> Y |
< |
Меньше |
Простые, string, PChar |
Boolean |
X < Y |
> |
больше |
Простые, string, PChar |
Boolean |
Len > 0 |
<= |
Меньше-равно |
Простые, string, Pchar |
Boolean |
Cnt <= I |
>= |
Больше-равно |
простые, string, Pchar |
Boolean |
I >= 1 |
