Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
lecton.DOC
Скачиваний:
4
Добавлен:
15.04.2019
Размер:
980.99 Кб
Скачать

5.2.10. Логические вы­ра­же­ния

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

АрифмВы­раж1       ОперацияСрав­не­ния        АрифмВы­раж2

или вид:

СтрокВы­раж1       ОперацияСрав­не­ния        СтрокВы­раж2

Сравниваться между собой должны либо только числовые выраже­ния, либо только строковые. Здесь ОперацияСрав­не­ния есть од­на из шес­ти опе­ра­ций срав­не­ния чи­сел (равно), > (больше), < (меньше), >= (больше или равно), <= (меньше или равно), <> (не равно). Послед­ние три опера­ции изо­бражаются двумя символами, т.к. на клавиатуре нет клавиш для ма­тематиче­ских знаков (  ³   £   ¹ ).

В таких выражениях вначале вычисляются вы­ражения, стоящие слева и справа от операции сравнения, а затем произво­дится сравнение. Примеры подобных выра­жений:

A > 3               B <> 5.1            (A+B)/345.E3*C >= AD^5    (Das*3) = 567            S1 <> "Ров" S3 = ""     

Для строковых данных будем использовать только две опера­ции сравнения: = (равно) и <> (не равно).

С по­мо­щью ло­ги­че­ских опе­ра­ций, обозначае­мых зарезервированны­ми словами not, and, or (с английского, со­от­вет­ст­вен­но, не, и, или) из простых ло­ги­че­ских вы­ра­же­ний мо­гут со­став­лять­ся бо­лее слож­ные ло­ги­че­ские вы­ра­же­ния ви­да

                                       not   Ло­гичВы­ра­же­ние

Ло­гичВы­ра­же­ние1    and   Ло­гичВы­ра­же­ние2

Ло­гичВы­ра­же­ние1    or      Ло­гичВы­ра­же­ние2

Например:

отрицанием условия A > 3 является выражение

NOT  (A > 3) 

условием выполнимости одновременно и условия (B <> 5.1) и условия ( (A+B)/345.E3*C >= AD^5) является выра­жение

(B <> 5.1)  AND  ((A+B)/345.E3*C >= AD^5)

условием выполнимости хотя бы одного из двух условий: или условия ((Das*3) = 567) или условия ( S1 <> "Ров") или их обоих является выра­жение

((Das*3) = 567)  OR  (S1 <> "Ров")

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

NOT (A > 3) AND (B <> 5.1)  AND  ((A+B)/345.E3*C  >= AD^5)

По­сле­до­ва­тель­ность вы­чис­ле­ния ком­по­нентов в ло­ги­че­ских вы­ра­же­ни­ях оп­ре­де­ля­ет­ся рас­по­ло­же­ни­ем ско­бок и при­ори­те­том опе­ра­ций. Вначале вычисляются все арифметические выражения, затем вы­полняются опе­ра­ции срав­не­ния, за­тем опе­ра­ции not, за­тем сле­дуют and и наи­мень­ший при­ори­тет име­ет опе­ра­ция or.

К при­ме­ру, вы­ра­же­ние not A>0 and B<=C or K=1

эк­ви­ва­лент­но вы­ра­же­нию ((not (A>0) ) and (B<=С )) or (K=1)

Правила вычисления логических операций

a

истина

истина

ложь

ложь

b

истина

ложь

истина

ложь

NOT  a

ложь

ложь

истина

истина

a  AND  b

истина

ложь

ложь

ложь

a  OR  b  

истина

истина

истина

ложь

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