Особенности компилятора ТР при обработке массивов
- Работа с элементами массива идет медленнее, чем с простой переменной
............................... k:= B[10];
i=1,n ........................ i=1,n
A[i]:=B[10]*........ A[i]:=k*........
- Если индекс задается const, то местоположение элемента определяется один раз на этапе компиляции,
Если индекс задается выражением или переменной, то местоположение элемента определяется каждый раз .
- {$R+} – устанавливает проверку всех индексов на заданные границы (устанавливают на время отладки).
{$R-} –снимает проверку (устанавливают при счете).
VAR A: array [0..9] of integer;
B:=A[10]- ошибка на этапе компил. не обнаружится.
B:=A[I+1]-индекс на этапе комп. не анализируется, если I=10 – ошибка на этапе счета.
B:=A[11]- ошибка счета.
Опция OPTIONS / COMPILER / RANGE CHECKING должна быть в активном состоянии.