Инструкция присваивания
выполняется следующим образом:
1. Сначала вычисляется
значение выражения, которое находится справа от символа инструкции присваивания.
2. Затем вычисленное
значение записывается в переменную, имя которой стоит слева от символа инструкции
присваивания.
Например, в результате
выполнения инструкций:
i:=0; — значение переменной i
становится равным нулю;
а:=b+с; — значением переменной
а будет число, равное сумме значений переменных ь и с;
j :=j+1; — значение переменной
j увеличивается на единицу.
Инструкция присваивания
считается верной, если тип выражения соответствует или может быть приведен к
типу переменной, получающей значение. Например, переменной типа real можно присвоить
значение выражения, тип которого real или integer, а переменной типа integer
можно присвоить значение выражения только типа integer.
Так, например, если
переменные i и п имеют тип integer, а переменная d — тип real, то инструкции
i:=n/10;
i:=1.0;
неправильные, а инструкция
d:=i+1;
правильная.
Во время компиляции
выполняется проверка соответствия типа выражения типу переменной. Если тип выражения
не соответствует типу переменной, то компилятор выводит сообщение об ошибке:
Incompatible
types ... and ...
где вместо многоточий
указывается тип выражения и переменной. Например, если переменная п целого типа,
то инструкция n: = m/2 неверная, поэтому во время компиляции будет выведено
сообщение :
Incompatible
types 'Integer' and.'Extended'.
Знаете ли Вы, что "гравитационное линзирование" якобы наблюдаемое вблизи далеких галактик (но не в масштабе звезд, где оно должно быть по формулам ОТО!), на самом деле является термическим линзированием, связанным с изменениями плотности эфира от нагрева мириадами звезд. Подробнее читайте в FAQ по эфирной физике.