Добавил admin | Категория Pascal за 12 уроков, перевод | 21 Января 2014
Логические операторы и логические выражения
- Что такое логические операторы?
- Логические операторы
- И
- ИЛИ
- НЕ
- Пример каждого логического оператора:
- И
- ИЛИ
- НЕ
- Логические выражения
Логические операторы, могут возвращать всего два значения – истину или лож. Логические операторы используются в условиях, циклах. Такие операторы состоят из простых логических операторов, таких как «AND», «OR», «NOT». Логические операторы обычно используются между двумя условными выражениями, к примеру:
If (x = 0) AND (a = 2) then...
Есть три типа логических операторов, каждый из которых связаны с условными выражениями:
- И (AND)
- ИЛИ (OR)
- НЕ (NOT)
Все эти логические операторы можно использовать в выражениях, их так же можно компоновать. Давайте разберем пример, как с этим работать, как это можно применить:
ANDIf *1(Str1 = 'a') AND *2(Str2 = 'b') then writeln('Yes, you got it right.');
Если выражение *1(Str1 = 'a') и выражение *2(Str2 = 'b') являются истинными то на экране мы увидим Yes, you got it right. Ниже приведенного примера представлена таблица с возможными комбинациями и их решениями.
Expression 1 | Expression 2 | AND (result) |
true | true | true |
false | true | false |
true | false | false |
false | false | false |
Из приведенной выше таблицы мы понимаем что Expression 1 = true + Expression 2 = true = true
OR
If *1(Str1 = 'a')OR*2(Str2 = 'b') then writeln('Yes, you got it right.');
Expression 1 | Expression 2 | OR (result) |
true | true | true |
false | true | true |
true | false | true |
false | false | false |
Если выражение 1 является истинной или выражение 2 является истинной тогда - Yes, you got it right. Обратите внимание на таблицу, здесь во всех случаях кроме как последнего результатом будет истинна, и правильно логическое выражение ведь – или.
NOT
«Не» почти не отличается от двух предыдущих логических операторов. Он принимает только один вход и хорошо известен как оператор "инвертора". Если, например, в результате двух условных выражений одно верно, то "не"оператор будет инвертировать результат! Таким образом, логического оператора, "не", применяется для обратного преобразования результата, простая таблица оператора «не» наглядно продемонстрирует нам это
Input | Output |
true | false |
false | true |
Пример AND оператора
Program Lesson6_Program1;
Uses Crt;
Var n1, n2 : string;
Begin
Writeln('Enter two numbers: (''0'' & ''0'' to exit)');
Repeat
Write('No.1: ');
Readln(n1);
Write('No.2: ');
Readln(n2);
If (n1 = '0') AND (n2 = '0') then
Halt(0);
Until (n1 = '0') AND (n2 = '0');
End.
Пример OR оператора
Program Lesson6_Program2;
Uses Crt;
Var n1, n2 : String;
Begin
Writeln('Enter two numbers: (''1'' & ''2'' to exit)');
Repeat
Write('No.1: ');
Readln(n1);
Write('No.2: ');
Readln(n2);
If (n1 = '1') OR (n2 = '2') then
Halt;
Until (n1 = '1') OR (n2 = '2');
End.
Пример NOT оператора
Program Lesson6_Program3;
Uses Crt;
Var n1 : String;
Begin
Writeln('Enter two numbers: (any number except 0 to exit)');
Repeat
Write('No.1: ');
Readln(n1);
If not(n1 = '0') then Halt;
Until not(n1 = '0');
End.
Логические выражения Булевые значение – истина и лож. В цифровом эквиваленте это 1 и 0. Единица это истинна и ноль это лож. Смотрим пример:
Program Lesson6_Program4;
Var quit : Boolean;
a : String;
Begin
Repeat
Write('Type ''exit'' to quit:');
Readln(a);
If a = 'exit' then quit := True else quit := False;
If quit = True then Halt;
Until quit = True;
End.