Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
ИНФОРМАТИКА_Паскаль.doc
Скачиваний:
7
Добавлен:
08.05.2019
Размер:
1.77 Mб
Скачать
  1. NOT;

  2. And, * (умножение), / (деление), div, mod;

  3. OR, + (сложение), – (вычитание);

  4. < , <= , = , <> , >= , >.

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

Рассмотрим в качестве примера порядок выполнения операций с целью выявления результата составного логического выражения, например, вида:

(A>3) AND (B=A+6) OR NOT (C=4)

приА=2, В=8 и С=5. Он (порядок) будет состоять из 6-ти действий:

а) Первой выполнится операция сравнения А>3 в первых скобках. Результатом этой операции является FALSE, так как 2 меньше, а не больше 3-х;

б) Второй выполнится операция арифметического сложения А+6 во вторых скобках и её результат после этого сравнится со значением В. Итоговым результатом этих двух операций А+6 и В=А+6 является TRUE, так как А+6=8, В=8 и поэтому 8=8;

в) Третьей выполнится операция сравнения С=4 в последних скобках. Её результатом является FALSE, так как 5≠4;

г) Четвёртой выполнится логическая операция NOT (C=4), равная NOT FALSE. Её результатом является TRUE;

д) Пятой выполнится операция логического умножения AND полученных результатов в первой и второй скобках, т.е. операция FALSE AND TRUE, результатом которой является FALSE;

е) Последней (шестой) выполнится операция логического сложения OR над выражениями слева и справа от неё, т.е. операция FALSE OR TRUE с результатом TRUE, который и является окончательным для исходного выражения.

При желании убедиться в справедливости результатов всех рассмотренных 6-ти действий можно воспользоваться приведенными ниже программой и распечаткой её выполнения при прежних значениях переменныхА=2, В=8 и С=5.

Program Slojnoe_LV;

Uses Crt; Var A, B, C : Real; LV1, LV2, LV3, LV4, LV : Boolean;

BEGIN

Write('Bведитечисла A, B и C '); ReadLn(A,B,C);

ClrScr;

WriteLn('При A=',A:3:1,' B=',B:3:1,' и C=',C:3:1);

LV1:=A>3; LV2:=(B=A+6); LV3:=(C=4); LV4:=NOT LV3;

Write('(A>3)-',LV1,' (B=A+6)-',LV2);

WriteLn('(C=4)-',LV3,' NOT(C=4)-',LV4);

LV:=LV1 AND LV2 OR NOT LV3;

WriteLn('LV:=(A>3) AND (B=A+6) OR NOT (C=4)-',LV);

WriteLn('LV:=',LV1,' AND ',LV2,' OR ',LV4,' -',lV);

READLN END.

ПRectangle 44 ри A=2.0, B=8.0 и C=5.0

(A>3) – FALSE; (B=A+6) – TRUE; (C=4) – FALSE; NOT(C=4) – TRUE.

LV:=(A>3) AND (B=A+6) OR NOT (C=4) – TRUE.

LV:=FALSE AND TRUE OR TRUE – TRUE.

Логические данные и операции над ними имеют важное значение, так как позволяют внести в процесс вычислений элементы человеческой логики.

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