При повторном определении переменной, но уже с другим типом, 2 копии с одним именем существуют одновременно. Например в такой программе выводом будет 1 2
function sum (id, pr, n, a):
f:=array(20)
f:=1
print(f)
f[4]:=f+1
print(f[4])
Получается, что существует 2 места, где можно встретить переменную с одним и тем же именем и интерпретатор не замечает, что одна из них уже существует. Например, в такой программе
function sum (id, pr, n, a):
f:=array(20)
g:=1
g:=f
интерпретатор выдаст no such variable: f. А если добавить строчку f:=1, программа заработает
При повторном определении переменной, но уже с другим типом, 2 копии с одним именем существуют одновременно. Например в такой программе выводом будет 1 2
Получается, что существует 2 места, где можно встретить переменную с одним и тем же именем и интерпретатор не замечает, что одна из них уже существует. Например, в такой программе
интерпретатор выдаст
no such variable: f. А если добавить строчкуf:=1, программа заработает