Математический факультет
Вид материала | Документы |
СодержаниеЛогические типы |
- Клименко Алексей Владимирович Образование 2001-2006: Механико-математический факультет, 41.65kb.
- Программа вступительных испытаний по физике москва, 138.12kb.
- Механико-математический факультет магистратура, 328.27kb.
- Цель образовательной программы углубление, систематизация и обобщение знаний по математике,, 5.89kb.
- П. Г. Демидова Математический факультет. Реферат, 227.26kb.
- Н. П. Огарева математический факультет кафедра дифференциальных уравнений рабочая программа, 200.47kb.
- Г. В. Плеханова Экономико-математический факультет, факультет Информатики Дисциплина:, 80.62kb.
- Математический факультет; математическое обеспечение и администрирование информационных, 394.55kb.
- Утверждаю, 123.18kb.
- Математический факультет, 669.04kb.
Логические типы
В Object Pascal данные логического (булева) типа могут принимать одно из двух значений: true (истина) или false (ложь). Логические типы, определённые в Object Pascal:
-
Тип
Размер (в байтах)
Boolean
1
ByteBool
1
WordBool
2
LongBool
4
Основным логическим типом в Delphi 5 является Boolean. Остальные типы нужны для совместимости с логическими данными, используемыми в Windows и некоторых других системах программирования, например Visual C.
В логических выражениях можно использовать логические операции: not (отрицание), and (логическое И ), or (логическое ИЛИ), xor (логическое исключающее ИЛИ). Результат применения этих операций к операндам логического типа представлен в следующей таблице.
-
X
Y
X and Y
X or Y
X xor Y
Not X
false
false
false
false
false
true
false
true
false
true
true
true
true
false
false
true
true
false
true
true
true
true
false
false
При записи логических выражений нужно помнить, что первой выполняется операция not, затем and, потом or и xor. Операции отношения выполняются в последнюю очередь.
Рассмотрим пример. Определить значение выражения:
(-3>=5) or not (7<9) and (0<=3)
Сначала выполняются операции в скобках слева направо:
(false) or not (true) and (true)
Затем not, and, or:
false or false and true false or false false
Таким образом, значение данного выражения – false.
Логические поразрядные операции предназначены для поразрядной обработки целочисленных операндов, представленных в двоичном виде. Такими операциями являются поразрядные отрицание (not), и (and), или (or), исключающее или (xor), а также поразрядные сдвиг влево (shl) и сдвиг вправо (shr). Расмотрим пример. Пусть переменные a и b типа byte имеют значения 3 и 5 соответственно. В двоичном представлении эти числа будут иметь вид : 00000011 и 00000101. Вычислим a xor b. Операция xor будет применяться поразрядно, т.е. к каждой паре чисел, стоящих в одинаковых позициях. Результат можно определить при помощи приведённой выше таблицы, если мысленно заменить 0 словом false, а 1 – словом true. Получим 00000110 = 6 (10). Операции shl и shr сдвигают значение переменной влево или вправо на указанное количество битов (например a shl 1 – сдвиг влево на 1 бит). При этом начальные или конечные биты теряются, а вновь появившиеся биты содержат нулевые значения. Это эквивалентно умножению на 2 в степени, равной количеству разрядов смещения.
Пример 4. Присвоить логической переменной t значение следующего логического выражения: натуральное число n при умножении на 6 заканчивается на 2, а при умножении на 7 заканчивается на 4.
var t : boolean; n : integer;
begin
readln(n);
t:=(n*6 mod 10=2) and (n*7 mod 10=4) ;
writeln(t);
readln
end.
Если ввести, например, число 32, то ответ получится true, а если ввести число 17, то получится false.
Задачи.
Присвоить логической переменной t значение следующего логического выражения:
16. Целое число x чётно и отрицательно.
17. Хотя бы одно из трёх целых чисел x, y, z равно 0.
18. Из двух целых чисел только одно кратно 3.
19. Сумма двух первых цифр четырёхзначного целого числа x равна сумме двух его последних цифр.
20. Цифра 5 входит в десятичную запись целого трёхзначного числа x.
21. Вещественное число x принадлежит отрезку [2, 5].
22. Среди цифр целого трёхзначного числа x есть одинаковые.
23. Четырёхзначное целое число n является палиндромом.
24*. Среди первых трёх цифр из дробной части заданного положительного вещественного числа х есть цифра 0.