Iii. Логический тип boolean

Вид материалаДокументы

Содержание


AND (и) — логическое умножение
Таблица истинности логических операций
WRITELN(‘Треугольник с углами А и В прямоугольный? ‘, L); END
Подобный материал:
III. Логический тип BOOLEAN

Логический тип данных часто называют булевым по имени английского математика Д. Буля, создателя одной из областей математики — математической логики.

Основу математической логики составляют две константы — 0 (ложь) , 1 (истина) и действия над ними. Логические данные широко используются при сравнении величин, результат сравнения может быть истинным или ложным. Логические данные и операции над ними имеют важное значение в информатике, так как позволяют внести в расчеты элементы человеческой логики.

Пример:

а) А*А=В*В+С*С истинно при А=5,В=4,С=3, ложно при А=В=5, С=2.

б) Х*Х < 0 — всегда ложно при любых Х.

в) А > В+3 — истинно при А=6, В=1, ложно при А=2, В=10.


1. В языке Pascal имеется две логических величины: TRUE (истина) и FALSE (ложь). Они занимают в памяти по 1 байту.


2. В разделе описаний:

CONST

T: TRUE;

F1, LS : FALSE;

VAR L1, L4: BOOLEAN;

В разделе операторов такой переменной может быть присвоено значение логической константы, например, L1:= TRUE; L4:=L1.

Если справа в операторе присваивания стоит арифметическое или логическое выражение, то получим логическое значение: истинно данное выражение или ложно.


3. Операции.

Для сравнения данных предусмотрены следующие операции отношений:

< (меньше), <= (меньше или равно), = (равно), <> (не равно), > (больше),

>= (больше или равно).

Пример:

а) 6=2 результат - FALSE,

б) А
в) С=4*Т результат FALSE при С=5 и Т=1.


Задание 1: определить, какая информация будет выведена на экран при выполнении программы.

PROGRAM LOG1;

CONST A=2; B:=6;

VAR L1, L2 : BOOLEAN;

BEGIN

L1:=A<>B; L2:= A+B<4;

WRITELN(‘Ответ1 = ‘, L1); WRITE(‘Ответ2 = ‘, L2)

END.

4. В языке Pascal, как и в математической логике, имеются специальные логические операции:

OR (или) логическое сложение, дает ложный результат только тогда, когда оба операнда ложны, в остальных случаях результат — истина.

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

NOT(не) — логическое отрицание, дает истинный результат, когда выражение ложно и наоборот.

Таблица истинности логических операций


А

B

A OR B

A AND B

NOT A

TRUE

TRUE

TRUE

TRUE

FALSE

TRUE

FALSE

TRUE

FALSE

FALSE

FALSE

TRUE

TRUE

FALSE

TRUE

FALSE

FALSE

FALSE

FALSE

TRUE


Правила вычислений логических выражений.

1. Приоритет операций:

1) NOT

2) *, /, DIV, MOD, AND

3) +, — , OR

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

2. Допускается использовать только круглые скобки.

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

Примеры.

1. D:=(A>5) OR (C=3) при A=10, C=1 D= TRUE,

при A=2, C=1 D=FALSE,

при A=2, C=3 D=TRUE .

2. N:=(A>5) AND (C=3) при A=10, C=3 N= TRUE,

при A=2, C=3 N= FALSE,

при A=12, C=2 N= FALSE.

3. P:=NOT(A=2) при A=5 P= TRUE,

при А=2 Р= FALSE.


Задание 2: Определить результаты логических выражений: при А=2, В=8, С=5.
  1. P:=(A*B) <= C
  2. P:=(A+C) <> 45
  3. P:=(A>0) OR (B<7)
  4. P:=(A<3) OR (B>A+6)
  5. X:=NOT(A>3) AND (B=A+6)
  6. D:=(A>3) AND (B=A+6) OR NOT(C=4)
  7. P:=(A<>2) OR (B>=A+6) AND (C>A+1)
  8. X:=(A<3) AND (B=A+6)
  9. D:=(A>3) AND (B=A+6) OR NOT(C=4) OR NOT(B=7)
  10. X:=(A<3) AND (B=A+6) AND (C=A+3) OR (B<>A+C+1)

Задача: Верно ли что треугольник с углами А и В прямоугольный?

PROGRAM LOG2;

VAR А, В, C: INTEGER;

L : BOOLEAN;

BEGIN

WRITELN(‘Введите величины углов в градусах ‘);

READ(A,B);

WRITELN;

C:=180-(A+B);

L:=(A=90) OR (B=90) OR (C=90);

WRITELN(‘Треугольник с углами А и В прямоугольный? ‘, L);

END.


Задачи для самостоятельного решения

  1. Даны стороны прямоугольника а и в. Найти его площадь S. Выяснить больше ли данная площадь числа 20 или нет (True или False).
    Данные а=8, в=3; а=5, в=3.
  2. Дан больший угол треугольника А в градусах. Определить, верно ли, что треугольник остроугольный? Данные А=90; А=100, А=60.
  3. Дан больший угол треугольника А в градусах. Определить, верно ли, что треугольник тупоугольный? Данные А=90; А=100, А=60.
  4. Ввести число А. Определить, верно ли, что оно больше числа 50.
    Данные А=90; А=50, А= - 10.
  5. Ввести число А. Определить, верно ли, что оно меньше числа 100.
    Данные А=190; А=100, А= - 10.
  6. Ввести число А. Определить, верно ли, что оно равно числу 27.
    Данные А=90; А=27, А= - 10.