Логические операции и операции отношения

Разветвляющиеся вычислительные процессы

Лекция 4

Цели:

ü познакомиться с понятием разветвляющегося вычислительного процесса;

ü познакомиться с понятием логического выражения, изучить логические операции и операции отношения и освоить методику построения логических выражений;

ü изучить операторы языка С++, позволяющие реализовывать разветвляющиеся вычислительные алгоритмы.

1. Управляющая структура «развилка».

При описании разветвляющихся вычислительных алгоритмов кроме управляющей структуры «следование» применяется структура «развилка», или «если–то–иначе». Применяется такая структура в случае, когда нужно выбрать одну из имеющихся последовательностей действий в зависимости от выполнения или невыполнения некоторого условия. Форма записи структуры:

если <условие>

действия1

иначе

действия2

все_если

Работа структуры организована по принципу: если <условие> истинно (выполняется), то выполняются действия1; в случае ложности (невыполнения) <условие> выполняются действия2.

Возможна вложенность структур «если–то–иначе» любой глубины, т.е. вместо действия1 и/или действия2 может быть записана еще одна структура «развилка» и т.д.

<условие>, записанное после слова если, представляет собой логическое выражение. Логическое выражение – это два операнда, соединенные либо логической операцией,либо операцией отношения. Под логической операцией понимается одна из операций, связывающих два операнда: И, ИЛИ или операция отрицания НЕ, записываемая перед операндом. Если <условие> – два условия, связанные логической операцией И, то <условие> будет истинным в случае одновременного исполнения этих двух условий. Если <условие> – два условия, связанные логической операцией ИЛИ, то <условие> будет истинным в случае, когда хотя бы одно из этих двух условий будет выполняться. Результаты выполнения логических операций приведены в табл.4.

Таблица 4
Значение операнда 1 (оп1) Значение операнда 2 (оп2) Результат операций
НЕ(оп1) (оп1) И (оп2) (оп1) ИЛИ (оп2)

Под операцией отношения понимается одна из операций, связывающих два операнда: > (больше), >= (больше или равно), < (меньше), <= (меньше или равно), == (равно), != (не равно). Операция отношения позволяет сравнивать числовые выражения по их значениям.

Пример. Определить условие попадания точки с координатами (x;y) в указанную область D:

Напишем условие попадания точки с координатами (x;y) в указанную область. Очевидно, что данная область должна быть разбита на две непересекающиеся области D1 и D2, т.е. D=D1UD2. Таким образом, можно установить, что точка может попасть в D1 или в D2.

Опишем условие попадания точки (х;у) в области D1 и D2:

D1: x>=-4 И x<=4 И y>=0 И y<=2

D2: x>=0 И x<=2 И y>=-2 И y<=0

Таким образом, условие принадлежности точки с координатами (x;y) области D будет следующим:

(x>=-4 И x<=4 И y>=0 И y<=2) ИЛИ (x>=0 И x<=2 И y>=-2 И y<=0)

 

2. Операторы языка С++, позволяющие реализовывать разветвляющиеся вычислительные алгоритмы

Для реализации разветвляющихся вычислительных алгоритмов в языке С++ предусмотрены условный оператор if(), условное выражение и оператор выбора switch().