ОПЕРАТОР ПРИСВАИВАНИЯв Паскале обозначается сочетанием двух символов«:=»и служит для выполнения следующих действий:
А) для присваивания начального значения переменной, например,
Х:=0; Z:=2.145; L:=false; C:=’Вася’;
Б) для изменения значения переменной, например,
X:=X+1; Z:=Z-0.005;
В) для записи в переменную результата вычисления по формуле, например,
S:=S0+V*T; Y:=(A*X+B)/sqr(C*X +2*D);
В качестве переменной может быть простая переменная, элемент массива. В формуле правая часть – это выражение, в котором переменные, константы и функции связываются символами операций.
В зависимости от типов переменных, констант, функций и операций над нимиразличаются выражения арифметические, логические и строковые. Результатом вычисления по формуле является значение соответствующего типа: для арифметического выражения – целое или вещественное число, для логического выражения – значения False или True, для строкового – последовательность символов, заключенных в апострофы ‘значение строковой переменной’. Логические выражения играют большую роль в программировании, так как они позволяют формулировать в задачах условия типа «если…то…», «до тех пор пока…», «выполнять, пока не…». Логические выражения могут включать в себя только логические переменные, связанные логическими операциями, например, not (A and B) or C), а также содержать арифметические или строковые выражения, например, в выражениях отношения:
(А+C) >=(D/F), Х<3.5, P=’’.
Последнее выражение представляет собой условие «переменная P равна пустой строке».
Выражения типа отношения являются удобной и компактной формой записи условий определения областей допустимых решений при графической интерпретации задач. Так, например, задание на плоскости координат (X,Y) области, ограниченной окружностью
R2 = X2 + Y2 , то есть задание всех точек круга, можно записать в виде неравенства R2 >= X2 + Y2 . Описание полуплоскости, лежащей справа от прямой Y=X, будет иметь вид Y<=X. Логическое умножение неравенств (R2 = X2 + Y2 )and (Y<=X) определяет пересечение круга и полуплоскости (см. рис. ).
Операции в выражениях имеют определенный приоритет (старшинство) выполнения – см. таблицу ниже. Поэтому для изменения естественного порядка выполнения операций в языке Паскаль используются круглые (и только круглые) скобки. Сравните, например, эти выражения:
1) A*B-C/D*E и A*B-C/(D*E)
2) X1 and not X2 or not X1 and not X2 и
X1 and not X2 or not (X1 and not X2)
В первом примере при Е=0 левое выражение равно А*В, а значение для правого выражения не существует, так как деление на ноль невозможно. Во втором примере после преобразования первое выражение равно not X2, а второе выражение равно логическому true.
Таблица приоритетов арифметических и логических операций, определяющих порядок их выполнения в бесскобочных выражениях или в выражениях внутри скобок:
Приоритет операций
Операции
Not
And, *, /, div, mod
Or, Xor, +, -
Операции отношения >,<,>=,<=,=,<>
Примечание: операции, имеющие одинаковые приоритеты, выполняются последовательно, в соответствии с порядком записи в формуле.
Программа на любом языке – это последовательность операторов, выполнение которых обеспечивает решение задачи. Последовательность операторов, выполняемых компьютером в порядке их следования в программе, называется линейным участком программы.Линейный участок, как правило, включает операторы присваивания и операторы вызова процедур. Однако такая линейная последовательность действий может нарушаться:
1. из-за необходимости разветвления программы по некоторому условию, для чего в языках программирования предусматриваются условные операторы (IF,CASE);
2. из-за необходимости повторного (неоднократного) выполнения линейного участка программы, что обеспечивается применением операторов цикла (FOR, WHILE, REPEAT).