Вы используете статический массив, размерность которого указывается изначально, и она не изменится на протяжении всей программы. Программа выдает ошибку, тк [1..n] не очень указывает рамки. N должна объявляться не в var, как переменна, а перед, как константа const.
Результат:
const n=5;
var z: array [1..n] of integer;
Существует еще динамический массив, который может менять размерность в процессе работы программы. Советую самостоятельно изучить материал в полном объёме.