Простые операторы
Лекция 17. Операторы языка Turbo Pascal
Порядок вычисления выражений
Вычисление значений выражений выполняется в определенном порядке. Начинается вычисление с определения переменных и констант, входящих в выражение. Они являются основой для дальнейших вычислений. Дальнейшие действия выполняются в соответствии с их приоритетами. Так, в первую очередь вычисляются выражения, заключенные в круглые скобки. Для любых двух вложенных друг в друга пар круглых скобок вычисляется сначала внутреннее выражение, а затем внешнее. Далее вычисляются значения входящих в выражение функций и т.д. Приоритеты всех действий, выполняемых при вычислении выражений, приведены в Таблица 16.5.
Таблица 16.5. Приоритеты действий при вычислении выражений
Группа | Тип действий | Операции или элементы |
Вычисления в круглых скобках | ( ) | |
Вычисления значений функций | Функции | |
Унарные операции | @, not, унарный +, унарный - | |
Операции типа умножения | *, /, div, mod, and, shl, shr | |
Операции типа сложения | +, -, or, xor | |
Операции отношения | =, <>, <, >, <=, >=, in |
Следует иметь в виду, что в пределах одного и того же приоритета действия не обязательно выполняются слева направо. В целях оптимизации программы компилятор может нарушить этот порядок вычисления. Исключение составляют укороченные логические вычисления логических выражений, где вычисления всегда выполняются слева направо.
Вопросы:
1. Простые операторы
2. Структурированные операторы
Литература:
1. [6], с. 24-31.
2. [7], с. 99-118.
Операторы языка описывают некоторые алгоритмические действия, которые необходимо выполнить для решения задачи. Тело программы можно представить как последовательность операторов, образующих выражения. Следующие друг за другом операторы разделяются точкой с запятой.
Все операторы языка Паскаль можно разделить на две группы: простые и структурированные.
Простыми являются те операторы, которые не содержат в себе других операторов. К ним относятся:
оператор присваивания;
обращение к процедуре;
оператор безусловного перехода GOTO;
пустой оператор.
Оператор присваивания (“:=”)
Назначение. С помощью этого оператора переменной присваивается значение выражения.
Формат записи:
<переменная> : = <выражение>).
<Переменная> и <выражение> должны иметь одинаковый тип (кроме "вещественному типу можно присвоить целочисленный");
Не следует путать оператор присваивания (“:=”)с операцией сравнения (“=”);
Пример: А := 5*х-6.
Оператор безусловного перехода (“Goto”)
Назначение. Оператор безусловного перехода позволяет изменить последовательный порядок выполнения операторов и перейти к выполнению оператору (операторов), перед которым установлена метка.
Формат записи:
Goto <метка> .
Перед использованием метка должна быть объявлена в разделе описания меток;
Допускается переход к <метке> внутри одного блока.
Пример: If x<>0 then y:=a/x else goto 1;