
- •Глава 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.2.2. Порядок вычисления арифметических выражений
Выражения вычисляются с учетом приоритетов (старшинства) операций. Первыми выполняются операции, имеющие более высокий приоритет по сравнению с другими. Наивысшим приоритетом обладают обращения к стандартным функциям, затем следуют операции *, /, div, mod. Наиболее низкий приоритет имеют операции + и –.
Операции одного приоритета выполняются в направлении слева направо.
Пример 4.4
В выражении r * t * l2 – sqrt (x) / m div k первой будет выполнена операция вычисления значения функции sqrt(x). Далее порядок выполнения операций будет следующий:
r * t
r * t * l2
sqrt (x) / m
sqrt (x) / m div k.
Последней будет выполнена операция вычитания
r * t * l2 – sqrt (x) / m div k.
Приоритет операции или группы операций может быть повышен заключением их в круглые скобки. Если выражений в скобках несколько и скобки вложены друг в друга, то сначала вычисляются выражения в самых внутренних скобках.
Пример 4.5
Выражение a*( b+c * ( d + e )) будет вычислено в следующем порядке:
d + e
c * ( d + e )
b + c * ( d + e )
a * ( b + c * ( d + e ))
Результатом
вычисления арифметического выражения
является константа, тип которой
определяется типом входящих в выражение
операндов. Если в выражении присутствует
хотя бы один операнд вещественного
типа, то результатом будет вещественная
константа.
Что касается выражений, состоящих из операндов целого типа, то их результат может быть как целым, так и вещественным в зависимости от выполняемых операций.
Пример 4.6
Выражение a * b * c даст результат целого типа, если a, b, c - целые. Если хотя бы одна переменная вещественная, то результат также вещественный. Результат выражения a+b/c вещественный, т.к. операция b/c всегда дает вещественный результат.
4.3. Логические выражения
Логическое выражение представляет собой совокупность операндов, связанных между собой логическими операциями (связками). Операндами логического выражения могут служить:
логические константы;
логические переменные;
выражения отношения.
Основными логическими операциями являются:
-
Операция
Запись на TurboPascal
не (отрицание)
not
и (логическое умножение)
and
или (логическое сложение)
or
Логические операции and и or выполняются над двумя операндами, а операция not - над одним.
4.3.1. Операции отношения
Выражение отношения является простейшим логическим выражением и состоит из двух операндов и знака операции отношения между ними.
Операндами выражений отношения являются:
константы простых типов;
переменные простых типов;
обращения к системным функциям;
арифметические выражения.
-
Математическая запись
Запись на языке TurboPascal
>
>
<
<
=
=
<>
>=
<=
Результатом вычисления выражения отношения является логическая константа.
Пример 4.7
Выражение a > 1.0 принимает значение true, если а > 1 в противном случае оно принимает значение false.