Логический тип данных
Переменные логического типа описываются посредством идентификатора Boolean. Они могут принимать только два значения – False (ложь) и True (истина). Описываются они также в разделе описания переменных.
Var
Flag : Boolean;
Переменные логического типа обычно получают значения в результате выполнения операций сравнения и математических операций (рассматривались в предыдущем занятии), а также с помощью специфических булевых операций.
В языке Турбо Паскаль имеются логические операции, применяемые к переменным логического типа. Это операции not, and, or и хor. В этой теме Вы рассмотрите три логические операции. Обозначения и результаты этих операций приведены в таблице. Рассмотрите ее.
Значения операндов | Результат операции | |||
X | Y | not X | X and Y | X or Y |
False | False | True | False | False |
False | True | True | False | True |
True | False | False | False | True |
True | True | False | True | True |
Операция not (не) имеет один операнд и образует его логическое отрицание. Результат операции not есть False, если операнд истинен, и True, если операнд имеет значение ложь. Так,
not True False (неправда есть ложь)
not False True (неложь есть правда)
Результат операции and (и) есть истина, только если оба ее операнда истинны, и ложь во всех других случаях.
Результат операции or (или) есть истина, если какой-либо из ее операндов истинен, и ложен только тогда, когда оба операнда ложны.
Задание. Попробуйте определить значение булевых операций для высказываний:
1. Школьник на зимних каникулах остается дома или уезжает куда-либо отдыхать.
2. Филипп Киркоров является певцом и комбайнером.
3. Школьниками являются мальчики и девочки.
Придумайте и запишите в тетрадь три подобных высказывания.
Логические операции, операции отношения и арифметические операции часто встречаются в одном выражении. При этом отношения, стоящие слева и справа от знака логической операции, должны быть заключены в скобки, поскольку логические операции имеют более высокий приоритет. Вообще принят следующий приоритет операций:
• not
• and, *, /, div, mod
• or, +, -
• операции отношения.
Примечание. Логическую операцию and еще называют логическим умножением, а логическую операцию or - логическим сложением.
Кроме того, порядок выполнения операций может изменяться скобками. Например, в логическом выражении расставим порядок действий
4 3 2 1
A or B and not (A or B)
Сначала выполняется заключенная в скобки операция or, а затем операции not, and, or. Если подставить вместо переменных А и В значения True и False, то, используя уже рассмотренный порядок действий, получим значение всего выражения равное True.
Задание. Запишите в тетрадь и вычислите значения выражений при a=10, b=20, c=true, d=false:
а) (a>5) and (b>5) and (a<20) and (b<30);
b) not (a<15) or not (b<30);
c) c or d and (b=20);
Внимание! В языке Паскаль нет возможности ввода логических данных с помощью оператора read. Однако предусмотрен вывод значений переменных логического типа с помощью оператора write.
Например, после выполнения оператора write (5>2) на экран будет выведено True.
Дата добавления: 2015-05-16; просмотров: 795;