Системы и совокупности условий. Операторы and и or

Системы и совокупности условий. Операторы and и or

Итак представим что мы столкнулись со сложным условием. Например нам нужно вывести на экран все целые числа,принадлежащие промежуткам

-20<x<-10,4<x<6,25<x<50,234<x<678

В паскале данное неравенство выглядело бы так:

if x>-20 then if x<-10 then writeln(x);
if x>4 then if x<6 then writeln(x);
if x>25 then if x<50 then writeln(x);
if x>234 then if x<678 then writeln(x);

Обратите внимание,для решения этой задачи нам приходиться пользоваться принципом «условие в условии» и к тому же дублировать условные операторы. А что если промежутков было бы больше?

Вот тут то нам на помощь и приходят логический оператор «И» вместе с логическим оператором «ИЛИ», которые также называют конъюнкцией и дизъюнкцией. Так что же это такое? Не буду давать полное определение, лучше скажу суть: конъюнкция-это логическое умножение,а дизъюнкция — логическое сложение. То есть для конъюнкции логическое утверждение считается истинным только если истинны все его элементы и, наоборот, для дизъюнкции логическое утверждение считается истинным, если хоть один его элемент истинен. Чтобы было легче понять рассмотрим таблицу для логического «И» и логического «ИЛИ» (ее также называют таблицей истинности).

А вот как будет выглядеть таблица истинности в цифровом виде:

В паскале логическое «И» обозначается как and , логическое «ИЛИ» — or. Оператор условия при этом приобретает такой вид

if (условие) and (условие) then действие;
if (условие) or (условие) then действие;

Тогда задача,которую мы решали вначале будет выглядеть таким образом:

if ((x>-20) and (x<-10)) or  ((x>4) and (x<6)) or ((x>25) and (x<50)) or ((x>234

Нет комментариев

Оставить комментарий