Булевы типы. Логические выражения и логические операцииПростые логические выраженияДля того, чтобы программа была не линейной (т.е. в зависимости от ситуации выполнялись разные инструкции) в языках программирования используются логические выражения, результат которых может быть либо правдой (true), либо ложью (false). Результат логических выражений обычно используют для определения пути выполнения программы. Простые логические выражения являются результатом операций отношения между двумя операндами (значениями). В примерах ниже операндами являются значения переменных В Паскале предусмотрены следующие операторы отношений:
Булевы типыРезультатом логического выражения всегда является булево (логическое) значение. Булев тип данных (boolean) может принимать только два значения (true или false). Эти величины упорядочены следующим образом: Значение типа boolean занимает в памяти 1 байт. В примере шести булевым переменным присваиваются значения простых логических выражений. Значения, хранимые в таких переменных, затем выводятся на экран. Кроме типа boolean в Pascal введены еще три булевых типа — bytebool (занимает 1 байт), wordbool (занимает 2 байта) и longbool (занимает 4 байта). var b:boolean; wb:wordbool; begin b:= false; b:= pred(b); writeln(b,' ',ord(b)); // TRUE 255 writeln(b=true); // TRUE wb:= false; wb:= pred(wb); writeln(wb,' ',ord(wb)); // TRUE -1 b:= true; b:= succ(b); writeln(b,' ',ord(b)); // TRUE 2 wb:= true; wb:= succ(wb); writeln(wb,' ',ord(wb)); // FALSE 0 end.
Логические операцииС помощью логических операторов можно формировать сложные логические выражения. Логические операторы часто применяются по отношению к простым логическим выражениям. В языке программирования Pascal предусмотрены следующие логические операции: true and true = false
Последовательность выполнения логических операторов: not, and, or. В языке Паскаль сначала выполняются логические операторы (and, or, xor, not), а уже потом операторы отношений (>, >=, <, <=, <>, =), поэтому не нужно забывать расставлять скобки в сложных логических выражениях. Сложные булевы выражения могут не обрабатываться до конца, если продолжение вычислений не изменит результат. Если булево выражение в обязательном порядке нужно обрабатывать до конца, то это обеспечивается включением директивы компиляции {B+}. Стандартные булевские функции
В остальных случаях эти функции принимают значение false. |