Iii. Логический тип boolean
Вид материала | Документы |
СодержаниеAND (и) — логическое умножение Таблица истинности логических операций WRITELN(‘Треугольник с углами А и В прямоугольный? ‘, L); END |
- § Логический (Булевый) тип данных. Основные сведения, 48.61kb.
- Логический тип классификация: стандартный, простой, порядковый тип. Стандартное имя, 50.19kb.
- Ортопедической стоматологии, 200.57kb.
- Операции, определенные над логическими переменными, 82.8kb.
- Урок n 19, 204.36kb.
- Iii. Продукия, ее особенности 6 III описание продукции 6 III применяемые технологии, 2464.73kb.
- Аналитический доклад, 278.28kb.
- Логический атомизм, имея немного приверженцев в наши дни, был ведущим течением в аналитической, 1925.82kb.
- В. А. Суровцев логический атомизм: источники и перспективы одной коллизии, 287.46kb.
- Методические указания для подготовки к госэкзамену по истории зарубежной культуры Вопрос, 396.76kb.
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.
- P:=(A*B) <= C
- P:=(A+C) <> 45
- P:=(A>0) OR (B<7)
- P:=(A<3) OR (B>A+6)
- X:=NOT(A>3) AND (B=A+6)
- D:=(A>3) AND (B=A+6) OR NOT(C=4)
- P:=(A<>2) OR (B>=A+6) AND (C>A+1)
- X:=(A<3) AND (B=A+6)
- D:=(A>3) AND (B=A+6) OR NOT(C=4) OR NOT(B=7)
- 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.
Задачи для самостоятельного решения
- Даны стороны прямоугольника а и в. Найти его площадь S. Выяснить больше ли данная площадь числа 20 или нет (True или False).
Данные а=8, в=3; а=5, в=3.
- Дан больший угол треугольника А в градусах. Определить, верно ли, что треугольник остроугольный? Данные А=90; А=100, А=60.
- Дан больший угол треугольника А в градусах. Определить, верно ли, что треугольник тупоугольный? Данные А=90; А=100, А=60.
- Ввести число А. Определить, верно ли, что оно больше числа 50.
Данные А=90; А=50, А= - 10.
- Ввести число А. Определить, верно ли, что оно меньше числа 100.
Данные А=190; А=100, А= - 10.
- Ввести число А. Определить, верно ли, что оно равно числу 27.
Данные А=90; А=27, А= - 10.