
- •Глава 2. Основные понятия языка
- •2.1. Алфавит
- •2.2. Базовые элементы языка
- •2.3. Структура программы
- •2.4. Синтаксические диаграммы
- •2.5. Вопросы для самоконтроля
- •Глава 3. Данные
- •3.1. Данные целого типа
- •Var имя1, имя2,...: integer;
- •Var a,zet,z1 : integer;
- •3.2. Данные вещественного типа
- •Var имя1, имя2,...: real;
- •3.3. Данные логического типа
- •Var имя1, имя2,...: boolean;
- •3.4. Данные символьного типа
- •Var имя1, имя2, ... : char;
- •3.5. Данные перечислимого типа
- •3.6. Данные ограниченного типа
- •3.7. Вопросы для самоконтроля
- •Глава 4. Выражения
- •4.1. Стандартные функции
- •4.2. Арифметические выражения
- •4.2.1. Правила записи арифметических выражений
- •4.2.2. Порядок вычисления арифметических выражений
- •4.3. Логические выражения
- •4.3.1. Операции отношения
- •4.3.2. Запись логических выражений
- •4.3.3. Последовательность вычисления логических выражений
- •4.4. Вопросы для самоконтроля
4.3.2. Запись логических выражений
При записи логических выражений следует соблюдать следующие правила.
1) Выражения отношения, входящие в состав логических выражений, заключаются в круглые скобки.
Пример 4.8
(а + b > 5.0) and (x <= y).
2) Две логические операции нельзя ставить рядом, за исключением тех случаев, когда одной из операций является операция not.
Пример 4.9
(a > 3) and (b = a + 6) or not (c = 4)
3) Если операндами логического выражения являются логические константы или переменные, то между ними и символом логической операции нужно ставить пробелы.
Пример 4.10
L1 and (a = b) or not false
4.3.3. Последовательность вычисления логических выражений
Результат вычисления логического выражения представляет собой логическую константу. Поэтому логическое выражение может принять одно из двух значений - true или false. Результат вычисления простейших выражений приведён в таблице.
Более сложные логические выражения вычисляются с учетом приоритетов отдельных логических операций. Наивысшим приоритетом обладает операция not - она выполняется в первую очередь. Далее выполняется операция and и, наконец, операция or. Операции одного приоритета выполняются слева направо. Приоритет операции или группы операций можно повысить, заключив ее в круглые скобки.
Значения операндов |
Результата выполнения операции |
||||
a |
b |
not a |
a and b |
a or b |
|
false |
false |
true |
false |
false |
|
false |
true |
true |
false |
true |
|
true |
false |
false |
false |
true |
|
true |
true |
false |
true |
true |
Пример 4.11
Определить последовательность выполнения операций и значение выражения, приведённого в примере 4.9, при а=2, b=8, с=5.
Операции будут выполнены в такой последовательности:
а) операция отношения ( а > 3 ), результат - false, т. к. 2 < 3;
б) операция отношения b=a+6, результат - true, т. к. а = 2, b = 8;
в) операция отношения с = 4, результат - false, т. к. с = 5;
г) логическая операция not ( c=4 ), результат - true;
д) логическая операция ( a > 3 ) and ( b=a+6 ) эквивалентна false and true (см. пункты а) и б)), результат - false;
е) логическая операция or над результатами выполнения операции and и операции not, т. е. false or true, результат true;
Таким образом, окончательным результатом вычислений будет логическая константа true.
4.4. Вопросы для самоконтроля
Что представляют собой стандартные функции, и каковы правила обращения к ним?
Можно ли записать обращение к стандартной функции в виде cos (200 )?
Что представляет собой арифметическое выражение.
Каковы правила записи арифметических выражений?
В каком порядке вычисляются арифметические выражения?
Что является результатом вычисления арифметического выражения, как определяется тип результата?
Что представляет собой логическое выражение?
Какие операнды и логические операции могут входить в состав логического выражения?
Какова структура выражения отношения?
Что может выступать в качестве операндов выражения отношения?
В какой последовательности вычисляются логические выражения?
Можно ли в выражении использовать квадратные или фигурные скобки?