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



         

4. Манипуляции переменными в языке Pascal - часть 2


-         выражение с вызовами функций (например, y:=sin(x) );

-         логическое выражение (например, flag1 and (x < val2) );

-         комбинированное выражение (например, y:=3-sin(2*x) ).

В любом из перечисленных случаев выполнение оператора присвоения происходит по стандартной схеме:

-         получение значения выражения (вычисление) справа от знака присвоения;

-         проверка соответствия типа полученного значения и переменной;

-         размещение значения в ячейке памяти, закреплённой за переменной.

Следует отметить, что перечисленные действия происходят не одновременно, а последовательно. Начало следующего шага следует за окончанием предыдущего.

Не следует путать логический оператор «=» проверки равенства левой и правой частей выражения с оператором присвоения «:=».

На рис. 1 приведены примеры работы оператора присвоения. На рисунках обозначены переменные, связанные с ними ячейки памяти и их содержимое до и после выполнения оператора присвоения.

Рис. 1. Иллюстрации работы оператора присвоения

Из рисунка видно, что оператор присвоения, по обе стороны которого указаны переменные, создаёт копию значения правой переменной в левой. Кроме того, если в выражении справа присутствует переменная, указанная слева, вычисление выражения происходит относительно старого

значения переменной.

В ряде случаев возникает необходимость обменять

переменные значениями. В языке Pascal нет оператора, позволяющего это сделать краткой записью. Наиболее рациональный способ сделать это заключается во введении третьей вспомогательной переменной.

Допустим, требуется однотипные переменные A и B обменять значениями. Вспомогательная переменная C должна иметь тот же тип, что A и B. Схема обмена значениями представлена на рис. 2.




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