Изучение принципов алгоритмического программирования на языке Pascal


              

В любом из перечисленных случаев


-         выражение с вызовами функций (например, y:=sin(x) );
-         логическое выражение (например, flag1 and (x < val2) );
-         комбинированное выражение (например, y:=3-sin(2*x) ).
В любом из перечисленных случаев выполнение оператора присвоения происходит по стандартной схеме:
-         получение значения выражения (вычисление) справа от знака присвоения;
-         проверка соответствия типа полученного значения и переменной;
-         размещение значения в ячейке памяти, закреплённой за переменной.
Следует отметить, что перечисленные действия происходят не одновременно, а последовательно. Начало следующего шага следует за окончанием предыдущего.
Не следует путать логический оператор «=» проверки равенства левой и правой частей выражения с оператором присвоения «:=».
На рис. 1 приведены примеры работы оператора присвоения. На рисунках обозначены переменные, связанные с ними ячейки памяти и их содержимое до и после выполнения оператора присвоения.


Рис. 1. Иллюстрации работы оператора присвоения
Из рисунка видно, что оператор присвоения, по обе стороны которого указаны переменные, создаёт копию значения правой переменной в левой. Кроме того, если в выражении справа присутствует переменная, указанная слева, вычисление выражения происходит относительно старого
значения переменной.
В ряде случаев возникает необходимость обменять
переменные значениями. В языке Pascal нет оператора, позволяющего это сделать краткой записью. Наиболее рациональный способ сделать это заключается во введении третьей вспомогательной переменной.
Допустим, требуется однотипные переменные A и B обменять значениями. Вспомогательная переменная C должна иметь тот же тип, что A и B. Схема обмена значениями представлена на рис. 2.

Содержание  Назад  Вперед