Тема: Данные логического типа.

 

План:

  1. Данные логического типа.
  2. Логические выражения.
  3. Условный оператор.

Скачать:

ВложениеРазмер
Microsoft Office document icon lekciya_4.doc39.5 КБ

Предварительный просмотр:

Лекция №4

Тема: Данные логического типа.

План:

  1. Данные логического типа.
  2. Логические выражения.
  3. Условный оператор.
  1. Данные логического типа

Логический тип данных часто называют Булевым типом, по имени английского математика Д. Буля, создателя особой области математики – логики. Основу математической логики составляют две константы: True (Истина, 1) и False (Ложь, 0). Логические данные широко используются при сравнении величин. Результат сравнения может быть истинным или ложным.

Примеры.

  1. a2=b2+c2 – истинно при a=5, b=4, c=3

ложно при a=2, b=3,c=4.

  1. x2<0 – всегда ложно.

В языке Паскаль переменные логического типа могут принимать значения True и False. Описание переменной имеет тип Boolean:

Var

A, B: Boolean;

В теле программы такой переменной можно присваивать значения логических констант True и False.

Пример.

A:=True;

B:=False;

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

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

< - меньше;

> - больше;

= - равно;

<= - меньше или равно;

>= - больше или равно;

<> - не равно.

Отношения можно использовать в правой части оператора присваивания. Например:

A:=3<6;                {Всегда False}

A:=x1<>x2;                

B:=(x1+x2)<18;

В математической логике имеются специальные логические операции:

Or – логическое сложение (ИЛИ)

And –логическое умножение (И)

Not – логическое отрицание (НЕ)

Логическое сложение дает ложный результат только в том случае, когда оба операнда ложные.

Логическое умножение дает истинный результат только в том случае, когда оба операнда истинны.

Операция отрицания дает ложный результат, если операнд истинный, и, наоборот, истинный результат, если операнд ложный.

Данные о результатах логических операций представлены в таблице 1.

Таблица 1

A

B

A or B

A and B

Not A

False

False

False

False

True

False

True

True

False

True

True

False

True

False

False

True

True

True

True

False

Примеры.

(A<3)Or(B>2) – при a=4, b=0 – ложно, при a=4, b=3 – истина.

(A<3)And(B>2) – при a=1, b=10 –истина, при a=3, b=3 – ложь.

Not (A<2) – при a=1 – ложь, a=4 – истина.

Таким образом, логические выражения строятся из логических переменных, логических констант, логических операций, операций отношений.

  1. Условный оператор

Нам часто приходиться в своей жизни что-либо делать в зависимости от определенных условий, например, мы берем с собой зонт, если идет дождь, или на небе тучи. Аналогичное положение встречается в математике, например,

Если x<0, то y=x+1;        

Если x>=0, то у=2*x.

Иначе это условие можно записать следующим образом:

Если x<0, то y=x+1        

иначе у=2*x.

Здесь в зависимости от условий выполняется одно из двух действий: либо вычисляется y=x+1, либо y=2*x. Для программирования таких ситуаций в языке Паскаль существует условный оператор, который имеет две формы: полную и краткую.

Полная форма имеет следующий вид:

If  условие Then оператор1

Else оператор2 ;

Здесь оператор1 и оператор2 – простые или составные операторы. Составной оператор – это оператор, состоящий из двух и более операторов, он заключается в операторные скобки Begin End. Условие – любое логическое выражение.

Если логическое выражение истинно, выполняется оператор1, если ложно, выполняется оператор2. В качестве оператора1, оператора2 могут быть также условные операторы.

Для рассматриваемого примера, условный оператор выглядит следующим образом:

If x<0 Then y:=x+1

                Else y:=2*x;

Если в нашем примере описать логическую переменную В, то можно записать так:

B:=x<0;

If  B Then y:=x+1

                 Else y:=2*x;

Мы рассмотрели полную форму условного оператора, но в языке допускается и краткая форма, которая имеет вид:

If условие Then оператор;

Если условие истинно, то выполняется оператор, например

If Not((x<3)and(x>1)) Then y:=Sqr(x);