Лекция: Оператор присваивания.
Операторы языка ПАСКАЛЬ можно разделить на простые и сложные. Простые операторы не содержат внутри себя других операторов. Сложные (структурные) операторы представляют собой конструкции, содержащие простые операторы. К простым операторам в языке ПАСКАЛЬ относятся операторы присваивания, перехода, пустой оператор, операторы ввода и вывода; к сложным — составной и условный операторы, риторы цикла, оператор выбора (варианта), оператор присоединения в записях.
Рассмотрим перечисленные операторы, но не в указанной классификации, а в последовательности
изложения программирования от простых задач до сложных.
Оператор присваивания — основной оператор любого языка программирования. Общая форма записи оператора:
V: = A
Здесь V—имя переменной; «: =» — знак присваивания; А — выражение. Данный оператор вычисляет значение выражения А, стоящего справа от знака операции присваивания :=, и присваивает полученное значение переменной V, стоящей слева.
Следует обратить внимание на разницу между знаком операции присваивания «:=» и обычным знаком равенства «=». Это различие заключается не только в форме, но и в содержании. Например, в обычной математической записи выражение Х = Х + 2 является неверным. Однако запись оператора присваивания X: = X + 2 правильна и означает следующее: к текущему значению переменной X (пусть до выполнения оператора оно было равно 5) прибавляется число 2, и после выполнения данного оператора значение переменной X будет равно числу 7.
В частных случаях выражение в правой части оператора присваивания может принимать значение константы, имени переменной или Имени функции. Например:
Т:= 527.475;
М:=ТЕМП;
Y:= SQRT(X);
Оператор присваивания применим не только к арифметическим, но и к логическим и символьным данным. Например, если переменные L, M и N описаны как логические, то можно записать
L: =M AND N
Следовательно если M – TRUE, а N – FALSE, то логическая переменная L получит значение FALSE.
При использовании оператора присваивания, необходимо следить, чтобы переменная в левой части и выражение в правой части оператора были одного и того же типа
VAR
D: REAL
То оператор
D: =’7’;
ошибочен, так как в правой части оператора записана константа символьного типа. При трансляции этого оператора будет зафиксирована ошибка, и программа выполняться с такой ошибкой не будет.
Неверен также отрезок фрагмента программы
VAR A, B, C, D: REAL;
…
A: = (B<C) AND (D>C);
…
так как выражение в правой части оператора логического типа, а переменная А – действительного типа.
Из этого общего правила существует одно исключение. Разрешается при целочисленном выражении использовать переменную действительного типа в левой части оператора присваивания. В этом случае значение вычисленного выражения будет преобразовано в действительный тип. Пусть, например,
A и B – переменные целого типа, причем A=6. а B=5. Пусть переменная С описана как переменная действительного типа. Тогда в результате выполнения оператора
C: = A*B
значение выражения целого типа A*B, равное 30, будет преобразовано в действительный тип.
Примеры оператора присваивания
Y: = A+ROUND(B/3)*2;
SUM: = SUM+X;
C5: = 2*K-SIN(PI/4-X);