Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Ekzamenatsionnye_voprosy_po_Informatike2 от шал...doc
Скачиваний:
8
Добавлен:
20.09.2019
Размер:
1.92 Mб
Скачать

Логические операции.

Когда необходимо объединить несколько операций сравнения в одном выражение используются логические операции, это необходимо так как операции сравнения сравнивают только два аргумента, а обычно условие бывает намного сложнее.

Например, чтобы записать условие приема на работу: возраст до 45 лет и опыт работы от 3 лет нужно использовать оператор И(And): (x<=45) And (y>=3), где х- возраст, y-опыт.

Существует четыре вида логических операций:

1) Логическое ИЛИ (OR). Возвращает ложь, только в том случае, если оба аргумента ложны.

2) Логическое И (AND). Возвращает истина, только в том случае, если оба аргумента истина.

3) Логическое НЕТ (Not). Возвращает истину, если аргумент ложный и ложь, если аргумент истинный.

4) Исключающие И(Xor).Возвращает истину, если оба аргумента или вместе истины, или вместе ложны.

Сначала рассмотрим символы каждой из операций:

Языки

C++, C#, Java, JavaScript, Java

Visual Basic, VBScript , Transact-SQL, PL-SQL

Delphi

Visual FoxPro

Perl, PHP

ИЛИ (OR)

||

Or

|| или Or

И (AND)

&&

And

&& или And

НЕТ (NOT)

!

Not

Not или !

!

Искл.ИЛИ (XOR)

Нет!

Xor

Нет!

Можно заметить из таблицы, что бывает два вида логических операций:

а) С++ подобные это ||,&&,!

б) SQL подобные, это символы And, Or, Not.

Единственное отличие действий логических операций в разных языках заключается в том выполняется ли расчет второго условия в операции ИЛИ (OR) и И (AND), если первое условие окажется истинным (в операции OR) или ложным (в операции AND),так результат будет уже известным (например, если возраст претендента из примера 1 оказался больше 45 лет, то опыт проверять нет необходимости, так как и так понятно, что претендент не подходит).

Как правило, во всех языках, проверяется только первое условие, исключение составляет Visual Basic.Net и VBScript, если в них используется операции Or и And, то проверяются оба условия, если OrElse и AndElse, то в подобных случаях проверяется только первое условие.

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

Рассмотрим каждый логический оператор отдельно в таблицах:

y x

Ложь

Истина

Ложь

Ложь

Истина

Истина

Истина

Истина

x OR y (ИЛИ)

y x

Ложь

Истина

Ложь

Ложь

Ложь

Истина

Ложь

Истина

x AND y (ИЛИ)

y x

Ложь

Истина

Ложь

Истина

Ложь

Истина

Ложь

Истина

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]