В любом из перечисленных случаев
- выражение с вызовами функций (например, y:=sin(x) );
- логическое выражение (например, flag1 and (x < val2) );
- комбинированное выражение (например, y:=3-sin(2*x) ).
В любом из перечисленных случаев выполнение оператора присвоения происходит по стандартной схеме:
- получение значения выражения (вычисление) справа от знака присвоения;
- проверка соответствия типа полученного значения и переменной;
- размещение значения в ячейке памяти, закреплённой за переменной.
Следует отметить, что перечисленные действия происходят не одновременно, а последовательно. Начало следующего шага следует за окончанием предыдущего.
Не следует путать логический оператор «=» проверки равенства левой и правой частей выражения с оператором присвоения «:=».
На рис. 1 приведены примеры работы оператора присвоения. На рисунках обозначены переменные, связанные с ними ячейки памяти и их содержимое до и после выполнения оператора присвоения.
![]() |
Рис. 1. Иллюстрации работы оператора присвоения
Из рисунка видно, что оператор присвоения, по обе стороны которого указаны переменные, создаёт копию значения правой переменной в левой. Кроме того, если в выражении справа присутствует переменная, указанная слева, вычисление выражения происходит относительно старого
значения переменной.
В ряде случаев возникает необходимость обменять
переменные значениями. В языке Pascal нет оператора, позволяющего это сделать краткой записью. Наиболее рациональный способ сделать это заключается во введении третьей вспомогательной переменной.
Допустим, требуется однотипные переменные A и B обменять значениями. Вспомогательная переменная C должна иметь тот же тип, что A и B. Схема обмена значениями представлена на рис. 2.
Forekc.ru
Рефераты, дипломы, курсовые, выпускные и квалификационные работы, диссертации, учебники, учебные пособия, лекции, методические пособия и рекомендации, программы и курсы обучения, публикации из профильных изданий