Выражения – конструкция, задающая правила вычисления некоторого значения.
Выражения состоят из операторов, переменных, констант, операций и функций.
Выражения вычисляются в порядке его записи слева на право с учетом старшинства операций и круглых скобок.
В Паскале принято следующее старшинство операций:
*, /, div, mod, and
Аддитивные операции.
+, -, or
Операции отношения и оператор in.
Если в выражение входит имя функции, с указанными в круглых скобках параметрами, то значение вычисляется прежде чем оно будет использоваться.
Выражение будет называться арифметическим, если его значение – число; булевским, если - истина или ложь; символьным – символ или строка символов.
Для булевских выражений характерно, что их значение может быть известно до конца вычисления.
Во избежание ошибок программист должен позаботиться, чтобы остальная часть выражения имела смысл, независимо от значения булевской части.
Понятие оператора. Раздел оператор. Простые и сложные операторы.
Оператором называется конструкция языка, выполняющая алгоритмические действия.
Т.е. это конструкция, при выполнении которой изменяются значения переменных или изменяется порядок выполнения программы.
Все операторы делятся на простые и сложные. Простые операторы не содержат в качестве составляющих частей другие операторы, сложные – содержат.
Простые операторы:
- присваивания,
- процедуры,
- пустой оператор,
- перехода.
Сложные операторы:
- составной оператор,
- операторы цикла,
- выбирающие операторы,
- операторы присоединения.
Оператор присваивания. Пустой оператор. Составной оператор.
Оператор присваивания предназначен для замены значения текущей переменной новым.
|
Оператор имеет следующий вид:
<переменная>:=<выражение>
<имя функции>:=<выражение>
Оператор осуществляется в следующей последовательности:
1. Вычисляется значение выражения стоящее в правой части
2. Результат присваивается переменной.
Тип переменной должен совпадать с типом значения выражения.
Составной оператор представляет собой операторы, заключенные в операторные скобки begin-end.
Пустой оператор не отображается, никаких действий не выполняет, но может быть помечен.
Составной оператор предусматривает выполнение входящих в него операторов в порядке их следования.
Он позволяет объединить несколько операторов в один.
Условный оператор if.
Существует две формы условного оператора:
1. if <выражение> then <операторы>.
2. if <выражение> then <операторы> else <операторы>.
Между if и then должно находится булевское выражение.
Порядок выполнения:
1. Вычисляется значение булевского выражения.
2. Если истинно, то выполняются операторы после then.
3. В противном случае переходит к следующему оператору программы либо к операторам идущим после else.
25. Оператор вариантов.
Этот оператор имеет вид:
case <выражение> of
<список меток варианта 1>: <оператор1>;
<список меток варианта 2>: <оператор2>;
…;
<список меток варианта 3>: <оператор3>;
end;
Case – селектор выбора и может быть выражением любого скалярного типа, кроме вещественного.
Список меток варианта может содержать одну или несколько меток, в качестве которых могут использоваться константы, тип которых совпадает с типом селектора.
|
Метки в списке разделяются запятыми.
Оператор выполняется в следующей последовательности:
- вычисляется значение селектора,
- в порядке сверху вниз осуществляется поиск варианта, список меток которых содержит значение селектора,
- как только находится такой вариант, то выполнятся оператор, входящий в него,
- выход из оператора выбора
Если искомый вариант ответа не найден, то действие в стандартном Паскале не определено и зависит от реализации.
Операторы цикла while и repeat.
Оператор цикла предназначен для многократного выполнения заданной последовательности операторов.
К таким операторам относятся:
- оператор цикла с предусловием (while)
- оператор цикла с постусловием (repeat)
- оператор цикла с параметром (for)
Оператор цикла с предусловием
while <выражение булевского типа> do <оператор>;
Порядок выполнения:
- вычисляется значение <выражения булевского типа>, стоящего после while;
- если true, тогда выполняется оператор после do, после чего осуществляется переход к началу цикла;
- повторяется до тех пор, пока значение не станет false, после этого осуществляется выход из оператора.
Совокупность многократного выполнения операторов обычно называется телом цикла.