Главная » Basic » ЛОГИЧЕСКИЕ ОПЕРАЦИИ Basic

0

К логическим операциям  относятся операции NOT (НЕ), AND (И), OR (ИЛИ). Эти операции надо применять в логических выражениях, при вычислении которых получаются значения либо ИСТИНА, либо ЛОЖЬ. В результате применения этих операций также получаются результаты либо ИСТИНА, либо ЛОЖЬ. Например, в основу выражения

IF А < В AND В > = С THEN 500

положено сравнение двух логических  значений, находящихся по обе стороны от операции  AND. Смысл таких выражений  легко понимать,  читая их как фразы, написанные на английском языке, но ради полноты изложения ниже

приводится таблица, в которой И соответствует значению ИСТИНА, и Л ЛОЖЬ:

Условное выражение 1 Условное выражение 2 Условное

выражение 1

AND условное выражение 2

Условное

выражение 1

OR условное выражение 2

И

И

Л

Л

И

Л

И

Л

И

Л

Л

Л

И

И

И

Л

Операция NOT  по  старшинству выше остальных  логических операций. Она  меняет  значение

ИСТИНА  на  ЛОЖЬ  и   наоборот.  Обратите внимание  на  то,  что  операция AND  дает  значение ИСТИНА только в том случае, если оба условных выражения имеют значение ИСТИНА, а операция OR дает значение ИСТИНА во всех случаях, кроме ситуации, когда оба условных выражения имеют значение ЛОЖЬ. Приведенные  ниже соотношения представляют собой часть правил  логического вывода;  в них через a, b и с обозначены логические значения (ИСТИНА или ЛОЖЬ) :

(a AND b) AND с = a AND (b AND с) (a OR b) OR с = a OR (b OR c) a AND b = b AND a a OR b =b OR a

и

a OR (b AND c) = (a OR b) AND (a OR c) a AND (b OR c) = (a AND b) OR (a AND c)

в то время как действие NOT подчиняется правилам

NOT (a AND b) = (NOT a) OR (NOT b) NOT (a OR b) = (NOT a) AND (NOT b)

Последние  правила очень полезны на практике для упрощения трудно понимаемых  выражений —

например, в место

IF NOT (A > В AND В < = С) THEN 500 можно написать

IF (А <= В OR В>С) THEN 500

Чтобы  иметь полный  набор  символических  логических  манипуляций,   в   некоторых  системах с Бейсиком к описанным выше операциям добавляются еще три: XOR (в Бейсике ВВС используется запись EOR), IMP и EQV, действие которых показано в приведенной ниже таблице:

Условное выражение 1 Условное выражение 2 Условное

выражение 1

XOR условное выражение 2

Условное

выражение 1

IMP условное выражение 2

Условное

выражение 1

EQV условное выражение 2

И

И

Л

И

Л

И

Л

И

И

И

Л

И

И

Л

Л

Л                      Л                        Л                           И                       И

В результате выполнения стандартной операции OR будет получено значение ИСТИНА, если оно имеет первый операнд, либо второй, либо и первый, и второй. А исключающая операция XOR (exclusive OR — исключающее ИЛИ) означает “либо”, и ее применение к операндам, которые одновременно имеют значение ИСТИНА, приводит к результату ЛОЖЬ. Эта операция используется чаще других логических операций. Если она отсутствует, то ее можно сконструировать из стандартных операций с помощью соотношения

a XOR b = (a OR b) AND (NOT (a AND b) )

IMP является сокращением от implication (импликация) . Этим термином именуется логическое следствие, т. е. конструкция “если а, то b”. Изучение приведенной выше таблицы истинности показывает, что эта конструкция приводит к результату ЛОЖЬ только в том случае, если из истинной посылки  а вытекает ложный вывод b.

EQV представляет собой сокращение от equivalence (равенство) и является двусторонней импликацией, означающей “а, если,  и только если b”. Эту операцию можно получить  из простой импликации с помощью соотношения a EQV b=(a IMP b) AND (b IMP a)

Источник: Уолш Б.    Программирование на Бейсике: Пер. с англ. М.: Радио и связь, 1988. 336 с: ил.

По теме:

  • Комментарии