Введение в Турбо Паскаль
Логический тип данных
- Описание – идентификатор boolean;
- Значения – false(ложь) и true(истина);
- Размер выделяемой памяти – 1 байт.
Пример описания переменных логического типа: Var A,d: boolean;
- Справедливы правила:
- Ord(false)=0;
- Ord(true)=1;
- False<true
- Succ(false)=true
- pred(true)=false;
- Свои значения переменные логического типа получают обычно в результате выполнения операций сравнения (отношения): «<»(меньше), «>»(больше), «<=»(меньше или равно), «>=»(больше или равно), «<>»(не равно), «=»(равно). Результат отношения равен true, если отношение удовлетворяется для значений входящих в него операндов, а false в противном случае.
- Помимо операций отношения в языке Турбо Паскаль существуют четыре логические операции, применяемые только к переменным логического типа:
Значение операнда Значение операции X Y Not X “не” отрицание X and Y “и” конъюнкция X or Y “или” дизъюнкция X xor Y «исключающее или» False False True False False False False True True False True True True False False False True True True True False True True False
- Логические операции, операции отношения и арифметические операции часто встречаются в одном выражении. Приоритет вычислений определяется расставленными скобками, а при их отсутствии принят следующий приоритет (в порядке убывания приоритета):
- NOT
- AND, *, /, DIV, MOD
- OR, XOR, +, -
- Операции сравнения, in
- Например, в логическом выражении A OR B AND NOT(А<B) сначала выполняется заключенная в скобки операция <, а затем операции NOT, AND, OR.
В языке Паскаль нет возможности ввода логических данных с помощью оператора read. Однако предусмотрен вывод значений переменных логического типа с помощью оператора write. Вычислить значение выражения not(a < 15) or not(b > 30) при a = 10, b = 20:
- (a < 15) = true;
- not(a < 15) = false;
- b > 30 = false;
- not(b > 30) = true;
not(a < 15) or not(b > 30) = true;
Пример. Напишем программу, вычисляющую значение этого выражения при любых значения переменных a и b.
- Program example_2;
- Uses crt;
- Var a, b: integer; c: boolean;
- Begin Clrscr;
- Writeln(‘Введите a и b’);
- Readln(a, b);
- c:= not(a < 15) or not(b > 30);
- writeln(‘not(a < 15) or not(b > 30) = ’, c);
- Readkey;
- End.
Назад