Операторы Pascal
Под операторами в языке Паскаль подразумевают только описание действий. Операторы отделяются друг от друга только точкой с запятой. Если оператор стоит перед end
, until
или else
, то в этом случае точка с запятой не ставится.
Оператор присваивания
Общий вид:
v := a;
здесь v – переменная, a
– выражение, :=
- операция присваивания. Выражение a
может содержать константы, переменные, названия функций, знаки операций и скобки.
Пример: f := 3 * C + 2 * sin(x);
Вид выражения однозначно определяет правила его вычисления: действия выполняются слева направо с соблюдением следующего старшинства (в порядке убывания):
- not;
- *, /, div, mod, and;
- +, -, or;
- =, <, >, <>, <=, >=, in.
Любое выражение в скобках вычисляется раньше, чем выполняется операция, предшествующая скобкам.
Присваивание допускается для переменных всех типов, за исключением типа файл.
В операции v := a
переменная v и выражение a
должны иметь один и тот же тип, а для интервального типа – одно и то же подмножество значений.
Примечания. Разрешается присваивать переменной типа real
выражение типа integer
. Нельзя присваивать переменной типа integer
выражение типа real
.
Составной оператор
Если при некотором условии надо выполнить определенную последовательность операторов, то их объединяют в один составной оператор.
Составной оператор начинается ключевым словом begin
и заканчивается словом end
. Между этими словами помещаются составляющие операторы, которые выполняются в порядке их следования. После end ставится точка с запятой, а после begin
– только пробелы (либо комментарий).
begin
i := 2;
k := i / 5
end;
Слова begin
и end
играют роль операторных скобок. Тело самой программы также имеет вид составного оператора. После последнего end
программы ставится точка. Нельзя извне составного оператора передавать управление внутрь него.
Порядок выполнения операций
В сложных выражениях порядок операций определяется их приоритетом. Операции одного приоритетного уровня выполняются слева направо. Порядок операций можно изменить, воспользовавшись круглыми скобками. Значения функций вычисляются раньше, чем выполняются другие операции. Приоритетные уровни операций следующие (по убыванию приоритета):
- Одноместные (унарные) операции: +, -, not.
- Мультипликационные операции: *, /, div, mod, and.
- Аддитивные операции: +, -, or, xor.
- Операции отношения: <, <=, >, >=, =, <>.